FreeBSD Port: mpack-1.6

Paul Schmehl pauls at utdallas.edu
Tue Feb 28 19:43:00 PST 2006


--On February 28, 2006 10:10:22 PM -0500 Kris Kennaway 
<kris at obsecurity.org> wrote:

> On Wed, Mar 01, 2006 at 01:56:55PM +1100, Nik Lam wrote:
>> Hi,
>>
>> I'm having trouble running the latest mpack (1.6) on FreeBSD 5.4.
>>
>> It was installed using portupgrade.
>>
>> Whenever I try to send a file I get a No such file or directory error
>> preceded by a pipe character.
>>
>> e.g.
>>
>> > mpack -s"example" abc nik at sublimeip.com
>> | : No such file or directory
>>
>>
>> I've included most of the ktrace output below - there are references to
>> /usr/tmp/ - a directory which does not exist.
>
> Yeah, looks like it does this for some strange reason:
>
>         if (getenv("TMPDIR")) {
>             strcpy(fnamebuf, getenv("TMPDIR"));
>         }
>         else {
>             strcpy(fnamebuf, "/usr/tmp");
>         }
>
Well, this is very weird.

 /usr/ports/converters/mpack/work/mpack-1.6]# grep "TMPDIR" *
README.unix:     TMPDIR
README.unix:     TMPDIR
README.unix:      are stored in subdirectories of $TMPDIR/m-prts-$USER/
mkreadme.pl:     TMPDIR
mkreadme.pl:     TMPDIR
mkreadme.pl:      are stored in subdirectories of $TMPDIR/m-prts-$USER/
unixos.c:    if (getenv("TMPDIR")) {
unixos.c:       strcpy(buf, getenv("TMPDIR"));
unixpk.c:       if (getenv("TMPDIR")) {
unixpk.c:           strcpy(fnamebuf, getenv("TMPDIR"));
unixpk.man:.B TMPDIR
unixunpk.man:.B TMPDIR
unixunpk.man:.B $TMPDIR/m-prts-$USER/

 /usr/ports/converters/mpack/work/mpack-1.6]# grep "/tmp" *
README.unix:      Directory to store temporary files.  Default "/tmp".
README.unix:          reassembly.  Default is "/usr/tmp".   Partial messages
mkreadme.pl:      Directory to store temporary files.  Default "/tmp".
mkreadme.pl:          reassembly.  Default is "/usr/tmp".   Partial messages
mkreadme.pl:          reassembly.  Default is "/tmp" which UnixLib should do
unixos.c:       strcpy(buf, "/usr/tmp");
unixpk.c:           strcpy(fnamebuf, "/usr/tmp");
unixpk.man:Directory to store temporary files.  Default is /usr/tmp.
unixunpk.man:Directory to store temporary files.  Default is /usr/tmp.

Looks like they couldn't make up their mind what to do.

I'll submit patches in a few minutes.

Paul Schmehl (pauls at utdallas.edu)
Adjunct Information Security Officer
University of Texas at Dallas
AVIEN Founding Member
http://www.utdallas.edu/


More information about the freebsd-ports mailing list