X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fafpd%2Fafs.c;h=efe2ab6392f2fe1693b2d37ee0c9255fde06c099;hb=HEAD;hp=69618382fa5c43fd64f7593d44dc48f7b2b7f6d3;hpb=63d8899d3bce4722a014f4566cbc9cde82e10225;p=netatalk.git diff --git a/etc/afpd/afs.c b/etc/afpd/afs.c index 69618382..efe2ab63 100644 --- a/etc/afpd/afs.c +++ b/etc/afpd/afs.c @@ -1,5 +1,4 @@ /* - * $Id: afs.c,v 1.16 2003-03-15 01:34:35 didg Exp $ * Copyright (c) 1990,1993 Regents of The University of Michigan. * All Rights Reserved. See COPYRIGHT. */ @@ -21,16 +20,15 @@ #ifdef HAVE_UNISTD_H #include #endif /* HAVE_UNISTD_H */ +#include #include "globals.h" #include "directory.h" #include "volume.h" #include "misc.h" +#include "unix.h" -afs_getvolspace( vol, bfree, btotal, bsize ) -struct vol *vol; -VolSpace *bfree, *btotal; -u_int32_t *bsize; +int afs_getvolspace(struct vol *vol, VolSpace *bfree, VolSpace *btotal, uint32_t *bsize) { struct ViceIoctl vi; struct VolumeStatus *vs; @@ -48,6 +46,9 @@ u_int32_t *bsize; if ( vs->PartBlocksAvail > 0 ) { if ( vs->MaxQuota != 0 ) { +#ifdef min +#undef min +#endif #define min(x,y) (((x)<(y))?(x):(y)) free = min( vs->MaxQuota - vs->BlocksInUse, vs->PartBlocksAvail ); } else { @@ -70,17 +71,14 @@ u_int32_t *bsize; return( AFP_OK ); } -afp_getdiracl(obj, ibuf, ibuflen, rbuf, rbuflen ) -AFPObj *obj; -char *ibuf, *rbuf; -int ibuflen, *rbuflen; +int afp_getdiracl(AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) { struct ViceIoctl vi; struct vol *vol; struct dir *dir; struct path *path; - u_int32_t did; - u_int16_t vid; + uint32_t did; + uint16_t vid; ibuf += 2; memcpy( &vid, ibuf, sizeof( vid )); @@ -127,11 +125,7 @@ int ibuflen, *rbuflen; #undef accessmode #endif -afsmode( path, ma, dir, st ) -char *path; -struct maccess *ma; -struct dir *dir; -struct stat *st; +void afsmode(const struct volume *vol, char *path, struct maccess *ma, struct dir *dir, struct stat *st) { struct ViceIoctl vi; char buf[ 1024 ]; @@ -151,7 +145,7 @@ struct stat *st; return; } - accessmode( path, &ma, dir, st ); + accessmode(vol, path, ma, dir, st ); return; } @@ -160,18 +154,15 @@ extern struct dir *curdir; /* * cmd | 0 | vid | did | pathtype | pathname | 0 | acl */ -afp_setdiracl(obj, ibuf, ibuflen, rbuf, rbuflen ) -AFPObj *obj; -char *ibuf, *rbuf; -int ibuflen, *rbuflen; +int afp_setdiracl(AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) { struct ViceIoctl vi; struct vol *vol; struct dir *dir; char *iend; struct path *path; - u_int32_t did; - u_int16_t vid; + uint32_t did; + uint16_t vid; *rbuflen = 0; iend = ibuf + ibuflen; @@ -230,16 +221,13 @@ int ibuflen, *rbuflen; extern C_Block seskey; extern Key_schedule seskeysched; -afp_afschangepw(obj, ibuf, ibuflen, rbuf, rbuflen ) -AFPObj *obj; -char *ibuf, *rbuf; -int ibuflen, *rbuflen; +int afp_afschangepw(AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) { char name[ MAXKTCNAMELEN ], instance[ MAXKTCNAMELEN ]; char realm[ MAXKTCREALMLEN ]; char oldpw[ 9 ], newpw[ 9 ]; int len, rc; - u_int16_t clen; + uint16_t clen; struct ktc_encryptionKey oldkey, newkey; struct ktc_token adtok; struct ubik_client *conn;