Changed the sys_acl_get_file() function to return ENOTSUP for
authorWayne Davison <wayned@samba.org>
Sun, 22 Oct 2006 23:43:06 +0000 (23:43 +0000)
committerWayne Davison <wayned@samba.org>
Sun, 22 Oct 2006 23:43:06 +0000 (23:43 +0000)
the non-supported SMB_ACL_TYPE_DEFAULT ACLs.

acls.diff

index 082803d..08dbcf0 100644 (file)
--- a/acls.diff
+++ b/acls.diff
@@ -1547,7 +1547,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                pathjoin(cmpbuf, MAXPATHLEN, basis_dir[j], fname);
 -              if (link_stat(cmpbuf, stp, 0) < 0)
 +              if (link_stat(cmpbuf, &sxp->st, 0) < 0)
-                       match_level = 0;
+                       return -1;
        }
  
        if (match_level == 3 && !copy_dest) {
@@ -1812,7 +1812,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                                        ITEM_LOCAL_CHANGE, 0, NULL);
                        }
                        if (code != FNONE && verbose) {
-@@ -1056,18 +1108,22 @@ static void recv_generator(char *fname, 
+@@ -1059,18 +1111,22 @@ static void recv_generator(char *fname, 
                                code = FNONE;
                        }
                }
@@ -1843,7 +1843,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                                statret = -1;
                        if (verbose > 2) {
                                rprintf(FINFO,"mknod(%s,0%o,0x%x)\n",
-@@ -1080,7 +1136,7 @@ static void recv_generator(char *fname, 
+@@ -1083,7 +1139,7 @@ static void recv_generator(char *fname, 
                        } else {
                                set_file_attrs(fname, file, NULL, 0);
                                if (itemizing) {
@@ -1852,7 +1852,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                                                ITEM_LOCAL_CHANGE, 0, NULL);
                                }
                                if (code != FNONE && verbose)
-@@ -1094,14 +1150,14 @@ static void recv_generator(char *fname, 
+@@ -1097,14 +1153,14 @@ static void recv_generator(char *fname, 
                        }
                } else {
                        if (itemizing)
@@ -1870,7 +1870,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
        }
  
        if (!S_ISREG(file->mode)) {
-@@ -1135,7 +1191,7 @@ static void recv_generator(char *fname, 
+@@ -1138,7 +1194,7 @@ static void recv_generator(char *fname, 
        }
  
        if (update_only && statret == 0
@@ -1879,7 +1879,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                if (verbose > 1)
                        rprintf(FINFO, "%s is newer\n", fname);
                return;
-@@ -1144,20 +1200,20 @@ static void recv_generator(char *fname, 
+@@ -1147,20 +1203,20 @@ static void recv_generator(char *fname, 
        fnamecmp = fname;
        fnamecmp_type = FNAMECMP_FNAME;
  
@@ -1904,7 +1904,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                }
                if (j >= 0) {
                        fnamecmp = fnamecmpbuf;
-@@ -1167,7 +1223,7 @@ static void recv_generator(char *fname, 
+@@ -1170,7 +1226,7 @@ static void recv_generator(char *fname, 
        }
  
        real_ret = statret;
@@ -1913,7 +1913,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
  
        if (partial_dir && (partialptr = partial_dir_fname(fname)) != NULL
            && link_stat(partialptr, &partial_st, 0) == 0
-@@ -1186,7 +1242,7 @@ static void recv_generator(char *fname, 
+@@ -1189,7 +1245,7 @@ static void recv_generator(char *fname, 
                                rprintf(FINFO, "fuzzy basis selected for %s: %s\n",
                                        fname, fnamecmpbuf);
                        }
@@ -1922,7 +1922,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                        statret = 0;
                        fnamecmp = fnamecmpbuf;
                        fnamecmp_type = FNAMECMP_FUZZY;
-@@ -1195,7 +1251,7 @@ static void recv_generator(char *fname, 
+@@ -1198,7 +1254,7 @@ static void recv_generator(char *fname, 
  
        if (statret != 0) {
                if (preserve_hard_links && file->link_u.links
@@ -1931,7 +1931,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                                       itemizing, code, HL_SKIP))
                        return;
                if (stat_errno == ENOENT)
-@@ -1205,39 +1261,52 @@ static void recv_generator(char *fname, 
+@@ -1208,39 +1264,52 @@ static void recv_generator(char *fname, 
                return;
        }
  
@@ -1991,7 +1991,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                fnamecmp = partialptr;
                fnamecmp_type = FNAMECMP_PARTIAL_DIR;
                statret = 0;
-@@ -1261,17 +1330,21 @@ static void recv_generator(char *fname, 
+@@ -1264,17 +1333,21 @@ static void recv_generator(char *fname, 
          pretend_missing:
                /* pretend the file didn't exist */
                if (preserve_hard_links && file->link_u.links
@@ -2016,7 +2016,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                }
                if (!(back_file = make_file(fname, NULL, NULL, 0, NO_FILTERS))) {
                        close(fd);
-@@ -1282,7 +1355,7 @@ static void recv_generator(char *fname, 
+@@ -1285,7 +1358,7 @@ static void recv_generator(char *fname, 
                                full_fname(backupptr));
                        free(back_file);
                        close(fd);
@@ -2025,7 +2025,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                }
                if ((f_copy = do_open(backupptr,
                    O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0600)) < 0) {
-@@ -1290,14 +1363,14 @@ static void recv_generator(char *fname, 
+@@ -1293,14 +1366,14 @@ static void recv_generator(char *fname, 
                                full_fname(backupptr));
                        free(back_file);
                        close(fd);
@@ -2042,7 +2042,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
        }
  
        if (verbose > 2)
-@@ -1315,24 +1388,32 @@ static void recv_generator(char *fname, 
+@@ -1318,24 +1391,32 @@ static void recv_generator(char *fname, 
                        iflags |= ITEM_BASIS_TYPE_FOLLOWS;
                if (fnamecmp_type == FNAMECMP_FUZZY)
                        iflags |= ITEM_XNAME_FOLLOWS;
@@ -2080,7 +2080,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
  
        if (f_copy >= 0) {
                close(f_copy);
-@@ -1345,6 +1426,13 @@ static void recv_generator(char *fname, 
+@@ -1348,6 +1429,13 @@ static void recv_generator(char *fname, 
        }
  
        close(fd);
@@ -2094,7 +2094,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
  }
  
  void generate_files(int f_out, struct file_list *flist, char *local_name)
-@@ -1404,6 +1492,8 @@ void generate_files(int f_out, struct fi
+@@ -1407,6 +1495,8 @@ void generate_files(int f_out, struct fi
         * notice that and let us know via the redo pipe (or its closing). */
        ignore_timeout = 1;
  
@@ -2238,7 +2238,7 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
                        SIVAL(numbuf, 0, ndx);
 --- old/lib/sysacls.c
 +++ new/lib/sysacls.c
-@@ -0,0 +1,3245 @@
+@@ -0,0 +1,3247 @@
 +/* 
 +   Unix SMB/CIFS implementation.
 +   Samba system utilities for ACL support.
@@ -4543,8 +4543,10 @@ latest ACL-enabling patch to send files to an older ACL-enabled rsync.
 +      uid_t user_id;
 +
 +      /* AIX has no DEFAULT */
-+      if  ( type == SMB_ACL_TYPE_DEFAULT )
++      if  ( type == SMB_ACL_TYPE_DEFAULT ) {
++              errno = ENOTSUP;
 +              return NULL;
++      }
 +
 +      /* Get the acl using statacl */
 +