X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/9a77f7fa6a6a04197bde4b4a4f30dd7440c88592..fec37812053f43cbe8dda9efbc91aa0f45bedbc3:/ppp.c?ds=sidebyside diff --git a/ppp.c b/ppp.c index 6b1bb6e..b18840f 100644 --- a/ppp.c +++ b/ppp.c @@ -1,6 +1,6 @@ // L2TPNS PPP Stuff -char const *cvs_id_ppp = "$Id: ppp.c,v 1.43 2005/01/25 04:38:49 bodea Exp $"; +char const *cvs_id_ppp = "$Id: ppp.c,v 1.45 2005/03/10 03:31:25 bodea Exp $"; #include #include @@ -28,8 +28,8 @@ static void initccp(tunnelidt t, sessionidt s); // Process PAP messages void processpap(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l) { - char user[129]; - char pass[129]; + char user[MAXUSER]; + char pass[MAXPASS]; uint16_t hl; CSTAT(processpap); @@ -60,13 +60,18 @@ void processpap(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l) { uint8_t *b = p; b += 4; + user[0] = pass[0] = 0; if (*b && *b < sizeof(user)) + { memcpy(user, b + 1, *b); - user[*b] = 0; - b += 1 + *b; - if (*b && *b < sizeof(pass)) - memcpy(pass, b + 1, *b); - pass[*b] = 0; + user[*b] = 0; + b += 1 + *b; + if (*b && *b < sizeof(pass)) + { + memcpy(pass, b + 1, *b); + pass[*b] = 0; + } + } LOG(3, s, t, "PAP login %s/%s\n", user, pass); } if (session[s].ip || !session[s].radius)