// L2TPNS PPP Stuff
-char const *cvs_id_ppp = "$Id: ppp.c,v 1.104 2009/12/08 14:49:28 bodea Exp $";
-
#include <stdio.h>
#include <string.h>
#include <unistd.h>
break;
+ case Closing:
+ sessionshutdown(s, "LCP: ConfigReq in state Closing. This should not happen. Killing session.", CDN_ADMIN_DISC, TERM_LOST_SERVICE);
+ break;
+
default:
LOG(2, s, t, "LCP: ignoring %s in state %s\n", ppp_code(*p), ppp_state(session[s].ppp.lcp));
return;
uint8_t *o = p + 4;
int length = l - 4;
int gotip = 0;
- uint8_t ident[8];
+ uint32_t ident[2];
while (length > 2)
{
gotip++; // seen address
if (o[1] != 10) return;
- *(uint32_t *) ident = htonl(session[s].ip);
- *(uint32_t *) (ident + 4) = 0;
+ ident[0] = htonl(session[s].ip);
+ ident[1] = 0;
if (memcmp(o + 2, ident, sizeof(ident)))
{
- q = ppp_conf_nak(s, b, sizeof(b), PPPIPV6CP, &response, q, p, o, ident, sizeof(ident));
+ q = ppp_conf_nak(s, b, sizeof(b), PPPIPV6CP, &response, q, p, o, (uint8_t *)ident, sizeof(ident));
if (!q) return;
}
if ((b - start) + l > size)
{
- LOG(2, s, t, "makeppp would overflow buffer (size=%d, header+payload=%d)\n", size, (b - start) + l);
+ LOG(2, s, t, "makeppp would overflow buffer (size=%d, header+payload=%ld)\n", size, (b - start) + l);
return NULL;
}