Only in ppp-2.3.5.jn: Makefile Only in ppp-2.3.5.jn/chat: Makefile Only in ppp-2.3.5.jn/chat: chat Only in ppp-2.3.5.jn/chat: chat.o Only in ppp-2.3.5.jn/pppd: Makefile diff -ru ppp-2.3.5/pppd/Makefile.linux ppp-2.3.5.jn/pppd/Makefile.linux --- ppp-2.3.5/pppd/Makefile.linux Mon May 4 16:10:29 1998 +++ ppp-2.3.5.jn/pppd/Makefile.linux Sat Jan 16 18:44:47 1999 @@ -85,6 +85,8 @@ CFLAGS += -DLOCKLIB=1 endif +CFLAGS += -DJN + install: pppd mkdir -p $(BINDIR) $(MANDIR) install -s -c -m 4555 -o root pppd $(BINDIR)/pppd Only in ppp-2.3.5.jn/pppd: Makefile.linux.orig diff -ru ppp-2.3.5/pppd/auth.c ppp-2.3.5.jn/pppd/auth.c --- ppp-2.3.5/pppd/auth.c Thu Mar 26 15:46:00 1998 +++ ppp-2.3.5.jn/pppd/auth.c Sat Jan 30 13:01:50 1999 @@ -117,6 +117,11 @@ /* Set if we got the contents of passwd[] from the pap-secrets file. */ static int passwd_from_file; +#ifdef JN +int attempt_auth = 0; +extern char jn_authpass[MAXSECRETLEN]; // I know this is a hack... +#endif + /* Bits in auth_pending[] */ #define PAP_WITHPEER 1 #define PAP_PEER 2 @@ -1009,13 +1014,25 @@ remote_name[0]? remote_name: NULL, (u_int32_t)0, secret, NULL, filename); fclose(f); + +#ifdef JN + if(attempt_auth) + { + strncpy(secret, jn_authpass, MAXSECRETLEN); + secret[MAXSECRETLEN-1] = 0; + ret = 1; + } +#endif if (ret < 0) - return 0; + return 0; + if (passwd != NULL) { strncpy(passwd, secret, MAXSECRETLEN); passwd[MAXSECRETLEN-1] = 0; } +// syslog(LOG_NOTICE, "secret: %s", secret); BZERO(secret, sizeof(secret)); +// syslog(LOG_NOTICE, "Password: %s", passwd); return 1; } @@ -1033,6 +1050,13 @@ ipcp_options *ipwo = &ipcp_wantoptions[0]; u_int32_t remote; +#ifdef JN + if(attempt_auth) + { + return 1; + } +#endif + filename = _PATH_UPAPFILE; f = fopen(filename, "r"); if (f == NULL) @@ -1064,6 +1088,13 @@ int ret; char *filename; +#ifdef JN + if(attempt_auth) + { + return 1; + } +#endif + filename = _PATH_CHAPFILE; f = fopen(filename, "r"); if (f == NULL) @@ -1117,6 +1148,14 @@ ret = scan_authfile(f, client, server, (u_int32_t)0, secbuf, &addrs, filename); fclose(f); +#ifdef JN + if(attempt_auth) + { + strncpy(secbuf, jn_authpass, MAXSECRETLEN); + secbuf[MAXSECRETLEN-1] = 0; + ret = 1; + } +#endif if (ret < 0) return 0; Only in ppp-2.3.5.jn/pppd: auth.c.orig Only in ppp-2.3.5.jn/pppd: auth.o Only in ppp-2.3.5.jn/pppd: ccp.o Only in ppp-2.3.5.jn/pppd: chap.o Only in ppp-2.3.5.jn/pppd: chap_ms.o Only in ppp-2.3.5.jn/pppd: chaptest Only in ppp-2.3.5.jn/pppd: chaptest.c Only in ppp-2.3.5.jn/pppd: chaptest.o Only in ppp-2.3.5.jn/pppd: demand.o Only in ppp-2.3.5.jn/pppd: fsm.o Only in ppp-2.3.5.jn/pppd: ipcp.o Only in ppp-2.3.5.jn/pppd: ipxcp.o Only in ppp-2.3.5.jn/pppd: lcp.o Only in ppp-2.3.5.jn/pppd: magic.o Only in ppp-2.3.5.jn/pppd: main.o Only in ppp-2.3.5.jn/pppd: md4.o Only in ppp-2.3.5.jn/pppd: md5.o diff -ru ppp-2.3.5/pppd/options.c ppp-2.3.5.jn/pppd/options.c --- ppp-2.3.5/pppd/options.c Thu Mar 26 15:46:07 1998 +++ ppp-2.3.5.jn/pppd/options.c Sat Jan 16 18:44:47 1999 @@ -118,6 +118,10 @@ /* Has meaning only with MS-CHAP challenges */ #endif +#ifdef JN +char jn_authpass[MAXSECRETLEN]; +#endif + struct option_info auth_req_info; struct option_info connector_info; struct option_info disconnector_info; @@ -255,6 +259,10 @@ static int setmslanman __P((char **)); #endif +#ifdef JN +static int authpass __P((char **)); +#endif + static int number_option __P((char *, u_int32_t *, int)); static int int_option __P((char *, int *)); static int readable __P((int fd)); @@ -416,6 +424,10 @@ {"ms-lanman", 0, setmslanman}, /* Use LanMan psswd when using MS-CHAP */ #endif +#ifdef JN + {"authpass", 0, authpass}, /* the password to use */ +#endif + {NULL, 0, NULL} }; @@ -2576,4 +2588,28 @@ ms_lanman = 1; return (1); } +#endif + +#ifdef JN + +static int +authpass(argv) + char **argv; +{ + int i; + extern int attempt_auth; +// strncpy(jn_authpass, argv[0], MAXNAMELEN); + fgets(jn_authpass, MAXNAMELEN, stdin); + // we have to get rid of the new line in the string.... + for(i=0; i