summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/pap.c
diff options
context:
space:
mode:
authoramurai <amurai@FreeBSD.org>1995-02-26 12:18:08 +0000
committeramurai <amurai@FreeBSD.org>1995-02-26 12:18:08 +0000
commiteeb422fed8735188e4e141578d0383ae57ba8343 (patch)
treed05da3a88d3d54962fad8582d501f1b7ad9500b9 /usr.sbin/ppp/pap.c
parent7c16fe40ea66e6edc77ed310b654360adf11b9f9 (diff)
downloadFreeBSD-src-eeb422fed8735188e4e141578d0383ae57ba8343.zip
FreeBSD-src-eeb422fed8735188e4e141578d0383ae57ba8343.tar.gz
New user Process PPP based on iij-ppp0.94beta2.
o Supporting SYNC SIO device (But need a device driver) - add "set speed sync" o Fixing bug for Predictor-1 function. o Add new parameter that re-sent interval for set timeout commands. o Improving RTT (Round Trip Time) and reducing processor time. - Previous Timer service was using polling, and now using SIGALRM ;-) - A 0.94beta2 will not work correctly.... -- Follows are additinal feature not including 0.94beta2 o Support Proxy ARP - add "enable/disable proxy" commands o Marging common routine in CHAP/PAP. o Enhancing LCP/IPCP log information. o Support local Authfication connection on port 300x and tty. - You can set up pair of your "hostname -s" and password in ppp.secret. if either ppp.secret file nor your hostname line don't exist, It will notify a message and working as same as previous version.(Backword compatibility) - If you did set up them, It's allow connection but nothing to do except help and passwd command. - add "passwd yourpasswd" commands o Support afilter - keep Alive filter that a packet can send/receiving according to ifilter/ofilter but doesn't count it as preventing idle timer expires. - Same syntax of other filters. o Fixing bugs reported by current user for previous one. Thanks !! Reviewed by: Atsushi Murai (amurai@spec.co.jp)
Diffstat (limited to 'usr.sbin/ppp/pap.c')
-rw-r--r--usr.sbin/ppp/pap.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/usr.sbin/ppp/pap.c b/usr.sbin/ppp/pap.c
index 3aaa25a..38ced43 100644
--- a/usr.sbin/ppp/pap.c
+++ b/usr.sbin/ppp/pap.c
@@ -19,9 +19,8 @@
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* $Id:$
- *
+ *
* TODO:
- * o Imprement retransmission timer.
*/
#include "fsm.h"
#include "lcp.h"
@@ -30,15 +29,19 @@
#include "hdlc.h"
#include "lcpproto.h"
#include "phase.h"
+#include "auth.h"
static char *papcodes[] = {
"???", "REQUEST", "ACK", "NAK"
};
-static int papid;
+struct authinfo AuthPapInfo = {
+ SendPapChallenge,
+};
void
-SendPapChallenge()
+SendPapChallenge(papid)
+int papid;
{
struct fsmheader lh;
struct mbuf *bp;
@@ -50,10 +53,10 @@ SendPapChallenge()
plen = namelen + keylen + 2;
#ifdef DEBUG
logprintf("namelen = %d, keylen = %d\n", namelen, keylen);
- LogPrintf(LOG_PHASE, "PAP: %s (%s)\n", VarAuthName, VarAuthKey);
#endif
+ LogPrintf(LOG_PHASE, "PAP: %s (%s)\n", VarAuthName, VarAuthKey);
lh.code = PAP_REQUEST;
- lh.id = ++papid;
+ lh.id = papid;
lh.length = htons(plen + sizeof(struct fsmheader));
bp = mballoc(plen + sizeof(struct fsmheader), MB_FSM);
bcopy(&lh, MBUF_CTOP(bp), sizeof(struct fsmheader));
@@ -105,7 +108,9 @@ u_char *name, *key;
klen = *key;
*key++ = 0;
key[klen] = 0;
+#ifdef DEBUG
logprintf("name: %s (%d), key: %s (%d)\n", name, nlen, key, klen);
+#endif
return(AuthValidate(SECRETFILE, name, key));
}
@@ -139,6 +144,7 @@ struct mbuf *bp;
}
break;
case PAP_ACK:
+ StopAuthTimer(&AuthPapInfo);
cp = (u_char *)(php + 1);
len = *cp++;
cp[len] = 0;
@@ -150,6 +156,7 @@ struct mbuf *bp;
}
break;
case PAP_NAK:
+ StopAuthTimer(&AuthPapInfo);
cp = (u_char *)(php + 1);
len = *cp++;
cp[len] = 0;
OpenPOWER on IntegriCloud