--- pppd/auth.c.orig +++ pppd/auth.c @@ -2184,9 +2184,10 @@ check_access(FILE *f, char *filename) if (fstat(fileno(f), &sbuf) < 0) { warn("cannot stat secret file %s: %m", filename); - } else if ((sbuf.st_mode & (S_IRWXG | S_IRWXO)) != 0) { - warn("Warning - secret file %s has world and/or group access", - filename); + } else if ((sbuf.st_mode & S_IRWXO) != 0) { + warn("Warning - secret file %s has world access", filename); + } else if ((sbuf.st_mode & S_IRWXG) != 0 && sbuf.st_gid != 15) { + warn("Warning - secret file %s has group access", filename); } } --- pppd/lcp.c.orig +++ pppd/lcp.c @@ -2243,7 +2243,7 @@ lcp_received_echo_reply (fsm *f, int id, if (lcp_gotoptions[f->unit].neg_magicnumber && magic == lcp_gotoptions[f->unit].magicnumber) { warn("appear to have received our own echo-reply!"); - return; + /* M$-Software did get this wrong so we also accept those packets. */ } /* Reset the number of outstanding echo frames */ --- pppd/pppd-private.h.orig +++ pppd/pppd-private.h @@ -545,15 +545,7 @@ int parse_dotted_ip(char *, u_int32_t *) #define DEBUGCHAP 1 #endif -#ifndef LOG_PPP /* we use LOG_LOCAL2 for syslog by default */ -#if defined(DEBUGMAIN) || defined(DEBUGFSM) || defined(DEBUGSYS) \ - || defined(DEBUGLCP) || defined(DEBUGIPCP) || defined(DEBUGUPAP) \ - || defined(DEBUGCHAP) || defined(DEBUG) || defined(DEBUGIPV6CP) #define LOG_PPP LOG_LOCAL2 -#else -#define LOG_PPP LOG_DAEMON -#endif -#endif /* LOG_PPP */ #ifdef DEBUGMAIN #define MAINDEBUG(x) if (debug) dbglog x