fix globbing - need NOCHECK flag
authorJan-Simon Pendry <pendry@ucbvax.Berkeley.EDU>
Thu, 7 Apr 1994 02:04:21 +0000 (18:04 -0800)
committerJan-Simon Pendry <pendry@ucbvax.Berkeley.EDU>
Thu, 7 Apr 1994 02:04:21 +0000 (18:04 -0800)
SCCS-vsn: libexec/ftpd/popen.c 8.3
SCCS-vsn: libexec/ftpd/ftpd.c 8.3

usr/src/libexec/ftpd/ftpd.c
usr/src/libexec/ftpd/popen.c

index 09dc72d..02db585 100644 (file)
@@ -12,7 +12,7 @@ static char copyright[] =
 #endif /* not lint */
 
 #ifndef lint
 #endif /* not lint */
 
 #ifndef lint
-static char sccsid[] = "@(#)ftpd.c     8.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)ftpd.c     8.3 (Berkeley) %G%";
 #endif /* not lint */
 
 /*
 #endif /* not lint */
 
 /*
@@ -1412,10 +1412,11 @@ send_file_list(whichf)
        glob_t gl;
 
        if (strpbrk(whichf, "~{[*?") != NULL) {
        glob_t gl;
 
        if (strpbrk(whichf, "~{[*?") != NULL) {
+               int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE;
 
                memset(&gl, 0, sizeof(gl));
                freeglob = 1;
 
                memset(&gl, 0, sizeof(gl));
                freeglob = 1;
-               if (glob(whichf, GLOB_BRACE|GLOB_QUOTE|GLOB_TILDE, 0, &gl)) {
+               if (glob(whichf, flags, 0, &gl)) {
                        reply(550, "not found");
                        goto out;
                } else if (gl.gl_pathc == 0) {
                        reply(550, "not found");
                        goto out;
                } else if (gl.gl_pathc == 0) {
index 1f5a0bc..9717bb2 100644 (file)
@@ -10,7 +10,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)popen.c    8.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)popen.c    8.3 (Berkeley) %G%";
 #endif /* not lint */
 
 #include <sys/types.h>
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -65,7 +65,7 @@ ftpd_popen(program, type)
        gargv[0] = argv[0];
        for (gargc = argc = 1; argv[argc]; argc++) {
                glob_t gl;
        gargv[0] = argv[0];
        for (gargc = argc = 1; argv[argc]; argc++) {
                glob_t gl;
-               int flags = GLOB_BRACE|GLOB_QUOTE|GLOB_TILDE;
+               int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE;
 
                memset(&gl, 0, sizeof(gl));
                if (glob(argv[argc], flags, NULL, &gl))
 
                memset(&gl, 0, sizeof(gl));
                if (glob(argv[argc], flags, NULL, &gl))