The udeb package does not have crypt(3).
This patch makes authentication always fail, since it is not needed anyway
for dialout.

--- a/pppd/auth.c
+++ b/pppd/auth.c
@@ -1509,8 +1509,10 @@
 	    if (secret[0] != 0 && !login_secret) {
 		/* password given in pap-secrets - must match */
 		if (cryptpap || strcmp(passwd, secret) != 0) {
+#ifndef NO_CRYPT_HACK
 		    char *cbuf = crypt(passwd, secret);
 		    if (!cbuf || strcmp(cbuf, secret) != 0)
+#endif
 			ret = UPAP_AUTHNAK;
 		}
 	    }
--- a/pppd/Makefile.linux
+++ b/pppd/Makefile.linux
@@ -143,10 +143,14 @@
 #LIBS     += -lshadow $(LIBS)
 endif
 
+ifdef NO_CRYPT_HACK
+CFLAGS += -DNO_CRYPT_HACK
+else
 ifeq ($(shell echo '\#include <crypt.h>' | $(CC) -E - >/dev/null 2>&1 && echo yes),yes)
 CFLAGS  += -DHAVE_CRYPT_H=1
 LIBS	+= -lcrypt
 endif
+endif
 
 ifdef USE_LIBUTIL
 CFLAGS	+= -DHAVE_LOGWTMP=1
--- a/pppd/session.c
+++ b/pppd/session.c
@@ -343,8 +343,10 @@
 	 */
         if (pw->pw_passwd == NULL || strlen(pw->pw_passwd) < 2)
             return SESSION_FAILED;
+#ifndef NO_CRYPT_HACK
 	cbuf = crypt(passwd, pw->pw_passwd);
 	if (!cbuf || strcmp(cbuf, pw->pw_passwd) != 0)
+#endif
             return SESSION_FAILED;
     }
 
