/*
- * $Id: auth.c,v 1.17 2001-07-31 19:50:14 srittau Exp $
+ * $Id: auth.c,v 1.18 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <stdio.h>
#include <stdlib.h>
+#include <errno.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
#ifdef RUN_AS_USER
syslog(LOG_INFO, "running with uid %d", geteuid());
#else /* RUN_AS_USER */
- syslog(LOG_ERR, "login: %m");
+ syslog(LOG_ERR, "login: %s", strerror(errno));
return AFPERR_BADUAM;
#endif /* RUN_AS_USER */
/* Basically if the user is in the admin group, we stay root */
if (( ngroups = getgroups( NGROUPS, groups )) < 0 ) {
- syslog( LOG_ERR, "login: getgroups: %m" );
+ syslog( LOG_ERR, "login: getgroups: %s", strerror(errno) );
return AFPERR_BADUAM;
}
#ifdef ADMIN_GRP
}
#else /* TRU64 */
if (setegid( pwd->pw_gid ) < 0 || seteuid( pwd->pw_uid ) < 0) {
- syslog( LOG_ERR, "login: %m" );
+ syslog( LOG_ERR, "login: %s", strerror(errno) );
return AFPERR_BADUAM;
}
#endif /* TRU64 */
/*
- * $Id: desktop.c,v 1.5 2001-06-20 18:33:04 rufustfirefly Exp $
+ * $Id: desktop.c,v 1.6 2001-08-15 01:37:34 srittau Exp $
*
* See COPYRIGHT.
*/
*adts = '/';
if (( si.sdt_fd = open( dtf, flags, ad_mode( dtf, mode ))) < 0 ) {
- syslog( LOG_ERR, "iconopen: open %s: %m", dtf );
+ syslog( LOG_ERR, "iconopen: open %s: %s", dtf, strerror(errno) );
return -1;
}
} else {
if (lseek( si.sdt_fd, (off_t) 0L, SEEK_SET ) < 0) {
close(si.sdt_fd);
si.sdt_fd = -1;
- syslog( LOG_ERR, "afp_addicon: lseek: %m" );
+ syslog( LOG_ERR, "afp_addicon: lseek: %s", strerror(errno) );
cc = AFPERR_PARAM;
goto addicon_err;
}
}
if ( lseek( si.sdt_fd, (off_t) rsize, SEEK_CUR ) < 0 ) {
- syslog( LOG_ERR, "afp_addicon: lseek: %m" );
+ syslog( LOG_ERR, "afp_addicon: lseek: %s", strerror(errno) );
cc = AFPERR_PARAM;
}
}
*/
addicon_err:
if ( cc < 0 ) {
- syslog( LOG_ERR, "afp_addicon: %m" );
+ syslog( LOG_ERR, "afp_addicon: %s", strerror(errno) );
if (obj->proto == AFPPROTO_DSI) {
dsi_writeinit(obj->handle, rbuf, buflen);
dsi_writeflush(obj->handle);
}
if ( writev( si.sdt_fd, iov, iovcnt ) < 0 ) {
- syslog( LOG_ERR, "afp_addicon: writev: %m" );
+ syslog( LOG_ERR, "afp_addicon: writev: %s", strerror(errno) );
return( AFPERR_PARAM );
}
break;
/* add headers at end of file */
if ((cc == 0) && (write(si.sdt_fd, imh, sizeof(imh)) < 0)) {
- syslog(LOG_ERR, "afp_addicon: write: %m");
+ syslog(LOG_ERR, "afp_addicon: write: %s", strerror(errno));
dsi_writeflush(dsi);
return AFPERR_PARAM;
}
if ((cc = write(si.sdt_fd, rbuf, iovcnt)) < 0) {
- syslog(LOG_ERR, "afp_addicon: write: %m");
+ syslog(LOG_ERR, "afp_addicon: write: %s", strerror(errno));
dsi_writeflush(dsi);
return AFPERR_PARAM;
}
}
if ((cc = write(si.sdt_fd, rbuf, iovcnt)) < 0) {
- syslog(LOG_ERR, "afp_addicon: write: %m");
+ syslog(LOG_ERR, "afp_addicon: write: %s", strerror(errno));
dsi_writeflush(dsi);
return AFPERR_PARAM;
}
memcpy( &bsize, ih + 10, sizeof( bsize ));
bsize = ntohs(bsize);
if ( lseek( si.sdt_fd, (off_t) bsize, SEEK_CUR ) < 0 ) {
- syslog( LOG_ERR, "afp_iconinfo: lseek: %m" );
+ syslog( LOG_ERR, "afp_iconinfo: lseek: %s", strerror(errno) );
return( AFPERR_PARAM );
}
if ( si.sdt_index == iindex ) {
if ( lseek( si.sdt_fd, (off_t) 0L, SEEK_SET ) < 0 ) {
close(si.sdt_fd);
si.sdt_fd = -1;
- syslog(LOG_ERR, "afp_geticon: lseek: %m");
+ syslog(LOG_ERR, "afp_geticon: lseek: %s", strerror(errno));
return( AFPERR_PARAM );
}
memcpy( &rsize, ih + 10, sizeof( rsize ));
rsize = ntohs( rsize );
if ( lseek( si.sdt_fd, (off_t) rsize, SEEK_CUR ) < 0 ) {
- syslog( LOG_ERR, "afp_geticon: lseek: %m" );
+ syslog( LOG_ERR, "afp_geticon: lseek: %s", strerror(errno) );
return( AFPERR_PARAM );
}
offset += rsize;
}
if ( rc < 0 ) {
- syslog(LOG_ERR, "afp_geticon: read: %m");
+ syslog(LOG_ERR, "afp_geticon: read: %s", strerror(errno));
return( AFPERR_PARAM );
}
return AFP_OK;
geticon_exit:
- syslog(LOG_INFO, "afp_geticon: %m");
+ syslog(LOG_INFO, "afp_geticon: %s", strerror(errno));
dsi_readdone(dsi);
obj->exit(1);
return AFP_OK;
char *mtoupath(const struct vol *vol, char *mpath)
{
- static unsigned char upath[ MAXPATHLEN + 1];
- unsigned char *m, *u;
- int i = 0;
+ static char upath[ MAXPATHLEN + 1];
+ char *m, *u;
+ int i = 0;
if ( *mpath == '\0' ) {
return( "." );
/* we have a code page. we only use the ascii range
* if we have map ascii specified. */
#if 1
- if (vol->v_mtoupage && ((*m > 0x7F) ||
+ if (vol->v_mtoupage && ((*m & 0x80) ||
vol->v_flags & AFPVOL_MAPASCII)) {
*u = vol->v_mtoupage->map[*m].value;
} else
char *utompath(const struct vol *vol, char *upath)
{
static unsigned char mpath[ MAXPATHLEN + 1];
- unsigned char *m, *u;
- int h;
+ char *m, *u;
+ int h;
/* do the hex conversion */
u = upath;
/*
- * $Id: directory.c,v 1.15 2001-08-15 01:21:01 samnoble Exp $
+ * $Id: directory.c,v 1.16 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
return( 0 );
}
-int getdirparams(vol, bitmap, upath, dir, st, buf, buflen )
- const struct vol *vol;
- u_int16_t bitmap;
- char *upath;
- struct dir *dir;
- struct stat *st;
- char *buf;
- int *buflen;
+int getdirparams(const struct vol *vol,
+ u_int16_t bitmap,
+ char *upath, struct dir *dir, struct stat *st,
+ char *buf, int *buflen )
{
struct maccess ma;
struct adouble ad;
return( rc );
}
-int setdirparams(vol, path, bitmap, buf )
- const struct vol *vol;
- char *path, *buf;
- u_int16_t bitmap;
+int setdirparams(const struct vol *vol,
+ char *path, u_int16_t bitmap, char *buf )
{
struct maccess ma;
struct adouble ad;
goto setdirparam_done;
break;
default :
- syslog( LOG_ERR, "setdirparam: setdeskowner: %m" );
+ syslog( LOG_ERR, "setdirparam: setdeskowner: %s",
+ strerror(errno) );
if (!isad) {
err = AFPERR_PARAM;
goto setdirparam_done;
goto setdirparam_done;
break;
default :
- syslog( LOG_ERR, "setdirparam: setdirowner: %m" );
+ syslog( LOG_ERR, "setdirparam: setdirowner: %s",
+ strerror(errno) );
break;
}
}
goto setdirparam_done;
break;
default :
- syslog( LOG_ERR, "setdirparam: setdirowner: %m" );
+ syslog( LOG_ERR, "setdirparam: setdirowner: %s",
+ strerror(errno) );
break;
}
}
err = AFPERR_VLOCK;
goto setdirparam_done;
default :
- syslog( LOG_ERR, "setdirparam: setdeskmode: %m" );
+ syslog( LOG_ERR, "setdirparam: setdeskmode: %s",
+ strerror(errno) );
break;
err = AFPERR_PARAM;
goto setdirparam_done;
err = AFPERR_VLOCK;
goto setdirparam_done;
default :
- syslog( LOG_ERR, "setdirparam: setdirmode: %m" );
+ syslog( LOG_ERR, "setdirparam: setdirmode: %s",
+ strerror(errno) );
err = AFPERR_PARAM;
goto setdirparam_done;
}
renamedir_done:
if ((buf = (char *) realloc( dir->d_name, len + 1 )) == NULL ) {
- syslog( LOG_ERR, "renamedir: realloc: %m" );
+ syslog( LOG_ERR, "renamedir: realloc: %s", strerror(errno) );
return AFPERR_MISC;
}
dir->d_name = buf;
/*
- * $Id: enumerate.c,v 1.6 2001-08-14 14:00:10 rufustfirefly Exp $
+ * $Id: enumerate.c,v 1.7 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#endif /* USE_LASTDID */
if ((cdir = dirnew(namlen + 1)) == NULL) {
- syslog( LOG_ERR, "adddir: malloc: %m" );
+ syslog( LOG_ERR, "adddir: malloc: %s", strerror(errno) );
return NULL;
}
strcpy( cdir->d_name, name );
if ( sd.sd_buflen == 0 ) {
if (( sd.sd_buf = (char *)malloc( SDBUFBRK )) == NULL ) {
- syslog( LOG_ERR, "afp_enumerate: malloc: %m" );
+ syslog( LOG_ERR, "afp_enumerate: malloc: %s", strerror(errno) );
*rbuflen = 0;
return AFPERR_MISC;
}
start = sd.sd_buf;
if ((buf = (char *) realloc( sd.sd_buf, sd.sd_buflen +
SDBUFBRK )) == NULL ) {
- syslog( LOG_ERR, "afp_enumerate: realloc: %m" );
+ syslog( LOG_ERR, "afp_enumerate: realloc: %s",
+ strerror(errno) );
closedir(dp);
*rbuflen = 0;
return AFPERR_MISC;
sd.sd_last++;
if ( stat( sd.sd_last, &st ) < 0 ) {
- syslog( LOG_DEBUG, "afp_enumerate: stat %s: %m", sd.sd_last );
+ syslog( LOG_DEBUG, "afp_enumerate: stat %s: %s",
+ sd.sd_last, strerror(errno) );
sd.sd_last += len + 1;
continue;
}
/*
- * $Id: file.c,v 1.25 2001-08-14 14:00:10 rufustfirefly Exp $
+ * $Id: file.c,v 1.26 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
0, 0, 0, 0, 0, 0, 0, 0
};
-int getfilparams(vol, bitmap, path, dir, st, buf, buflen )
- struct vol *vol;
- u_int16_t bitmap;
- char *path;
- struct dir *dir;
- struct stat *st;
- char *buf;
- int *buflen;
+int getfilparams(struct vol *vol,
+ u_int16_t bitmap,
+ char *path, struct dir *dir, struct stat *st,
+ char *buf, int *buflen )
{
#ifndef USE_LASTDID
struct stat hst, lst, *lstp;
struct ofork *of;
struct extmap *em;
char *data, *nameoff = NULL, *upath;
- int bit = 0, isad = 1, aint;
+ int bit = 0, isad = 1;
+ u_int32_t aint;
u_int16_t ashort;
u_char achar, fdType[4];
if ( ad_open( upath, ADFLAGS_HF, O_RDONLY, 0, adp) < 0 ) {
isad = 0;
} else if ( fstat( ad_hfileno( adp ), &hst ) < 0 ) {
- syslog( LOG_ERR, "getfilparams fstat: %m" );
+ syslog( LOG_ERR, "getfilparams fstat: %s", strerror(errno) );
}
data = buf;
}
-int setfilparams(vol, path, bitmap, buf )
- struct vol *vol;
- char *path, *buf;
- u_int16_t bitmap;
+int setfilparams(struct vol *vol,
+ char *path, u_int16_t bitmap, char *buf )
{
struct adouble ad, *adp;
struct ofork *of;
/*
- * $Id: filedir.c,v 1.11 2001-08-14 14:00:10 rufustfirefly Exp $
+ * $Id: filedir.c,v 1.12 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#endif /* DEBUG */
if (stat(upath, &st ) < 0)
- syslog(LOG_ERR, "Could not stat %s: %m", upath);
+ syslog(LOG_ERR, "Could not stat %s: %s", upath, strerror(errno));
strcpy (adpath, "./.AppleDouble/");
strcat (adpath, upath);
if (( dir = dirsearch( vol, did )) == NULL ) {
}
else if (stat(".", &sb) < 0) {
syslog (LOG_ERR,
- "matchfile2dirperms: Error checking directory \"%s\": %m",
- dir->d_name);
+ "matchfile2dirperms: Error checking directory \"%s\": %s",
+ dir->d_name, strerror(errno));
return(AFPERR_NOOBJ );
}
else {
if (lchown(upath, sb.st_uid, sb.st_gid) < 0)
{
syslog (LOG_ERR,
- "matchfile2dirperms: Error changing owner/gid of %s: %m", upath);
+ "matchfile2dirperms: Error changing owner/gid of %s: %s",
+ upath, strerror(errno));
return (AFPERR_ACCESS);
}
if (chmod(upath,(st.st_mode&0x0FFFF)| S_IRGRP| S_IROTH) < 0)
{
syslog (LOG_ERR,
- "matchfile2dirperms: Error adding file read permissions: %m");
+ "matchfile2dirperms: Error adding file read permissions: %s",
+ strerror(errno));
return (AFPERR_ACCESS);
}
#ifdef DEBUG
else
syslog (LOG_INFO,
- "matchfile2dirperms: Added S_IRGRP and S_IROTH: %m");
+ "matchfile2dirperms: Added S_IRGRP and S_IROTH: %s",
+ strerror(errno));
#endif /* DEBUG */
if (lchown(adpath, sb.st_uid, sb.st_gid) < 0)
{
syslog (LOG_ERR,
- "matchfile2dirperms: Error changing AppleDouble owner/gid %s: %m",
- adpath);
+ "matchfile2dirperms: Error changing AppleDouble owner/gid %s: %s",
+ adpath, strerror(errno));
return (AFPERR_ACCESS);
}
if (chmod(adpath, (st.st_mode&0x0FFFF)| S_IRGRP| S_IROTH) < 0)
{
syslog (LOG_ERR,
- "matchfile2dirperms: Error adding AD file read permissions: %m");
+ "matchfile2dirperms: Error adding AD file read permissions: %s",
+ strerror(errno));
return (AFPERR_ACCESS);
}
#ifdef DEBUG
else
syslog (LOG_INFO,
- "matchfile2dirperms: Added S_IRGRP and S_IROTH to AD: %m");
+ "matchfile2dirperms: Added S_IRGRP and S_IROTH to AD: %s",
+ strerror(errno));
#endif /* DEBUG */
}
#ifdef DEBUG
buflen = 0;
if (S_ISDIR(st.st_mode)) {
- if (dbitmap && ( ret = getdirparams(vol, dbitmap, ".", curdir,
- &st, rbuf + 3 * sizeof( u_int16_t ), &buflen )) != AFP_OK ) {
- return( ret );
+ if (dbitmap) {
+ ret = getdirparams(vol, dbitmap, ".", curdir,
+ &st, rbuf + 3 * sizeof( u_int16_t ), &buflen );
+ if (ret != AFP_OK )
+ return( ret );
}
/* this is a directory */
- *(rbuf + 2 * sizeof( u_int16_t )) = FILDIRBIT_ISDIR;
+ *(rbuf + 2 * sizeof( u_int16_t )) = (char) FILDIRBIT_ISDIR;
} else {
if (fbitmap && ( ret = getfilparams(vol, fbitmap, path, curdir, &st,
rbuf + 3 * sizeof( u_int16_t ), &buflen )) != AFP_OK ) {
isad = 0;
}
if ((buf = realloc( odir->d_name, plen + 1 )) == NULL ) {
- syslog( LOG_ERR, "afp_rename: realloc: %m" );
+ syslog( LOG_ERR, "afp_rename: realloc: %s", strerror(errno) );
if (isad) {
ad_flush(&ad, ADFLAGS_HF); /* in case of create */
ad_close(&ad, ADFLAGS_HF);
/*
- * $Id: fork.c,v 1.6 2001-08-14 14:00:10 rufustfirefly Exp $
+ * $Id: fork.c,v 1.7 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
} else {
aint = ad_getentrylen( ofork->of_ad, ADEID_RFORK );
if ( ad_refresh( ofork->of_ad ) < 0 ) {
- syslog( LOG_ERR, "getforkparams: ad_refresh: %m");
+ syslog( LOG_ERR, "getforkparams: ad_refresh: %s", strerror(errno) );
return( AFPERR_PARAM );
}
/* See afp_closefork() for why this is bad */
goto openfork_err;
break;
default:
- syslog( LOG_ERR, "afp_openfork: ad_open: %m" );
+ syslog( LOG_ERR, "afp_openfork: ad_open: %s", strerror(errno) );
ret = AFPERR_PARAM;
goto openfork_err;
break;
break;
default:
*rbuflen = 0;
- syslog( LOG_ERR, "afp_openfork: ad_lock: %m" );
+ syslog( LOG_ERR, "afp_openfork: ad_lock: %s", strerror(errno) );
return( AFPERR_PARAM );
}
}
*rbuflen = 0;
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_setforkparams: of_find: %m" );
+ syslog( LOG_ERR, "afp_setforkparams: of_find: %s", strerror(errno) );
return( AFPERR_PARAM );
}
goto afp_setfork_err;
if (ad_flush( ofork->of_ad, ADFLAGS_HF ) < 0) {
- syslog( LOG_ERR, "afp_setforkparams: ad_flush: %m" );
+ syslog( LOG_ERR, "afp_setforkparams: ad_flush: %s",
+ strerror(errno) );
return( AFPERR_PARAM );
}
} else
ibuf += sizeof(ofrefnum);
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_bytelock: of_find: %m" );
+ syslog( LOG_ERR, "afp_bytelock: of_find: %s", strerror(errno) );
return( AFPERR_PARAM );
}
cc = ad_read(ofork->of_ad, eid, offset, rbuf, *rbuflen);
if ( cc < 0 ) {
- syslog( LOG_ERR, "afp_read: ad_read: %m" );
+ syslog( LOG_ERR, "afp_read: ad_read: %s", strerror(errno) );
*rbuflen = 0;
return( AFPERR_PARAM );
}
ibuf += sizeof( u_short );
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_read: of_find: %m" );
+ syslog( LOG_ERR, "afp_read: of_find: %s", strerror(errno) );
err = AFPERR_PARAM;
goto afp_read_err;
}
if (errno == EINVAL)
goto afp_read_loop;
else {
- syslog(LOG_ERR, "afp_read: ad_readfile: %m");
+ syslog(LOG_ERR, "afp_read: ad_readfile: %s", strerror(errno));
goto afp_read_exit;
}
}
goto afp_read_done;
afp_read_exit:
- syslog(LOG_ERR, "afp_read: %m");
+ syslog(LOG_ERR, "afp_read: %s", strerror(errno));
dsi_readdone(dsi);
ad_tmplock(ofork->of_ad, eid, ADLOCK_CLR, saveoff, reqcount);
obj->exit(1);
memcpy(&ofrefnum, ibuf, sizeof( ofrefnum ));
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_flushfork: of_find: %m" );
+ syslog( LOG_ERR, "afp_flushfork: of_find: %s", strerror(errno) );
return( AFPERR_PARAM );
}
if ( flushfork( ofork ) < 0 ) {
- syslog( LOG_ERR, "afp_flushfork: %m" );
+ syslog( LOG_ERR, "afp_flushfork: %s", strerror(errno) );
}
return( AFP_OK );
if ( ad_dfileno( ofork->of_ad ) != -1 &&
fsync( ad_dfileno( ofork->of_ad )) < 0 ) {
- syslog( LOG_ERR, "flushfork: dfile(%d) %m",
- ad_dfileno(ofork->of_ad) );
+ syslog( LOG_ERR, "flushfork: dfile(%d) %s",
+ ad_dfileno(ofork->of_ad), strerror(errno) );
err = -1;
}
/*
- * $Id: main.c,v 1.10 2001-06-25 15:18:01 rufustfirefly Exp $
+ * $Id: main.c,v 1.11 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
* XXX: this should really be setup after the initial connections. */
if (!(server_children = server_child_alloc(default_options.connections,
CHILD_NFORKS))) {
- syslog(LOG_ERR, "main: server_child alloc: %m");
+ syslog( LOG_ERR, "main: server_child alloc: %s", strerror(errno) );
afp_exit(1);
}
sigemptyset( &sv.sa_mask );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGCHLD, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "main: sigaction: %m" );
+ syslog( LOG_ERR, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
sigaddset(&sv.sa_mask, SIGTERM);
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGHUP, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "main: sigaction: %m" );
+ syslog( LOG_ERR, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
if ( sigaction( SIGTERM, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "main: sigaction: %m" );
+ syslog( LOG_ERR, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
sigaddset(&sigs, SIGTERM);
sigprocmask(SIG_BLOCK, &sigs, NULL);
if (!(configs = configinit(&default_options))) {
- syslog(LOG_ERR, "main: no servers configured: %m\n");
+ syslog(LOG_ERR, "main: no servers configured: %s\n", strerror(errno));
afp_exit(1);
}
sigprocmask(SIG_UNBLOCK, &sigs, NULL);
if (select(FD_SETSIZE, &rfds, NULL, NULL, NULL) < 0) {
if (errno == EINTR)
continue;
- syslog(LOG_ERR, "main: can't wait for input: %m");
+ syslog(LOG_ERR, "main: can't wait for input: %s", strerror(errno));
break;
}
/*
- * $Id: ofork.c,v 1.4 2001-06-20 18:33:04 rufustfirefly Exp $
+ * $Id: ofork.c,v 1.5 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1996 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <sys/stat.h> /* works around a bug */
#include <sys/param.h>
#include <syslog.h>
+#include <errno.h>
#include <atalk/adouble.h>
for ( refnum = 0; refnum < nforks; refnum++ ) {
if (oforks[ refnum ] != NULL && (oforks[refnum]->of_vol == vol) &&
flushfork( oforks[ refnum ] ) < 0 ) {
- syslog( LOG_ERR, "of_flush: %m" );
+ syslog( LOG_ERR, "of_flush: %s", strerror(errno) );
}
}
return( 0 );
of_refnum = refnum % nforks;
if (( oforks[ of_refnum ] =
(struct ofork *)malloc( sizeof( struct ofork ))) == NULL ) {
- syslog( LOG_ERR, "of_alloc: malloc: %m" );
+ syslog( LOG_ERR, "of_alloc: malloc: %s", strerror(errno) );
return NULL;
}
of = oforks[of_refnum];
if (!ad) {
ad = malloc( sizeof( struct adouble ) );
if (!ad) {
- syslog( LOG_ERR, "of_alloc: malloc: %m" );
+ syslog( LOG_ERR, "of_alloc: malloc: %s", strerror(errno) );
return NULL;
}
* of long unicode names */
if (( of->of_name =(char *)malloc(MACFILELEN + 1)) ==
NULL ) {
- syslog( LOG_ERR, "of_alloc: malloc: %m" );
+ syslog( LOG_ERR, "of_alloc: malloc: %s", strerror(errno) );
if (!ad)
free(of->of_ad);
free(of);
/*
- * $Id: status.c,v 1.3 2001-06-20 18:33:04 rufustfirefly Exp $
+ * $Id: status.c,v 1.4 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
memcpy(sigdata, &ret, sizeof(ret));
}
-const void status_init(AFPConfig *aspconfig, AFPConfig *dsiconfig,
- const struct afp_options *options)
+void status_init(AFPConfig *aspconfig, AFPConfig *dsiconfig,
+ const struct afp_options *options)
{
ASP asp;
DSI *dsi;
/*
- * $Id: status.h,v 1.3 2001-06-20 18:33:04 rufustfirefly Exp $
+ * $Id: status.h,v 1.4 2001-08-15 01:37:34 srittau Exp $
*/
#ifndef AFPD_STATUS_H
extern void status_versions __P((char * /*status*/));
extern void status_uams __P((char * /*status*/, const char * /*authlist*/));
-extern const void status_init __P((AFPConfig *, AFPConfig *,
- const struct afp_options *));
+extern void status_init __P((AFPConfig *, AFPConfig *,
+ const struct afp_options *));
extern int afp_getsrvrinfo __P((AFPObj *, char *, int, char *, int *));
#endif
/*
- * $Id: unix.c,v 1.19 2001-07-31 19:50:14 srittau Exp $
+ * $Id: unix.c,v 1.20 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
+#include <errno.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/stat.h>
} else { /* end if S_IWOTH and not S_IROTH */
#endif /* DROPKLUDGE */
if ( (retval=chmod( name, DIRBITS | mode )) < 0 ) {
- syslog( LOG_ERR, "stickydirmode: chmod \"%s\": %m", name );
+ syslog( LOG_ERR, "stickydirmode: chmod \"%s\": %s",
+ name, strerror(errno) );
}
#ifdef DROPKLUDGE
} /* end if not mode */
}
if (( desk = opendir( "." )) == NULL ) {
if ( chdir( wd ) < 0 ) {
- syslog( LOG_ERR, "setdeskmode: chdir %s: %m", wd );
+ syslog( LOG_ERR, "setdeskmode: chdir %s: %s", wd, strerror(errno) );
}
return( -1 );
}
strcat( modbuf, subp->d_name );
/* XXX: need to preserve special modes */
if (stat(modbuf, &st) < 0) {
- syslog( LOG_ERR, "setdeskmode: stat %s: %m", modbuf );
+ syslog( LOG_ERR, "setdeskmode: stat %s: %s",
+ modbuf, strerror(errno) );
continue;
}
if (S_ISDIR(st.st_mode)) {
if ( chmod( modbuf, DIRBITS | mode ) < 0 ) {
- syslog( LOG_ERR, "setdeskmode: chmod %s: %m", modbuf );
+ syslog( LOG_ERR, "setdeskmode: chmod %s: %s",
+ modbuf, strerror(errno) );
}
} else if ( chmod( modbuf, mode ) < 0 ) {
- syslog( LOG_ERR, "setdeskmode: chmod %s: %m", modbuf );
+ syslog( LOG_ERR, "setdeskmode: chmod %s: %s",
+ modbuf, strerror(errno) );
}
}
closedir( sub );
/* XXX: need to preserve special modes */
if ( chmod( deskp->d_name, DIRBITS | mode ) < 0 ) {
- syslog( LOG_ERR, "setdeskmode: chmod %s: %m", deskp->d_name );
+ syslog( LOG_ERR, "setdeskmode: chmod %s: %s",
+ deskp->d_name, strerror(errno) );
}
}
closedir( desk );
if ( chdir( wd ) < 0 ) {
- syslog( LOG_ERR, "setdeskmode: chdir %s: %m", wd );
+ syslog( LOG_ERR, "setdeskmode: chdir %s: %s", wd, strerror(errno) );
return -1;
}
/* XXX: need to preserve special modes */
if ( chmod( ".AppleDesktop", DIRBITS | mode ) < 0 ) {
- syslog( LOG_ERR, "setdeskmode: chmod .AppleDesktop: %m" );
+ syslog( LOG_ERR, "setdeskmode: chmod .AppleDesktop: %s", strerror(errno) );
}
return( 0 );
}
DIR *dir;
if (( dir = opendir( "." )) == NULL ) {
- syslog( LOG_ERR, "setdirmode: opendir .: %m" );
+ syslog( LOG_ERR, "setdirmode: opendir .: %s", strerror(errno) );
return( -1 );
}
continue;
}
if ( stat( dirp->d_name, &st ) < 0 ) {
- syslog( LOG_ERR, "setdirmode: stat %s: %m", dirp->d_name );
+ syslog( LOG_ERR, "setdirmode: stat %s: %s",
+ dirp->d_name, strerror(errno) );
continue;
}
if (( dir = opendir( ".AppleDouble" )) == NULL ) {
if (noadouble)
goto setdirmode_noadouble;
- syslog( LOG_ERR, "setdirmode: opendir .AppleDouble: %m" );
+ syslog( LOG_ERR, "setdirmode: opendir .AppleDouble: %s", strerror(errno) );
return( -1 );
}
strcpy( buf, ".AppleDouble" );
strcat( buf, dirp->d_name );
if ( stat( buf, &st ) < 0 ) {
- syslog( LOG_ERR, "setdirmode: stat %s: %m", buf );
+ syslog( LOG_ERR, "setdirmode: stat %s: %s", buf, strerror(errno) );
continue;
}
}
if (( desk = opendir( "." )) == NULL ) {
if ( chdir( wd ) < 0 ) {
- syslog( LOG_ERR, "setdeskowner: chdir %s: %m", wd );
+ syslog( LOG_ERR, "setdeskowner: chdir %s: %s", wd, strerror(errno) );
}
return( -1 );
}
strcat( modbuf, subp->d_name );
/* XXX: add special any uid, ignore group bits */
if ( chown( modbuf, uid, gid ) < 0 ) {
- syslog( LOG_ERR, "setdeskown: chown %s: %m", modbuf );
+ syslog( LOG_ERR, "setdeskown: chown %s: %s",
+ modbuf, strerror(errno) );
}
}
closedir( sub );
/* XXX: add special any uid, ignore group bits */
if ( chown( deskp->d_name, uid, gid ) < 0 ) {
- syslog( LOG_ERR, "setdeskowner: chown %s: %m", deskp->d_name );
+ syslog( LOG_ERR, "setdeskowner: chown %s: %s",
+ deskp->d_name, strerror(errno) );
}
}
closedir( desk );
if ( chdir( wd ) < 0 ) {
- syslog( LOG_ERR, "setdeskowner: chdir %s: %m", wd );
+ syslog( LOG_ERR, "setdeskowner: chdir %s: %s", wd, strerror(errno) );
return -1;
}
if ( chown( ".AppleDesktop", uid, gid ) < 0 ) {
- syslog( LOG_ERR, "setdeskowner: chown .AppleDesktop: %m" );
+ syslog( LOG_ERR, "setdeskowner: chown .AppleDesktop: %s",
+ strerror(errno) );
}
return( 0 );
}
continue;
};
if ( stat( dirp->d_name, &st ) < 0 ) {
- syslog( LOG_ERR, "setdirowner: stat %s: %m", dirp->d_name );
+ syslog( LOG_ERR, "setdirowner: stat %s: %s",
+ dirp->d_name, strerror(errno) );
continue;
}
if (( st.st_mode & S_IFMT ) == S_IFREG ) {
if ( chown( dirp->d_name, uid, gid ) < 0 ) {
- syslog( LOG_DEBUG, "setdirowner: chown %s: %m", dirp->d_name );
+ syslog( LOG_DEBUG, "setdirowner: chown %s: %s",
+ dirp->d_name, strerror(errno) );
/* return ( -1 ); Sometimes this is okay */
}
}
*m = '\0';
strcat( buf, dirp->d_name );
if ( chown( buf, uid, gid ) < 0 ) {
- syslog( LOG_DEBUG, "setdirowner: chown %d/%d %s: %m",
- uid, gid, buf );
+ syslog( LOG_DEBUG, "setdirowner: chown %d/%d %s: %s",
+ uid, gid, buf, strerror(errno) );
/* return ( -1 ); Sometimes this is okay */
}
}
* We cheat: we know that chown doesn't do anything.
*/
if ( stat( ".AppleDouble", &st ) < 0 ) {
- syslog( LOG_ERR, "setdirowner: stat .AppleDouble: %m" );
+ syslog( LOG_ERR, "setdirowner: stat .AppleDouble: %s", strerror(errno) );
return( -1 );
}
if ( gid && gid != st.st_gid && chown( ".AppleDouble", uid, gid ) < 0 ) {
- syslog( LOG_DEBUG, "setdirowner: chown %d/%d .AppleDouble: %m",
- uid, gid);
+ syslog( LOG_DEBUG, "setdirowner: chown %d/%d .AppleDouble: %s",
+ uid, gid, strerror(errno) );
/* return ( -1 ); Sometimes this is okay */
}
return( -1 );
}
if ( gid && gid != st.st_gid && chown( ".", uid, gid ) < 0 ) {
- syslog( LOG_DEBUG, "setdirowner: chown %d/%d .: %m",
- uid, gid);
+ syslog( LOG_DEBUG, "setdirowner: chown %d/%d .: %s",
+ uid, gid, strerror(errno) );
}
return( 0 );
/*
- * $Id: volume.c,v 1.9 2001-08-14 14:00:10 rufustfirefly Exp $
+ * $Id: volume.c,v 1.10 2001-08-15 01:37:34 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
if (( volume =
(struct vol *)calloc(1, sizeof( struct vol ))) == NULL ) {
- syslog( LOG_ERR, "creatvol: malloc: %m" );
+ syslog( LOG_ERR, "creatvol: malloc: %s", strerror(errno) );
return -1;
}
if (( volume->v_name =
(char *)malloc( vlen + 1 )) == NULL ) {
- syslog( LOG_ERR, "creatvol: malloc: %m" );
+ syslog( LOG_ERR, "creatvol: malloc: %s", strerror(errno) );
free(volume);
return -1;
}
if (( volume->v_path =
(char *)malloc( strlen( path ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "creatvol: malloc: %m" );
+ syslog( LOG_ERR, "creatvol: malloc: %s", strerror(errno) );
free(volume->v_name);
free(volume);
return -1;
if ( em == NULL ) {
if (( em =
(struct extmap *)malloc( sizeof( struct extmap ))) == NULL ) {
- syslog( LOG_ERR, "setextmap: malloc: %m" );
+ syslog( LOG_ERR, "setextmap: malloc: %s", strerror(errno) );
return;
}
em->em_next = extmap;
}
volfree(save_options, NULL);
if ( fclose( fp ) != 0 ) {
- syslog( LOG_ERR, "readvolfile: fclose: %m" );
+ syslog( LOG_ERR, "readvolfile: fclose: %s", strerror(errno) );
}
return( 0 );
}
int *buflen;
{
struct adouble ad;
- int bit = 0, aint, isad = 1;
+ int bit = 0, isad = 1;
+ u_int32_t aint;
u_short ashort;
u_int32_t bfree, btotal, bsize;
VolSpace xbfree, xbtotal; /* extended bytes */
data = rbuf + 5;
for ( vcnt = 0, volume = volumes; volume; volume = volume->v_next ) {
if ( stat( volume->v_path, &st ) < 0 ) {
- syslog( LOG_INFO, "afp_getsrvrparms: stat %s: %m",
- volume->v_path );
+ syslog( LOG_INFO, "afp_getsrvrparms: stat %s: %s",
+ volume->v_path, strerror(errno) );
continue; /* can't access directory */
}
if (!S_ISDIR(st.st_mode)) {
*rbuflen = data - rbuf;
data = rbuf;
if ( gettimeofday( &tv, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_getsrvrparms: gettimeofday: %m" );
+ syslog( LOG_ERR, "afp_getsrvrparms: gettimeofday: %s", strerror(errno) );
*rbuflen = 0;
return AFPERR_PARAM;
}
if (( volume->v_flags & AFPVOL_OPEN ) == 0 ) {
if ((dir = dirnew(strlen(volume->v_name) + 1)) == NULL) {
- syslog( LOG_ERR, "afp_openvol: malloc: %m" );
+ syslog( LOG_ERR, "afp_openvol: malloc: %s", strerror(errno) );
ret = AFPERR_MISC;
goto openvol_err;
}
* [RS] */
if ( gettimeofday( &tv, 0 ) < 0 ) {
- syslog( LOG_ERR, "setvoltime: gettimeofday: %m" );
+ syslog( LOG_ERR, "setvoltime: gettimeofday: %s", strerror(errno) );
return;
}
if( utime( vol->v_path, NULL ) < 0 ) {