diff -ruN ppp.orig/pppd/auth.c ppp/pppd/auth.c --- ppp.orig/pppd/auth.c 2003-06-12 02:01:21.000000000 +0200 +++ ppp/pppd/auth.c 2003-12-02 14:48:40.000000000 +0100 @@ -1292,8 +1292,10 @@ } if (secret[0] != 0 && !login_secret) { /* password given in pap-secrets - must match */ +#ifndef NO_CRYPT_HACK if ((cryptpap || strcmp(passwd, secret) != 0) && strcmp(crypt(passwd, secret), secret) != 0) +#endif ret = UPAP_AUTHNAK; } } @@ -1495,8 +1497,10 @@ /* * If no passwd, don't let them login. */ +#ifndef NO_CRYPT_HACK if (pw->pw_passwd == NULL || strlen(pw->pw_passwd) < 2 || strcmp(crypt(passwd, pw->pw_passwd), pw->pw_passwd) != 0) +#endif return (UPAP_AUTHNAK); #endif /* #ifdef USE_PAM */ diff -ruN ppp.orig/pppd/Makefile.linux ppp/pppd/Makefile.linux --- ppp.orig/pppd/Makefile.linux 2003-11-27 23:00:22.000000000 +0100 +++ ppp/pppd/Makefile.linux 2003-12-02 14:47:53.000000000 +0100 @@ -116,12 +116,16 @@ #LIBS += -lshadow $(LIBS) endif +ifdef NO_CRYPT_HACK +CFLAGS += -DNO_CRYPT_HACK +else ifneq ($(wildcard /usr/include/crypt.h),) CFLAGS += -DHAVE_CRYPT_H=1 endif ifneq ($(wildcard /usr/lib/libcrypt.*),) LIBS += -lcrypt endif +endif ifdef NEEDDES ifndef USE_CRYPT