r13314: This code has been causing problems since 1.9.x I think.
authorJeremy Allison <jra@samba.org>
Fri, 3 Feb 2006 22:10:37 +0000 (22:10 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:06:23 +0000 (11:06 -0500)
Remove check_for_pipe() - Volker was completely correct.
If it gets re-added it will be in a old open call path, not
in the generic code path.
Jeremy.
(This used to be commit 50c894a6e949d4d3579926650674f381a821a671)

source3/smbd/open.c

index f75bc55b46cae29459e7a4855d6f3391d66626e1..4b13e28f8e1318a1efca6453452b13c3cf176350 100644 (file)
@@ -73,23 +73,6 @@ int fd_close(struct connection_struct *conn,
        return fd_close_posix(conn, fsp);
 }
 
-
-/****************************************************************************
- Check a filename for the pipe string.
-****************************************************************************/
-
-static void check_for_pipe(const char *fname)
-{
-       /* special case of pipe opens */
-       char s[10];
-       StrnCpy(s,fname,sizeof(s)-1);
-       strlower_m(s);
-       if (strstr(s,"pipe/")) {
-               DEBUG(3,("Rejecting named pipe open for %s\n",fname));
-               set_saved_error_triple(ERRSRV, ERRaccess, NT_STATUS_ACCESS_DENIED);
-       }
-}
-
 /****************************************************************************
  Change the ownership of a file to that of the parent directory.
  Do this by fd if possible.
@@ -226,7 +209,6 @@ static BOOL open_file(files_struct *fsp,
                /* It's a read-only share - fail if we wanted to write. */
                if(accmode != O_RDONLY) {
                        DEBUG(3,("Permission denied opening %s\n",fname));
-                       check_for_pipe(fname);
                        return False;
                } else if(flags & O_CREAT) {
                        /* We don't want to write - but we must make sure that
@@ -292,7 +274,6 @@ static BOOL open_file(files_struct *fsp,
                        DEBUG(3,("Error opening file %s (%s) (local_flags=%d) "
                                 "(flags=%d)\n",
                                 fname,strerror(errno),local_flags,flags));
-                       check_for_pipe(fname);
                        return False;
                }