1/* 2 * Copyright (c) 1989 Regents of the University of California. 3 * All rights reserved. The Berkeley software License Agreement 4 * specifies the terms and conditions for redistribution. 5 */ 6 7#include <popper.h> 8RCSID("$Id$"); 9 10/* 11 * user: Prompt for the user name at the start of a POP session 12 */ 13 14int 15pop_user (POP *p) 16{ 17 strlcpy(p->user, p->pop_parm[1], sizeof(p->user)); 18 19 if (p->auth_level == AUTH_OTP) { 20#ifdef OTP 21 char ss[256], *s; 22 23 if(otp_challenge (&p->otp_ctx, p->user, ss, sizeof(ss)) == 0) 24 return pop_msg(p, POP_SUCCESS, "Password %s required for %s.", 25 ss, p->user); 26 s = otp_error(&p->otp_ctx); 27 return pop_msg(p, POP_FAILURE, "Permission denied%s%s", 28 s ? ":" : "", s ? s : ""); 29#endif 30 } 31 if (p->auth_level == AUTH_SASL) { 32 return pop_msg(p, POP_FAILURE, "Permission denied"); 33 } 34 return pop_msg(p, POP_SUCCESS, "Password required for %s.", p->user); 35} 36