1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- diff -Nru ppp-2.4.5.orig/pppd/auth.c ppp-2.4.5/pppd/auth.c
- --- ppp-2.4.5.orig/pppd/auth.c 2009-11-16 23:26:07.000000000 +0100
- +++ ppp-2.4.5/pppd/auth.c 2010-08-08 09:57:01.000000000 +0200
- @@ -637,7 +637,7 @@
- * we delete its pid file.
- */
- if (!doing_multilink && !demand)
- - remove_pidfiles();
- + remove_pidfile(pidfilename);
-
- /*
- * If we may want to bring the link up again, transfer
- diff -Nru ppp-2.4.5.orig/pppd/main.c ppp-2.4.5/pppd/main.c
- --- ppp-2.4.5.orig/pppd/main.c 2010-08-08 09:46:42.000000000 +0200
- +++ ppp-2.4.5/pppd/main.c 2010-08-08 09:57:01.000000000 +0200
- @@ -134,7 +134,7 @@
-
- char *progname; /* Name of this program */
- char hostname[MAXNAMELEN]; /* Our hostname */
- -static char pidfilename[MAXPATHLEN]; /* name of pid file */
- +char pidfilename[MAXPATHLEN]; /* name of pid file */
- static char linkpidfile[MAXPATHLEN]; /* name of linkname pid file */
- char ppp_devnam[MAXPATHLEN]; /* name of PPP tty (maybe ttypx) */
- uid_t uid; /* Our real user-id */
- @@ -245,6 +245,7 @@
- static void toggle_debug __P((int));
- static void open_ccp __P((int));
- static void bad_signal __P((int));
- +static void remove_pidfilenames __P((void));
- static void holdoff_end __P((void *));
- static void forget_child __P((int pid, int status));
- static int reap_kids __P((void));
- @@ -835,16 +836,24 @@
- }
-
- /*
- - * remove_pidfile - remove our pid files
- + * remove_pidfile - remove one of the 2 pidfiles (pidfilename or linkpidfile)
- */
- -void remove_pidfiles()
- +void
- +remove_pidfile(filename)
- + char* filename;
- {
- - if (pidfilename[0] != 0 && unlink(pidfilename) < 0 && errno != ENOENT)
- - warn("unable to delete pid file %s: %m", pidfilename);
- - pidfilename[0] = 0;
- - if (linkpidfile[0] != 0 && unlink(linkpidfile) < 0 && errno != ENOENT)
- - warn("unable to delete pid file %s: %m", linkpidfile);
- - linkpidfile[0] = 0;
- + if (filename[0] != 0 && unlink(filename) < 0 && errno != ENOENT)
- + warn("unable to delete pid file %s: %m", filename);
- + filename[0] = 0;
- +}
- +
- +/*
- + * remove_pidfiles - remove our pid files
- + */
- +static void remove_pidfiles()
- +{
- + remove_pidfile(pidfilename);
- + remove_pidfile(linkpidfile);
- }
-
- /*
- diff -Nru ppp-2.4.5.orig/pppd/multilink.c ppp-2.4.5/pppd/multilink.c
- --- ppp-2.4.5.orig/pppd/multilink.c 2009-11-16 23:26:07.000000000 +0100
- +++ ppp-2.4.5/pppd/multilink.c 2010-08-08 09:57:01.000000000 +0200
- @@ -267,7 +267,7 @@
- notice("Connection terminated.");
- print_link_stats();
- if (!demand) {
- - remove_pidfiles();
- + remove_pidfile(pidfilename);
- script_unsetenv("IFNAME");
- }
-
- diff -Nru ppp-2.4.5.orig/pppd/pppd.h ppp-2.4.5/pppd/pppd.h
- --- ppp-2.4.5.orig/pppd/pppd.h 2010-08-08 09:44:29.000000000 +0200
- +++ ppp-2.4.5/pppd/pppd.h 2010-08-08 09:57:01.000000000 +0200
- @@ -214,6 +214,7 @@
- extern int ifunit; /* Interface unit number */
- extern char ifname[]; /* Interface name */
- extern char hostname[]; /* Our hostname */
- +extern char pidfilename[]; /* name of pid file */
- extern u_char outpacket_buf[]; /* Buffer for outgoing packets */
- extern int devfd; /* fd of underlying device */
- extern int fd_ppp; /* fd for talking PPP */
- @@ -497,7 +498,7 @@
- int ppp_send_config __P((int, int, u_int32_t, int, int));
- int ppp_recv_config __P((int, int, u_int32_t, int, int));
- const char *protocol_name __P((int));
- -void remove_pidfiles __P((void));
- +void remove_pidfile __P((char *));
- void lock_db __P((void));
- void unlock_db __P((void));
-
|