Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Apr 2001 20:18:48 -0400 (EDT)
From:      Jim Weeks <jim@siteplus.net>
To:        freebsd-stable@freebsd.org
Subject:   No go with glob.3.x.patch
Message-ID:  <Pine.BSF.4.21.0104192000320.1817-100000@veager.siteplus.net>

next in thread | raw e-mail | index | archive | help
Fellows,

I still can't get the updated ftpd security patch to work.  The patch
fails with:

--------------
Patching file libexec/ftpd/ftpd.c using Plan A...
Hunk #1 succeeded at 227 with fuzz 1 (offset 38 lines).
Hunk #2 failed at 2666.
1 out of 2 hunks failed--saving rejects to libexec/ftpd/ftpd.c.rej
--------------

However, when comparing libexec/ftpd/ftpd.c with libexec/ftpd/ftpd.c.rej,
we find that the patch has been applied as is evidenced bellow.

***************
*** 2659,2664 ****
                int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE;

                memset(&gl, 0, sizeof(gl));
                freeglob = 1;
                if (glob(whichf, flags, 0, &gl)) {
                        reply(550, "not found");
--- 2666,2673 ----
                int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE;

                memset(&gl, 0, sizeof(gl));
+               gl.gl_matchc = MAXGLOBARGS;
+               flags |= GLOB_MAXPATH;
                freeglob = 1;
                if (glob(whichf, flags, 0, &gl)) {
                        reply(550, "not found");
--------------

And this from libexec/ftpd/ftpd.c

--------------
memset(&gl, 0, sizeof(gl));
                gl.gl_matchc = MAXGLOBARGS;
                flags |= GLOB_MAXPATH;
                freeglob = 1;
                if (glob(whichf, flags, 0, &gl)) {
                        reply(550, "not found");  
--------------

Now, /usr/src/lib/libc seems to make and install just fine, but
/usr/src/libexec/ftpd fails with the following error.

--------------

/usr/src/libexec/ftpd/ftpd.c:2167: for each function it appears in.)
/usr/src/libexec/ftpd/ftpd.c:2156: warning: variable `dout' might be
clobbered by `longjmp' or `vfork'
/usr/src/libexec/ftpd/ftpd.c:2157: warning: variable `dirlist' might be
clobbered by `longjmp' or `vfork'
/usr/src/libexec/ftpd/ftpd.c:2158: warning: variable `simple' might be
clobbered by `longjmp' or `vfork'
/usr/src/libexec/ftpd/ftpd.c:2159: warning: variable `freeglob' might be
clobbered by `longjmp' or `vfork'
*** Error code 1


Any ideas on what I am doing wrong?  I followed the instructions with the
updated patch to the T.

# cd /usr/src
# patch -p < /path/to/patch
# cp /usr/src/include/glob.h /usr/include/
# cd /usr/src/lib/libc
# make all install
# cd /usr/src/libexec/ftpd
# make all install

Thanks,

--
Jim Weeks



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0104192000320.1817-100000>