Permanently store authentication id in sess_local[s].auth_id
rather than ping-ponging with radius[r].id This also make sendchap use a different id on each call, necessary for some clients which cache responses.
This commit is contained in:
parent
c4147ed3cc
commit
2af4b47f46
2 changed files with 2 additions and 3 deletions
4
ppp.c
4
ppp.c
|
|
@ -161,7 +161,7 @@ void processpap(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
|
|||
free(packet.username);
|
||||
free(packet.password);
|
||||
|
||||
radius[r].id = p[1];
|
||||
radius[r].id = sess_local[s].auth_id = p[1]; // Take ID from client
|
||||
LOG(3, s, t, "Sending login for %s/%s to RADIUS\n", user, pass);
|
||||
if ((session[s].mrru) && (!first_session_in_bundle(s)))
|
||||
radiussend(r, RADIUSJUSTAUTH);
|
||||
|
|
@ -2549,7 +2549,7 @@ void sendchap(sessionidt s, tunnelidt t)
|
|||
LOG(1, s, t, "Send CHAP challenge\n");
|
||||
|
||||
radius[r].chap = 1; // CHAP not PAP
|
||||
radius[r].id++;
|
||||
radius[r].id = ++sess_local[s].auth_id; // New ID
|
||||
if (radius[r].state != RADIUSCHAP)
|
||||
radius[r].try = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue