Have partial_dir_fname() also check if the dir is excluded
authorWayne Davison <wayned@samba.org>
Fri, 11 Feb 2005 09:58:31 +0000 (09:58 +0000)
committerWayne Davison <wayned@samba.org>
Fri, 11 Feb 2005 09:58:31 +0000 (09:58 +0000)
by the server, not just the partial file.

util.c

diff --git a/util.c b/util.c
index 9bda946..141342c 100644 (file)
--- a/util.c
+++ b/util.c
@@ -969,9 +969,17 @@ char *partial_dir_fname(const char *fname)
                fn = fname;
        if ((int)pathjoin(t, sz, partial_dir, fn) >= sz)
                return NULL;
-       if (server_filter_list.head
-           && check_filter(&server_filter_list, partial_fname, 0) < 0)
-               return NULL;
+       if (server_filter_list.head) {
+               static int len;
+               if (!len)
+                       len = strlen(partial_dir);
+               t[len] = '\0';
+               if (check_filter(&server_filter_list, partial_fname, 1) < 0)
+                       return NULL;
+               t[len] = '/';
+               if (check_filter(&server_filter_list, partial_fname, 0) < 0)
+                       return NULL;
+       }
 
        return partial_fname;
 }