version 1.88, 2002/03/18 17:50:31 |
version 1.89, 2002/03/19 14:27:39 |
|
|
#include "pathnames.h" |
#include "pathnames.h" |
#include "uidswap.h" |
#include "uidswap.h" |
#include "auth-options.h" |
#include "auth-options.h" |
#include "misc.h" |
|
#include "hostfile.h" |
#include "hostfile.h" |
#include "canohost.h" |
#include "canohost.h" |
#include "match.h" |
#include "match.h" |
|
|
|
|
if (authctxt->attempt++ == 0) { |
if (authctxt->attempt++ == 0) { |
/* setup auth context */ |
/* setup auth context */ |
struct passwd *pw = NULL; |
authctxt->pw = PRIVSEP(getpwnamallow(user)); |
pw = PRIVSEP(getpwnamallow(user)); |
if (authctxt->pw && strcmp(service, "ssh-connection")==0) { |
if (pw && strcmp(service, "ssh-connection")==0) { |
|
authctxt->pw = pwcopy(pw); |
|
authctxt->valid = 1; |
authctxt->valid = 1; |
debug2("input_userauth_request: setting up authctxt for %s", user); |
debug2("input_userauth_request: setting up authctxt for %s", user); |
} else { |
} else { |
log("input_userauth_request: illegal user %s", user); |
log("input_userauth_request: illegal user %s", user); |
} |
} |
/* Free memory */ |
setproctitle("%s%s", authctxt->pw ? user : "unknown", |
if (use_privsep && pw != NULL) |
|
pwfree(pw); |
|
|
|
setproctitle("%s%s", pw ? user : "unknown", |
|
use_privsep ? " [net]" : ""); |
use_privsep ? " [net]" : ""); |
authctxt->user = xstrdup(user); |
authctxt->user = xstrdup(user); |
authctxt->service = xstrdup(service); |
authctxt->service = xstrdup(service); |
authctxt->style = style ? xstrdup(style) : NULL; |
authctxt->style = style ? xstrdup(style) : NULL; |
|
|
if (use_privsep) |
if (use_privsep) |
mm_inform_authserv(service, style); |
mm_inform_authserv(service, style); |
} else if (strcmp(user, authctxt->user) != 0 || |
} else if (strcmp(user, authctxt->user) != 0 || |