diff -Nur ppp-2.4.2/pppd.orig/auth.c ppp-2.4.2/pppd/auth.c --- ppp-2.4.2/pppd.orig/auth.c 2003-06-12 01:56:26.000000000 +0200 +++ ppp-2.4.2/pppd/auth.c 2004-09-18 16:10:54.004502160 +0200 @@ -1506,8 +1506,11 @@ */ tty = devnam; - if (strncmp(tty, "/dev/", 5) == 0) + if (strncmp(tty, "/dev/", 5) == 0) { tty += 5; + } else if (strncmp(tty, "/udev/", 6) == 0) { + tty += 6; + } logwtmp(tty, user, ifname); /* Add wtmp login entry */ #if defined(_PATH_LASTLOG) && !defined(USE_PAM) @@ -1552,8 +1555,11 @@ char *tty; tty = devnam; - if (strncmp(tty, "/dev/", 5) == 0) + if (strncmp(tty, "/dev/", 5) == 0) { tty += 5; + } else if (strncmp(tty, "/udev/", 6) == 0) { + tty += 6; + } logwtmp(tty, "", ""); /* Wipe out utmp logout entry */ #endif /* ! USE_PAM */ logged_in = 0; diff -Nur ppp-2.4.2/pppd.orig/options.c ppp-2.4.2/pppd/options.c --- ppp-2.4.2/pppd.orig/options.c 2004-01-13 05:02:07.000000000 +0100 +++ ppp-2.4.2/pppd/options.c 2004-09-18 17:05:09.334032064 +0200 @@ -487,8 +487,11 @@ size_t pl; dev = devnam; - if ((p = strstr(dev, "/dev/")) != NULL) + if ((p = strstr(dev, "/dev/")) != NULL) { dev = p + 5; + } else if ((p = strstr(dev, "/udev/")) != NULL) { + dev = p + 6; + } if (dev[0] == 0 || strcmp(dev, "tty") == 0) return 1; /* don't look for /etc/ppp/options.tty */ pl = strlen(_PATH_TTYOPT) + strlen(dev) + 1; diff -Nur ppp-2.4.2/pppd.orig/tty.c ppp-2.4.2/pppd/tty.c --- ppp-2.4.2/pppd.orig/tty.c 2004-01-13 05:17:59.000000000 +0100 +++ ppp-2.4.2/pppd/tty.c 2004-09-18 17:04:27.953757120 +0200 @@ -300,7 +300,7 @@ if (*cp == 0) return 0; - if (strncmp("/dev/", cp, 5) != 0) { + if (strncmp("/dev/", cp, 5) != 0 && strncmp("/udev/", cp, 6) != 0) { strlcpy(dev, "/dev/", sizeof(dev)); strlcat(dev, cp, sizeof(dev)); cp = dev;