summaryrefslogtreecommitdiff
path: root/accel-pppd/ppp/ppp_auth.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/ppp/ppp_auth.c')
-rw-r--r--accel-pppd/ppp/ppp_auth.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/accel-pppd/ppp/ppp_auth.c b/accel-pppd/ppp/ppp_auth.c
index 92d1f9c..c67b4e2 100644
--- a/accel-pppd/ppp/ppp_auth.c
+++ b/accel-pppd/ppp/ppp_auth.c
@@ -337,11 +337,16 @@ int __export ppp_auth_successed(struct ppp_t *ppp, char *username)
return 0;
}
-void __export ppp_auth_failed(struct ppp_t *ppp, const char *username)
+void __export ppp_auth_failed(struct ppp_t *ppp, char *username)
{
if (username) {
+ pthread_rwlock_wrlock(&ppp_lock);
+ if (!ppp->username)
+ ppp->username = _strdup(username);
+ pthread_rwlock_unlock(&ppp_lock);
log_ppp_info1("%s: authentication failed\n", username);
log_info1("%s: authentication failed\n", username);
+ triton_event_fire(EV_PPP_AUTH_FAILED, ppp);
} else
log_ppp_info1("authentication failed\n");
ppp_terminate(ppp, TERM_AUTH_ERROR, 0);