Another fix to the directory-default-ACLs code in generator.c.
authorWayne Davison <wayned@samba.org>
Sat, 4 Feb 2006 22:28:54 +0000 (22:28 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 4 Feb 2006 22:28:54 +0000 (22:28 +0000)
acls.diff

index d851f32556c65c040de159a7c0a965315bd886bd..6dad285a1f31be7fcd38db20dc62671d4d35f36e 100644 (file)
--- a/acls.diff
+++ b/acls.diff
@@ -1264,7 +1264,7 @@ ACLs to a non-ACL-supporting disk should complain.
        free(file);
  
        if (verbose > 1) {
---- orig/configure.in  2006-02-02 02:41:09
+--- orig/configure.in  2006-02-04 22:04:06
 +++ configure.in       2004-08-19 19:53:27
 @@ -478,6 +478,11 @@ if test x"$ac_cv_func_strcasecmp" = x"no
      AC_CHECK_LIB(resolv, strcasecmp)
@@ -1278,7 +1278,7 @@ ACLs to a non-ACL-supporting disk should complain.
  dnl At the moment we don't test for a broken memcmp(), because all we
  dnl need to do is test for equality, not comparison, and it seems that
  dnl every platform has a memcmp that can do at least that.
-@@ -751,6 +756,77 @@ AC_SUBST(OBJ_RESTORE)
+@@ -734,6 +739,77 @@ AC_SUBST(OBJ_RESTORE)
  AC_SUBST(CC_SHOBJ_FLAG)
  AC_SUBST(BUILD_POPT)
  
@@ -1397,7 +1397,7 @@ ACLs to a non-ACL-supporting disk should complain.
                recv_uid_list(f, flist);
  
 --- orig/generator.c   2006-01-31 18:59:39
-+++ generator.c        2006-02-04 20:12:42
++++ generator.c        2006-02-04 22:26:45
 @@ -756,6 +756,7 @@ static int try_dests_non(struct file_str
  }
  
@@ -1436,7 +1436,7 @@ ACLs to a non-ACL-supporting disk should complain.
 -              if (fuzzy_basis && S_ISREG(file->mode)) {
 +              if ((fuzzy_basis && S_ISREG(file->mode))
 +#ifdef SUPPORT_ACLS
-+               || (!preserve_perms && !S_ISDIR(file->mode))
++               || !preserve_perms
 +#endif
 +              ) {
                        char *dn = file->dirname ? file->dirname : ".";
@@ -4903,9 +4903,9 @@ ACLs to a non-ACL-supporting disk should complain.
                }
  
                /* We now check to see if we are writing file "inplace" */
---- orig/rsync.c       2006-02-04 19:52:05
+--- orig/rsync.c       2006-02-04 22:04:06
 +++ rsync.c    2006-02-04 19:53:13
-@@ -54,7 +54,8 @@ void free_sums(struct sum_struct *s)
+@@ -88,7 +88,8 @@ void free_sums(struct sum_struct *s)
  
  /* This is only called when we aren't preserving permissions.  Figure out what
   * the permissions should be and return them merged back into the mode. */
@@ -4915,7 +4915,7 @@ ACLs to a non-ACL-supporting disk should complain.
  {
        /* If the file already exists, we'll return the local permissions,
         * possibly tweaked by the --executability option. */
-@@ -69,7 +70,7 @@ mode_t dest_mode(mode_t flist_mode, mode
+@@ -103,7 +104,7 @@ mode_t dest_mode(mode_t flist_mode, mode
                                dest_mode |= (dest_mode & 0444) >> 2;
                }
        } else
@@ -4924,7 +4924,7 @@ ACLs to a non-ACL-supporting disk should complain.
        return (flist_mode & ~CHMOD_BITS) | (dest_mode & CHMOD_BITS);
  }
  
-@@ -168,6 +169,14 @@ int set_file_attrs(char *fname, struct f
+@@ -202,6 +203,14 @@ int set_file_attrs(char *fname, struct f
        }
  #endif