summaryrefslogtreecommitdiffstats
path: root/src/astmanproxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/astmanproxy.c')
-rw-r--r--src/astmanproxy.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/astmanproxy.c b/src/astmanproxy.c
index f6c0cd5..b84fdad 100644
--- a/src/astmanproxy.c
+++ b/src/astmanproxy.c
@@ -280,14 +280,17 @@ void *session_do(struct mansession *s)
actionid = astman_get_header(&m, ACTION_ID);
action = astman_get_header(&m, "Action");
if ( !strcasecmp(action, "Login") )
- ProxyLogin(s, &m);
+ if (!s->authenticated)
+ ProxyLogin(s, &m);
+ else
+ break;
else if ( !strcasecmp(action, "Logoff") )
ProxyLogoff(s);
else if ( !strcasecmp(action, "Challenge") )
ProxyChallenge(s, &m);
else if ( !(*proxyaction == '\0') )
proxyaction_do(proxyaction, &m, s);
- else if ( ValidateAction(&m, s ,0) ) {
+ else if ( ValidateAction(&m, s, 0) ) {
if ( !(*actionid == '\0') )
setactionid(actionid, &m, s);
if ( !WriteAsterisk(&m) )