switch (isakmp_cfg_config.authsource) {
case ISAKMP_CFG_AUTH_SYSTEM:
+#ifdef HAVE_OPENSSL
res = privsep_xauth_login_system(usr, pwd);
+#else
+ res = xauth_login_system(usr, pwd);
+#endif
break;
#ifdef HAVE_LIBRADIUS
case ISAKMP_CFG_AUTH_RADIUS:
if (throttle_delay > 0) {
char *str;
- str = saddrwop2str(iph1->remote);
+ str = saddrwop2str((struct sockaddr *)iph1->remote);
plog(LLV_ERROR, LOCATION, NULL,
"Throttling in action for %s: delay %lds\n",
struct xauth_state *xst = &iph1->mode_cfg->xauth;
char *usr = xst->authdata.generic.usr;
+ if (iph1->is_dying) {
+ plog(LLV_INFO, LOCATION, NULL,
+ "dropped login for user \"%s\"\n", usr);
+ return -1;
+ }
+
if (res != 0) {
if (port != -1)
isakmp_cfg_putport(iph1, port);
int
xauth_login_pam(port, raddr, usr, pwd)
int port;
- struct sockaddr *raddr;
+ struct sockaddr_storage *raddr;
char *usr;
char *pwd;
{
{
int type;
vchar_t *buffer = NULL;
- char *data;
struct xauth_state *xst;
size_t dlen = 0;
char* mraw = NULL;
((struct sockaddr_in*)iph1->remote)->sin_addr.s_addr, 0, NULL);
iph1->mode_cfg->flags |= ISAKMP_CFG_DELETE_PH1;
+
+ IPSECLOGASLMSG("IPSec Extended Authentication Failed.\n");
} else {
IPSECSESSIONTRACEREVENT(iph1->parent_session,
IPSECSESSIONEVENTCODE_IKEV1_XAUTH_SUCC,
if (iph1->is_rekey) {
xst->status = XAUTHST_OK;
}
+
+ IPSECLOGASLMSG("IPSec Extended Authentication Passed.\n");
}