X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/b5d3f182cd565ae0a4e523957664a11055cad3d4..aa80a007248f9a086c0be2ae2181da1e5a545ca5:/ppp.c?ds=sidebyside diff --git a/ppp.c b/ppp.c index 0ad3044..d48c044 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)