]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/unix.c
Remove noadouble option
[netatalk.git] / etc / afpd / unix.c
index 01688c94e66c2fef5c94e6bd5dc6f6e3f14e1f3b..e080208a77439e3859d09a684910b76cb462af7b 100644 (file)
@@ -325,7 +325,7 @@ int setdirunixmode(const struct vol *vol, const char *name, mode_t mode)
        if ( stickydirmode(name, DIRBITS | mode, 0, vol->v_umask) < 0 )
                return -1;
     }
-    if (vol->vfs->vfs_setdirunixmode(vol, name, mode, NULL) < 0 && !vol_noadouble(vol)) {
+    if (vol->vfs->vfs_setdirunixmode(vol, name, mode, NULL) < 0) {
         return  -1 ;
     }
     if (!dir_rx_set(mode)) {
@@ -341,10 +341,8 @@ int setdirmode(const struct vol *vol, const char *name, mode_t mode)
     struct stat                st;
     struct dirent      *dirp;
     DIR                        *dir;
-    mode_t              hf_mode;
     
     mode |= vol->v_dperm;
-    hf_mode = ad_hf_mode(mode);
 
     if (dir_rx_set(mode)) {
        /* extending right? dir first */
@@ -368,9 +366,7 @@ int setdirmode(const struct vol *vol, const char *name, mode_t mode)
         }
 
         if (!S_ISDIR(st.st_mode)) {
-           int setmode = (osx && *dirp->d_name == '.')?hf_mode:mode;
-
-           if (setfilmode(dirp->d_name, setmode, &st, vol->v_umask) < 0) {
+           if (setfilmode(dirp->d_name, mode, &st, vol->v_umask) < 0) {
                closedir( dir );
                 LOG(log_error, logtype_afpd, "setdirmode: chmod %s: %s",dirp->d_name, strerror(errno) );
                 return -1;
@@ -379,7 +375,7 @@ int setdirmode(const struct vol *vol, const char *name, mode_t mode)
     }
     closedir( dir );
     
-    if (vol->vfs->vfs_setdirmode(vol, name, mode, NULL) < 0 && !vol_noadouble(vol)) {
+    if (vol->vfs->vfs_setdirmode(vol, name, mode, NULL) < 0) {
         return  -1 ;
     }