]> arthur.barton.de Git - netatalk.git/commitdiff
remove afp 2.x setdirmode
authorFrank Lahm <franklahm@googlemail.com>
Fri, 27 Jan 2012 13:20:55 +0000 (14:20 +0100)
committerFrank Lahm <franklahm@googlemail.com>
Fri, 27 Jan 2012 13:20:55 +0000 (14:20 +0100)
etc/afpd/directory.c
etc/afpd/unix.c

index dfcbf44d0edac7e499e9ba0676cfb47ecfb2aa38..cc3fb839886a3e418c8f7bd24000c18e64d9f328 100644 (file)
@@ -2070,7 +2070,7 @@ setdirparam_done:
                     goto setprivdone;
                 }
             }
-            if (setdirmode(vol, upath, mpriv) < 0)
+            if (setdirunixmode(vol, upath, mpriv) < 0)
                 err = set_dir_errors(path, "setdirmode", errno);
         }
         if ((set_upriv == true) && vol_unix_priv(vol)) {
index f2288546d6675ed902f71a2b919f0eb3294f9ea9..fb842b274545424c876cd823a8f08d57ff2552ec 100644 (file)
@@ -335,57 +335,6 @@ int setdirunixmode(const struct vol *vol, const char *name, mode_t mode)
     return 0;
 }
 
-/* --------------------- */
-int setdirmode(const struct vol *vol, const char *name, mode_t mode)
-{
-    struct stat                st;
-    struct dirent      *dirp;
-    DIR                        *dir;
-    
-    mode |= vol->v_dperm;
-
-    if (dir_rx_set(mode)) {
-       /* extending right? dir first */
-       if ( stickydirmode(name, DIRBITS | mode, 0, vol->v_umask) < 0 )
-               return -1;
-    }
-    
-    if (( dir = opendir( name )) == NULL ) {
-        LOG(log_error, logtype_afpd, "setdirmode: opendir: %s", fullpathname(name), strerror(errno) );
-        return( -1 );
-    }
-
-    for ( dirp = readdir( dir ); dirp != NULL; dirp = readdir( dir )) {
-        /* FIXME */
-        if (*dirp->d_name == '.') {
-            continue;
-        }
-        if ( lstat( dirp->d_name, &st ) < 0 ) {
-            LOG(log_error, logtype_afpd, "setdirmode: stat %s: %s",dirp->d_name, strerror(errno) );
-            continue;
-        }
-
-        if (!S_ISDIR(st.st_mode)) {
-           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;
-           }
-        }
-    }
-    closedir( dir );
-    
-    if (vol->vfs->vfs_setdirmode(vol, name, mode, NULL) < 0) {
-        return  -1 ;
-    }
-
-    if (!dir_rx_set(mode)) {
-       if ( stickydirmode(name, DIRBITS | mode, 0, vol->v_umask) < 0 )
-               return -1;
-    }
-    return( 0 );
-}
-
 /* ----------------------------- */
 int setdeskowner(const uid_t uid, const gid_t gid)
 {