]> arthur.barton.de Git - netatalk.git/commitdiff
afpd: umask handling, bug #576
authorRalph Boehme <rb@sernet.de>
Wed, 24 Sep 2014 13:25:09 +0000 (15:25 +0200)
committerRalph Boehme <rb@sernet.de>
Wed, 24 Sep 2014 13:25:09 +0000 (15:25 +0200)
Authored-by: Rasmus Borup Hansen <rbh@intomics.com>
Reviewed-by: Ralph Boehme <rb@sernet.de>
NEWS
etc/afpd/unix.c

diff --git a/NEWS b/NEWS
index 15f1fdff05430f14110059fc9d7ce6da594af9f2..3da15603643495eb5ae36c59bbd204f770bba5bf 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@ Changes in 3.1.7
        to the other Netatalk processes, bug #579
 * FIX: afpd: Solaris locking problem, bug #559
 * FIX: Handling of malformed UTF8 strings, bug #524
+* FIX: afpd: umask handling, bug #576
 
 Changes in 3.1.6
 ================
index a42a6ab9093fde4f923e43510474d52ad58334b4..e928fda93f7f70624a367c544d36d4f7c3189e95 100644 (file)
@@ -229,7 +229,8 @@ int setdirunixmode(const struct vol *vol, char *name, mode_t mode)
     LOG(log_debug, logtype_afpd, "setdirunixmode('%s', mode:%04o) {v_dperm:%04o}",
         fullpathname(name), mode, vol->v_dperm);
 
-    mode |= (vol->v_dperm | DIRBITS) & ~vol->v_umask;
+    mode |= vol->v_dperm | DIRBITS;
+    mode &= ~vol->v_umask;
 
     if (dir_rx_set(mode)) {
        /* extending right? dir first then .AppleDouble in rf_setdirmode */