handle LCP NAK of magic-number

This commit is contained in:
Brendan O'Dea 2006-01-19 21:00:24 +00:00
parent 129f43431f
commit cbbd45a52f
2 changed files with 12 additions and 1 deletions

View file

@ -1,6 +1,7 @@
* Fri Jan 20 2006 Brendan O'Dea <bod@optus.net> 2.1.16
- Send configured magic-no in LCP EchoReq when LCP is opened.
- Correct addition of single IP to pool (Jonathan Yarden).
- Handle LCP NAK of magic-number.
* Mon Dec 19 2005 Brendan O'Dea <bod@optus.net> 2.1.15
- Drop backtrace.

12
ppp.c
View file

@ -1,6 +1,6 @@
// L2TPNS PPP Stuff
char const *cvs_id_ppp = "$Id: ppp.c,v 1.91 2005-12-15 14:23:03 bodea Exp $";
char const *cvs_id_ppp = "$Id: ppp.c,v 1.92 2006-01-19 21:00:24 bodea Exp $";
#include <stdio.h>
#include <string.h>
@ -794,6 +794,16 @@ void processlcp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
break;
case 5: // Magic-Number
if (*p == ConfigNak)
{
session[s].magic = ntohl(*(uint32_t *)(o + 2));
LOG(3, s, t, " Remote requested magic-no %x\n", session[s].magic);
if (!session[s].magic) session[s].magic = time_now; // Netgear DG814 sends zero??
break;
}
// ConfigRej: fallthrough
default:
LOG(2, s, t, "LCP: remote sent %s for type %u?\n", ppp_code(*p), type);
sessionshutdown(s, "Unable to negotiate LCP.", 3, 0);