Revert "s3: Make the implicit reference to Protocol in is_in_path() explicit"
authorVolker Lendecke <vl@samba.org>
Mon, 23 Nov 2009 15:33:53 +0000 (16:33 +0100)
committerVolker Lendecke <vl@samba.org>
Mon, 23 Nov 2009 15:35:00 +0000 (16:35 +0100)
This reverts commit f7b4151a64d8c6851e62255a7139fd00a5fc63a3.

source3/include/proto.h
source3/include/smb_macros.h
source3/lib/util.c
source3/modules/onefs_open.c
source3/modules/vfs_preopen.c
source3/smbd/dir.c
source3/smbd/dosmode.c
source3/smbd/filename.c
source3/smbd/open.c
source3/smbd/reply.c

index 4622118542aa62b4a75385c78666c2178635bd43..9b92b0d06bf032a52d39d9cc839f10d16603c8ec 100644 (file)
@@ -1156,8 +1156,7 @@ gid_t nametogid(const char *name);
 void smb_panic(const char *const why);
 void log_stack_trace(void);
 const char *readdirname(SMB_STRUCT_DIR *p);
-bool is_in_path(const char *name, name_compare_entry *namelist,
-               enum protocol_types proto, bool case_sensitive);
+bool is_in_path(const char *name, name_compare_entry *namelist, bool case_sensitive);
 void set_namearray(name_compare_entry **ppname_array, const char *namelist);
 void free_namearray(name_compare_entry *name_array);
 bool fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type);
index 95f427c1e73d2473e2b590247b8e9c96200754f6..10ee78b3943fa980a159593144338299a302a24f 100644 (file)
@@ -79,6 +79,9 @@
 #define MAP_HIDDEN(conn)   ((conn) && lp_map_hidden(SNUM(conn)))
 #define MAP_SYSTEM(conn)   ((conn) && lp_map_system(SNUM(conn)))
 #define MAP_ARCHIVE(conn)   ((conn) && lp_map_archive(SNUM(conn)))
+#define IS_HIDDEN_PATH(conn,path)  ((conn) && is_in_path((path),(conn)->hide_list,(conn)->case_sensitive))
+#define IS_VETO_PATH(conn,path)  ((conn) && is_in_path((path),(conn)->veto_list,(conn)->case_sensitive))
+#define IS_VETO_OPLOCK_PATH(conn,path)  ((conn) && is_in_path((path),(conn)->veto_oplock_list,(conn)->case_sensitive))
 
 /* 
  * Used by the stat cache code to check if a returned
index 933b78769776c5da537ff08eb94fe0135e402d82..1ee1bdc35fd34d8c58a9e357b1096a9d43126184 100644 (file)
@@ -1666,8 +1666,7 @@ const char *readdirname(SMB_STRUCT_DIR *p)
  of a path matches a (possibly wildcarded) entry in a namelist.
 ********************************************************************/
 
-bool is_in_path(const char *name, name_compare_entry *namelist,
-               enum protocol_types proto, bool case_sensitive)
+bool is_in_path(const char *name, name_compare_entry *namelist, bool case_sensitive)
 {
        const char *last_component;
 
@@ -1689,7 +1688,7 @@ bool is_in_path(const char *name, name_compare_entry *namelist,
        for(; namelist->name != NULL; namelist++) {
                if(namelist->is_wild) {
                        if (mask_match(last_component, namelist->name,
-                                      proto, case_sensitive)) {
+                                      get_Protocol(), case_sensitive)) {
                                DEBUG(8,("is_in_path: mask match succeeded\n"));
                                return True;
                        }
index 0d786f155664a4d24de2ca8e3658cc1371beef55..fd12fff58ca484d6adf1c66a0cf074827bf2276e 100644 (file)
@@ -603,8 +603,7 @@ NTSTATUS onefs_open_file_ntcreate(connection_struct *conn,
 
        /* Ignore oplock requests if oplocks are disabled. */
        if (!lp_oplocks(SNUM(conn)) || global_client_failed_oplock_break ||
-           is_in_path(smb_fname->base_name, conn->veto_oplock_list,
-                      get_Protocol(), conn->case_sensitive)) {
+           IS_VETO_OPLOCK_PATH(conn, smb_fname->base_name)) {
                /* Mask off everything except the private Samba bits. */
                oplock_request &= SAMBA_PRIVATE_OPLOCK_MASK;
        }
index d91a03122718ca93843ba944ad0702968ac6e92a..e545901035bc1853e942565d659777fb4f69264e 100644 (file)
@@ -395,8 +395,7 @@ static int preopen_open(vfs_handle_struct *handle,
                return res;
        }
 
-       if (!is_in_path(smb_fname->base_name, state->preopen_names,
-                       get_Protocol(), true)) {
+       if (!is_in_path(smb_fname->base_name, state->preopen_names, true)) {
                DEBUG(10, ("%s does not match the preopen:names list\n",
                           smb_fname_str_dbg(smb_fname)));
                return res;
index 137048d4d45805271718d0c5b66f6b59dac04d71..5ce4a7b09945abf11f4e023cd774df471561ab0c 100644 (file)
@@ -1215,8 +1215,7 @@ bool is_visible_file(connection_struct *conn, const char *dir_path,
        }
 
        /* If it's a vetoed file, pretend it doesn't even exist */
-       if (use_veto && is_in_path(name, conn->veto_list, get_Protocol(),
-                                  conn->case_sensitive)) {
+       if (use_veto && IS_VETO_PATH(conn, name)) {
                DEBUG(10,("is_visible_file: file %s is vetoed.\n", name ));
                return False;
        }
index 928d48c3513a89250a552db68592511d6b5138d7..0f319736758d8662a8d9d16cd9427a5a4a68ad71 100644 (file)
@@ -455,8 +455,7 @@ uint32 dos_mode_msdfs(connection_struct *conn,
        /* Optimization : Only call is_hidden_path if it's not already
           hidden. */
        if (!(result & aHIDDEN) &&
-           is_in_path(smb_fname->base_name, conn->hide_list, get_Protocol(),
-                      conn->case_sensitive)) {
+           IS_HIDDEN_PATH(conn, smb_fname->base_name)) {
                result |= aHIDDEN;
        }
 
@@ -642,8 +641,7 @@ uint32 dos_mode(connection_struct *conn, struct smb_filename *smb_fname)
        /* Optimization : Only call is_hidden_path if it's not already
           hidden. */
        if (!(result & aHIDDEN) &&
-           is_in_path(smb_fname->base_name, conn->hide_list, get_Protocol(),
-                      conn->case_sensitive)) {
+           IS_HIDDEN_PATH(conn, smb_fname->base_name)) {
                result |= aHIDDEN;
        }
 
index 719ab6a3955abeba4e1fd7a1127501db92bb6c8e..5d6661df2a13d1fad1b16e42ed3c6085b55c446b 100644 (file)
@@ -780,8 +780,7 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx,
 
 NTSTATUS check_name(connection_struct *conn, const char *name)
 {
-       if (is_in_path(name, conn->veto_list, get_Protocol(),
-                      conn->case_sensitive)) {
+       if (IS_VETO_PATH(conn, name))  {
                /* Is it not dot or dot dot. */
                if (!((name[0] == '.') && (!name[1] ||
                                        (name[1] == '.' && !name[2])))) {
index 3ae6a8af293df6570091090d6609ffd4ed7168e4..911e8fde6881eb4e9a374865e962f0826c131ad7 100644 (file)
@@ -611,7 +611,7 @@ static NTSTATUS open_file(files_struct *fsp,
        fsp->is_directory = False;
        if (conn->aio_write_behind_list &&
            is_in_path(smb_fname->base_name, conn->aio_write_behind_list,
-                      get_Protocol(), conn->case_sensitive)) {
+                      conn->case_sensitive)) {
                fsp->aio_write_behind = True;
        }
        status = fsp_set_smb_fname(fsp, smb_fname);
@@ -1569,8 +1569,7 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
 
        /* ignore any oplock requests if oplocks are disabled */
        if (!lp_oplocks(SNUM(conn)) || global_client_failed_oplock_break ||
-           is_in_path(smb_fname->base_name, conn->veto_oplock_list,
-                      get_Protocol(), conn->case_sensitive)) {
+           IS_VETO_OPLOCK_PATH(conn, smb_fname->base_name)) {
                /* Mask off everything except the private Samba bits. */
                oplock_request &= SAMBA_PRIVATE_OPLOCK_MASK;
        }
index 4d7166fe9fc0c1844338d689c71f774209f0bc6d..a113a9d98261487873ab536da695238cec431073 100644 (file)
@@ -5445,8 +5445,7 @@ NTSTATUS rmdir_internals(TALLOC_CTX *ctx,
                                TALLOC_FREE(talloced);
                                continue;
                        }
-                       if(!is_in_path(dname, conn->veto_list, get_Protocol(),
-                                      conn->case_sensitive)) {
+                       if(!IS_VETO_PATH(conn, dname)) {
                                TALLOC_FREE(dir_hnd);
                                TALLOC_FREE(talloced);
                                errno = ENOTEMPTY;