]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/acl/unix.c
Merge remote branch 'netafp/master' into branch-allea
[netatalk.git] / libatalk / acl / unix.c
index 9b9e394b86b79b866d939bdb83f23b02b12a1fef..0ff0ea5b6c169597ef5208767231329d0d320354 100644 (file)
@@ -47,7 +47,12 @@ int get_nfsv4_acl(const char *name, ace_t **retAces)
         LOG(log_warning, logtype_afpd, "get_nfsv4_acl(\"%s/%s\"): %s", getcwdpath(), name, strerror(errno));
         return -1;
     }
-    if ( ! (S_ISREG(st.st_mode) || S_ISDIR(st.st_mode) || S_ISLNK(st.st_mode))) {
+
+    if (S_ISLNK(st.st_mode))
+        /* sorry, no ACLs for symlinks */
+        return 0;
+
+    if ( ! ((S_ISREG(st.st_mode)) || (S_ISDIR(st.st_mode)))) {
         LOG(log_warning, logtype_afpd, "get_nfsv4_acl(\"%s/%s\"): special", getcwdpath(), name);
         return 0;
     }
@@ -212,7 +217,7 @@ int nfsv4_chmod(char *name, mode_t mode)
 {
     int ret = -1;
     int noaces, nnaces;
-    ace_t *oacl = NULL, *nacl = NULL, *cacl;
+    ace_t *oacl = NULL, *nacl = NULL, *cacl = NULL;
 
     LOG(log_debug, logtype_afpd, "nfsv4_chmod(\"%s/%s\", %04o)",
         getcwdpath(), name, mode);