summaryrefslogtreecommitdiff
path: root/accel-pppd/ppp/ppp_auth.c
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2011-04-29 15:31:54 +0400
committerKozlov Dmitry <dima@server>2011-04-29 15:32:40 +0400
commitc5d84b6ea2df1bde706d08065bea656a676cd290 (patch)
tree678031e0dc5d9573036b91f2888f55f80232672c /accel-pppd/ppp/ppp_auth.c
parentea846168bd9ae8ce6eca106b755e890867f5eced (diff)
downloadaccel-ppp-xebd-c5d84b6ea2df1bde706d08065bea656a676cd290.tar.gz
accel-ppp-xebd-c5d84b6ea2df1bde706d08065bea656a676cd290.zip
ppp,log_file: create per-user log file even if client was not successfuly authorized
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);