From: srittau Date: Tue, 5 Mar 2002 01:41:36 +0000 (+0000) Subject: Removed any special masking of chmod calls. Also fixed a strerror() call. X-Git-Tag: point-backport-1-5-2~7 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ffc24c2c45ccf3937f24cec62a0f661257a06c9f;p=netatalk.git Removed any special masking of chmod calls. Also fixed a strerror() call. --- diff --git a/etc/afpd/filedir.c b/etc/afpd/filedir.c index 84bb49a1..f47d5f7a 100644 --- a/etc/afpd/filedir.c +++ b/etc/afpd/filedir.c @@ -1,5 +1,5 @@ /* - * $Id: filedir.c,v 1.22 2002-02-28 21:20:39 jmarcus Exp $ + * $Id: filedir.c,v 1.23 2002-03-05 01:41:36 srittau Exp $ * * Copyright (c) 1990,1993 Regents of The University of Michigan. * All Rights Reserved. See COPYRIGHT. @@ -100,7 +100,7 @@ more information */ upath, strerror(errno)); return (AFPERR_ACCESS); } - if (chmod(upath,(st.st_mode&0xFFFF&~default_options.umask)| S_IRGRP| S_IROTH) < 0) + if (chmod(upath,(st.st_mode&~default_options.umask)| S_IRGRP| S_IROTH) < 0) { LOG(log_error, logtype_default, "matchfile2dirperms: Error adding file read permissions: %s", @@ -120,7 +120,7 @@ more information */ adpath, strerror(errno)); return (AFPERR_ACCESS); } - if (chmod(adpath, (st.st_mode&0xFFFF&~default_options.umask)| S_IRGRP| S_IROTH) < 0) + if (chmod(adpath, (st.st_mode&~default_options.umask)| S_IRGRP| S_IROTH) < 0) { LOG(log_error, logtype_default, "matchfile2dirperms: Error adding AD file read permissions: %s", diff --git a/etc/afpd/unix.c b/etc/afpd/unix.c index 619f7064..94da9b74 100644 --- a/etc/afpd/unix.c +++ b/etc/afpd/unix.c @@ -1,5 +1,5 @@ /* - * $Id: unix.c,v 1.30 2002-02-28 21:20:39 jmarcus Exp $ + * $Id: unix.c,v 1.31 2002-03-05 01:41:36 srittau Exp $ * * Copyright (c) 1990,1993 Regents of The University of Michigan. * All Rights Reserved. See COPYRIGHT. @@ -234,8 +234,8 @@ const int dropbox; if ( seteuid(0) < 0) { LOG(log_error, logtype_default, "stickydirmode: unable to seteuid root: %s", strerror(errno)); } - if ( retval=chmod( name, ( (DIRBITS | mode | S_ISVTX) & 0777 & ~default_options.umask) ) < 0) { - LOG(log_error, logtype_default, "stickydirmode: chmod \"%s\": %s", name, strerror(retval) ); + if ( retval=chmod( name, ( (DIRBITS | mode | S_ISVTX) & ~default_options.umask) ) < 0) { + LOG(log_error, logtype_default, "stickydirmode: chmod \"%s\": %s", name, strerror(errno) ); return(AFPERR_ACCESS); } else { #ifdef DEBUG @@ -251,7 +251,7 @@ const int dropbox; * Ignore EPERM errors: We may be dealing with a directory that is * group writable, in which case chmod will fail. */ - if ( (chmod( name, (DIRBITS | mode) & 0777 & ~default_options.umask ) < 0) && errno != EPERM) { + if ( (chmod( name, (DIRBITS | mode) & ~default_options.umask ) < 0) && errno != EPERM) { LOG(log_error, logtype_default, "stickydirmode: chmod \"%s\": %s", name, strerror(errno) ); retval = -1; @@ -310,11 +310,11 @@ const mode_t mode; } if (S_ISDIR(st.st_mode)) { - if ( chmod( modbuf, (DIRBITS | mode) & 0777 & ~default_options.umask ) < 0 && errno != EPERM ) { + if ( chmod( modbuf, (DIRBITS | mode) & ~default_options.umask ) < 0 && errno != EPERM ) { LOG(log_error, logtype_default, "setdeskmode: chmod %s: %s", modbuf, strerror(errno) ); } - } else if ( chmod( modbuf, mode & 0777 & ~default_options.umask ) < 0 && errno != EPERM ) { + } else if ( chmod( modbuf, mode & ~default_options.umask ) < 0 && errno != EPERM ) { LOG(log_error, logtype_default, "setdeskmode: chmod %s: %s", modbuf, strerror(errno) ); } @@ -322,7 +322,7 @@ const mode_t mode; } closedir( sub ); /* XXX: need to preserve special modes */ - if ( chmod( deskp->d_name, (DIRBITS | mode) & 0777 & ~default_options.umask ) < 0 && errno != EPERM ) { + if ( chmod( deskp->d_name, (DIRBITS | mode) & ~default_options.umask ) < 0 && errno != EPERM ) { LOG(log_error, logtype_default, "setdeskmode: chmod %s: %s", deskp->d_name, strerror(errno) ); } @@ -333,7 +333,7 @@ const mode_t mode; return -1; } /* XXX: need to preserve special modes */ - if ( chmod( ".AppleDesktop", (DIRBITS | mode) & 0777 & ~default_options.umask ) < 0 && errno != EPERM ) { + if ( chmod( ".AppleDesktop", (DIRBITS | mode) & ~default_options.umask ) < 0 && errno != EPERM ) { LOG(log_error, logtype_default, "setdeskmode: chmod .AppleDesktop: %s", strerror(errno) ); } return( 0 );