/*
- * $Id: uam.c,v 1.28 2009-09-14 00:02:21 didg Exp $
+ * $Id: uam.c,v 1.29 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1999 Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
/* afp-specific functions */
int uam_afpserver_option(void *private, const int what, void *option,
- int *len)
+ size_t *len)
{
AFPObj *obj = private;
char **buf = (char **) option; /* most of the options are this */
/*
- * $Id: uam.c,v 1.10 2005-04-28 20:49:49 bfernhomberg Exp $
+ * $Id: uam.c,v 1.11 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1999 Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
/* Crap to support uams which call this afpd function */
int uam_afpserver_option(void *private _U_, const int what _U_, void *option _U_,
- int *len _U_)
+ size_t *len _U_)
{
return(0);
}
/*
- * $Id: uams_dhx2_pam.c,v 1.7 2009-10-13 22:55:37 didg Exp $
+ * $Id: uams_dhx2_pam.c,v 1.8 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
};
-static int dhx2_setup(void *obj, char *ibuf _U_, int ibuflen _U_,
- char *rbuf, int *rbuflen)
+static int dhx2_setup(void *obj, char *ibuf _U_, size_t ibuflen _U_,
+ char *rbuf, size_t *rbuflen)
{
int ret;
size_t nwritten;
/* -------------------------------- */
static int login(void *obj, char *username, int ulen, struct passwd **uam_pwd _U_,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
if (( dhxpwd = uam_getname(obj, username, ulen)) == NULL ) {
LOG(log_info, logtype_uams, "DHX2: unknown username");
/* dhx login: things are done in a slightly bizarre order to avoid
* having to clean things up if there's an error. */
static int pam_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
*rbuflen = 0;
/* ----------------------------- */
static int pam_login_ext(void *obj, char *uname, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
u_int16_t temp16;
*rbuflen = 0;
/* -------------------------------- */
-static int logincont1(void *obj _U_, char *ibuf, int ibuflen, char *rbuf, int *rbuflen)
+static int logincont1(void *obj _U_, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen)
{
int ret;
size_t nwritten;
}
static int logincont2(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf _U_, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf _U_, size_t *rbuflen)
{
int ret;
int PAM_error;
/* Packet size should be: Session ID + ServerNonce + Passwd buffer (evantually +10 extra bytes, see Apples Docs) */
if ((ibuflen != 2 + 16 + 256) && (ibuflen != 2 + 16 + 256 + 10)) {
- LOG(log_error, logtype_uams, "DHX2: Paket length not correct: %d. Should be 274 or 284.", ibuflen);
+ LOG(log_error, logtype_uams, "DHX2: Paket length not correct: %u. Should be 274 or 284.", ibuflen);
ret = AFPERR_PARAM;
goto error_noctx;
}
}
static int pam_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
u_int16_t retID;
int ret;
* --- Change pwd stuff --- */
static int changepw_1(void *obj, char *uname,
- char *ibuf, int ibuflen, char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen)
{
*rbuflen = 0;
}
static int changepw_2(void *obj,
- char *ibuf, int ibuflen, char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen)
{
return( logincont1(obj, ibuf, ibuflen, rbuf, rbuflen) );
}
static int changepw_3(void *obj _U_,
- char *ibuf, int ibuflen _U_,
- char *rbuf _U_, int *rbuflen _U_)
+ char *ibuf, size_t ibuflen _U_,
+ char *rbuf _U_, size_t *rbuflen _U_)
{
int ret;
int PAM_error;
}
static int dhx2_changepw(void *obj _U_, char *uname,
- struct passwd *pwd _U_, char *ibuf, int ibuflen _U_,
- char *rbuf _U_, int *rbuflen _U_)
+ struct passwd *pwd _U_, char *ibuf, size_t ibuflen _U_,
+ char *rbuf _U_, size_t *rbuflen _U_)
{
/* We use this to serialize the three incoming FPChangePassword calls */
static int dhx2_changepw_status = 1;
/*
- * $Id: uams_dhx2_passwd.c,v 1.5 2009-01-15 04:16:32 didg Exp $
+ * $Id: uams_dhx2_passwd.c,v 1.6 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
return result;
}
-static int dhx2_setup(void *obj, char *ibuf _U_, int ibuflen _U_,
- char *rbuf, int *rbuflen)
+static int dhx2_setup(void *obj, char *ibuf _U_, size_t ibuflen _U_,
+ char *rbuf, size_t *rbuflen)
{
int ret;
size_t nwritten;
/* -------------------------------- */
static int login(void *obj, char *username, int ulen, struct passwd **uam_pwd _U_,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
if (( dhxpwd = uam_getname(obj, username, ulen)) == NULL ) {
LOG(log_info, logtype_uams, "DHX2: unknown username");
/* dhx login: things are done in a slightly bizarre order to avoid
* having to clean things up if there's an error. */
static int passwd_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
*rbuflen = 0;
/* ----------------------------- */
static int passwd_login_ext(void *obj, char *uname, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
u_int16_t temp16;
*rbuflen = 0;
/* -------------------------------- */
static int logincont1(void *obj _U_, struct passwd **uam_pwd _U_,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
size_t nwritten;
int ret;
}
static int logincont2(void *obj _U_, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf _U_, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf _U_, size_t *rbuflen)
{
#ifdef SHADOWPW
struct spwd *sp;
}
static int passwd_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
u_int16_t retID;
int ret;
/*
- * $Id: uams_dhx_pam.c,v 1.30 2009-10-13 22:55:37 didg Exp $
+ * $Id: uams_dhx_pam.c,v 1.31 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
};
-static int dhx_setup(void *obj, char *ibuf, int ibuflen _U_,
- char *rbuf, int *rbuflen)
+static int dhx_setup(void *obj, char *ibuf, size_t ibuflen _U_,
+ char *rbuf, size_t *rbuflen)
{
u_int16_t sessid;
- int i;
+ size_t i;
BIGNUM *bn, *gbn, *pbn;
DH *dh;
/* -------------------------------- */
static int login(void *obj, char *username, int ulen, struct passwd **uam_pwd _U_,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
if (( dhxpwd = uam_getname(obj, username, ulen)) == NULL ) {
LOG(log_info, logtype_uams, "uams_dhx_pam.c: unknown username");
/* dhx login: things are done in a slightly bizarre order to avoid
* having to clean things up if there's an error. */
static int pam_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
*rbuflen = 0;
/* ----------------------------- */
static int pam_login_ext(void *obj, char *uname, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
int len, ulen;
/* -------------------------------- */
static int pam_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen _U_,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen _U_,
+ char *rbuf, size_t *rbuflen)
{
char *hostname;
BIGNUM *bn1, *bn2, *bn3;
/* change pw for dhx needs a couple passes to get everything all
* right. basically, it's like the login/logincont sequence */
static int pam_changepw(void *obj, char *username,
- struct passwd *pwd _U_, char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ struct passwd *pwd _U_, char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
BIGNUM *bn1, *bn2, *bn3;
u_int16_t sessid;
int PAM_error;
+ if (ibuflen < sizeof(sessid)) {
+ return AFPERR_PARAM;
+ }
+
/* grab the id */
memcpy(&sessid, ibuf, sizeof(sessid));
ibuf += sizeof(sessid);
/*
- * $Id: uams_dhx_passwd.c,v 1.24 2006-12-03 06:04:43 didg Exp $
+ * $Id: uams_dhx_passwd.c,v 1.25 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
/* dhx passwd */
static int pwd_login(void *obj, char *username, int ulen, struct passwd **uam_pwd _U_,
- char *ibuf, int ibuflen _U_,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen _U_,
+ char *rbuf, size_t *rbuflen)
{
unsigned char iv[] = "CJalbert";
u_int8_t p[] = {0xBA, 0x28, 0x73, 0xDF, 0xB0, 0x60, 0x57, 0xD4,
#endif /* SHADOWPW */
BIGNUM *bn, *gbn, *pbn;
u_int16_t sessid;
- int i;
+ size_t i;
DH *dh;
#ifdef TRU64
/* cleartxt login */
static int passwd_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
*rbuflen = 0;
(void *) &username, &ulen) < 0)
return AFPERR_MISC;
- if (ibuflen <= 1) {
+ if (ibuflen < 2) {
return( AFPERR_PARAM );
}
len bytes utf8 name
*/
static int passwd_login_ext(void *obj, char *uname, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
u_int16_t temp16;
*rbuflen = 0;
}
static int passwd_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen _U_,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen _U_,
+ char *rbuf, size_t *rbuflen)
{
#ifdef SHADOWPW
struct spwd *sp;
/*
- * $Id: uams_gss.c,v 1.7 2009-09-28 13:19:48 franklahm Exp $
+ * $Id: uams_gss.c,v 1.8 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
{
OM_uint32 major_status = 0, minor_status = 0;
char *realm, *fqdn, *service, *principal, *p;
- int realmlen=0, fqdnlen=0, servicelen=0;
+ size_t realmlen=0, fqdnlen=0, servicelen=0;
size_t principal_length;
gss_buffer_desc s_princ_buffer;
/* -------------------------- */
static int gss_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
u_int16_t temp16;
}
static int gss_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
struct passwd *pwd = NULL;
u_int16_t login_id;
u_int16_t ticket_len;
char *p;
int rblen;
- int userlen;
+ size_t userlen;
struct session_info *sinfo;
/* Apple's AFP 3.1 documentation specifies that this command
rblen = *rbuflen = 0;
- if (ibuflen < 3) {
+ if (ibuflen < 1 +sizeof(login_id)) {
LOG(log_info, logtype_uams, "uams_gss.c :LoginCont: received incomplete packet");
return AFPERR_PARAM;
}
* point is trustworthy as we'll have a signed ticket to parse in logincont.
*/
static int gss_login_ext(void *obj, char *uname, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
u_int16_t temp16;
/*
- * $Id: uams_guest.c,v 1.16 2009-10-14 01:38:28 didg Exp $
+ * $Id: uams_guest.c,v 1.17 2009-10-15 11:39:48 didg Exp $
*
* (c) 2001 (see COPYING)
*/
/* login and login_ext are almost the same */
static int noauth_login(void *obj, struct passwd **uam_pwd,
- char *ibuf _U_, int ibuflen _U_,
- char *rbuf _U_, int *rbuflen)
+ char *ibuf _U_, size_t ibuflen _U_,
+ char *rbuf _U_, size_t *rbuflen)
{
struct passwd *pwent;
char *guest, *username;
}
static int noauth_login_ext(void *obj, char *uname _U_, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
return ( noauth_login (obj, uam_pwd, ibuf, ibuflen, rbuf, rbuflen));
}
/*
- * $Id: uams_krb4.c,v 1.9 2008-12-03 18:35:44 didg Exp $
+ * $Id: uams_krb4.c,v 1.10 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#define KRB4CMD_SKIP 11
static int krb4_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen )
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen )
{
char *p;
char *username;
u_int16_t len;
KTEXT_ST tkt;
static AUTH_DAT ad;
- int rc, ulen, proto;
+ int rc, proto;
+ size_t ulen;
char inst[ 40 ], princ[ 40 ];
if (uam_afpserver_option(obj, UAM_OPTION_USERNAME, &username, &ulen) < 0)
with non-16bit short's and non-32bit int's
*/
static int krb4_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
static struct passwd *pwd;
KTEXT_ST tkt;
#if defined( UAM_AFSKRB ) && defined( AFS )
static int afskrb_login(void *obj, struct passwd *uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen )
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen )
{
KTEXT_ST authent, rpkt;
CREDENTIALS cr;
}
static int afskrb_logincont(void *obj, struct passwd *uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen )
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen )
{
CREDENTIALS cr;
struct ViceIoctl vi;
/*
- * $Id: uams_pam.c,v 1.20 2009-10-14 01:38:28 didg Exp $
+ * $Id: uams_pam.c,v 1.21 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
};
static int login(void *obj, char *username, int ulen, struct passwd **uam_pwd,
- char *ibuf, int ibuflen _U_,
- char *rbuf _U_, int *rbuflen _U_)
+ char *ibuf, size_t ibuflen _U_,
+ char *rbuf _U_, size_t *rbuflen _U_)
{
struct passwd *pwd;
int err, PAM_error;
cleartxt login
*/
static int pam_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
*rbuflen = 0;
/* ----------------------------- */
static int pam_login_ext(void *obj, char *uname, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
u_int16_t temp16;
*rbuflen = 0;
/* change passwd */
static int pam_changepw(void *obj _U_, char *username,
- struct passwd *pwd _U_, char *ibuf, int ibuflen _U_,
- char *rbuf _U_, int *rbuflen _U_)
+ struct passwd *pwd _U_, char *ibuf, size_t ibuflen _U_,
+ char *rbuf _U_, size_t *rbuflen _U_)
{
char pw[PASSWDLEN + 1];
pam_handle_t *lpamh;
/*
- * $Id: uams_passwd.c,v 1.26 2009-10-13 22:55:37 didg Exp $
+ * $Id: uams_passwd.c,v 1.27 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
extern void append(struct papfile *, const char *, int);
static int pwd_login(void *obj, char *username, int ulen, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf _U_, int *rbuflen _U_)
+ char *ibuf, size_t ibuflen,
+ char *rbuf _U_, size_t *rbuflen _U_)
{
char *p;
struct passwd *pwd;
/* cleartxt login */
static int passwd_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
*rbuflen = 0;
(void *) &username, &ulen) < 0)
return AFPERR_MISC;
- if (ibuflen <= 1) {
+ if (ibuflen < 2) {
return( AFPERR_PARAM );
}
len bytes unicode name
*/
static int passwd_login_ext(void *obj, char *uname, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
u_int16_t temp16;
*rbuflen = 0;
/* change passwd */
static int passwd_changepw(void *obj, char *username,
struct passwd *pwd, char *ibuf,
- int ibuflen, char *rbuf, int *rbuflen)
+ size_t ibuflen, char *rbuf, size_t *rbuflen)
{
#ifdef SHADOWPW
struct spwd *sp;
/*
- * $Id: uams_pgp.c,v 1.11 2005-04-28 20:49:50 bfernhomberg Exp $
+ * $Id: uams_pgp.c,v 1.12 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
/* pgp passwd */
static int pgp_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
- int len, i;
+ size_t len, i;
char *name;
*rbuflen = 0;
}
static int pgp_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
unsigned char iv[] = "RJscorat";
BIGNUM *bn1, *bn2, *bn3;
/*
- * $Id: uams_randnum.c,v 1.18 2008-12-03 18:35:44 didg Exp $
+ * $Id: uams_randnum.c,v 1.19 2009-10-15 11:39:48 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
/* randnum sends an 8-byte number and uses the user's password to
* check against the encrypted reply. */
static int rand_login(void *obj, char *username, int ulen, struct passwd **uam_pwd _U_,
- char *ibuf _U_, int ibuflen _U_,
- char *rbuf, int *rbuflen)
+ char *ibuf _U_, size_t ibuflen _U_,
+ char *rbuf, size_t *rbuflen)
{
char *passwdfile;
u_int16_t sessid;
- int len, err;
+ size_t len;
+ int err;
if (( randpwd = uam_getname(obj, username, ulen)) == NULL )
return AFPERR_PARAM; /* unknown user */
/* check encrypted reply. we actually setup the encryption stuff
* here as the first part of randnum and rand2num are identical. */
static int randnum_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen _U_,
- char *rbuf _U_, int *rbuflen)
+ char *ibuf, size_t ibuflen _U_,
+ char *rbuf _U_, size_t *rbuflen)
{
u_int16_t sessid;
* and sends it back as part of the reply.
*/
static int rand2num_logincont(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen _U_,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen _U_,
+ char *rbuf, size_t *rbuflen)
{
u_int16_t sessid;
unsigned int i;
*/
static int randnum_changepw(void *obj, const char *username _U_,
struct passwd *pwd, char *ibuf,
- int ibuflen _U_, char *rbuf _U_, int *rbuflen _U_)
+ size_t ibuflen _U_, char *rbuf _U_, size_t *rbuflen _U_)
{
char *passwdfile;
- int err, len;
+ int err;
+ size_t len;
if (uam_checkuser(pwd) < 0)
return AFPERR_ACCESS;
/* randnum login */
static int randnum_login(void *obj, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
*rbuflen = 0;
(void *) &username, &ulen) < 0)
return AFPERR_MISC;
- if (ibuflen <= 1) {
+ if (ibuflen < 2) {
return( AFPERR_PARAM );
}
/* randnum login ext */
static int randnum_login_ext(void *obj, char *uname, struct passwd **uam_pwd,
- char *ibuf, int ibuflen,
- char *rbuf, int *rbuflen)
+ char *ibuf, size_t ibuflen,
+ char *rbuf, size_t *rbuflen)
{
char *username;
- int len, ulen;
+ size_t len, ulen;
u_int16_t temp16;
*rbuflen = 0;
/* afp helper functions */
extern int uam_afp_read (void *, char *, int *,
int (*)(void *, void *, const int));
-extern int uam_afpserver_option (void *, const int, void *, int *);
+extern int uam_afpserver_option (void *, const int, void *, size_t *);
#ifdef TRU64
extern void uam_afp_getcmdline (int *, char ***);
extern int uam_sia_validate_user (sia_collect_func_t *, int, char **,