diff options
author | Heinrich Wendel <lanius@gentoo.org> | 2004-10-07 14:57:54 +0000 |
---|---|---|
committer | Heinrich Wendel <lanius@gentoo.org> | 2004-10-07 14:57:54 +0000 |
commit | f9dd8c1af62493cc06844f0ae55ccca82c589ab5 (patch) | |
tree | 1dc2d89483b515c3cdc9693b4b9f2a946d3a9198 /net-dialup/rp-pppoe/files | |
parent | version bump for security reason; unfortunately the 1.2 build is no longer pr... (diff) | |
download | gentoo-2-f9dd8c1af62493cc06844f0ae55ccca82c589ab5.tar.gz gentoo-2-f9dd8c1af62493cc06844f0ae55ccca82c589ab5.tar.bz2 gentoo-2-f9dd8c1af62493cc06844f0ae55ccca82c589ab5.zip |
security fix, bug #66296
Diffstat (limited to 'net-dialup/rp-pppoe/files')
-rw-r--r-- | net-dialup/rp-pppoe/files/digest-rp-pppoe-3.5-r2 | 1 | ||||
-rw-r--r-- | net-dialup/rp-pppoe/files/rp-pppoe-3.5-dsa-557.patch | 154 |
2 files changed, 155 insertions, 0 deletions
diff --git a/net-dialup/rp-pppoe/files/digest-rp-pppoe-3.5-r2 b/net-dialup/rp-pppoe/files/digest-rp-pppoe-3.5-r2 new file mode 100644 index 000000000000..f73d1dfb1b55 --- /dev/null +++ b/net-dialup/rp-pppoe/files/digest-rp-pppoe-3.5-r2 @@ -0,0 +1 @@ +MD5 97972f8f8f6a3ab9b7070333a6a29c4b rp-pppoe-3.5.tar.gz 189321 diff --git a/net-dialup/rp-pppoe/files/rp-pppoe-3.5-dsa-557.patch b/net-dialup/rp-pppoe/files/rp-pppoe-3.5-dsa-557.patch new file mode 100644 index 000000000000..9dcc0ed35438 --- /dev/null +++ b/net-dialup/rp-pppoe/files/rp-pppoe-3.5-dsa-557.patch @@ -0,0 +1,154 @@ +diff -Nru rp-pppoe-3.5.orig/man/pppoe-relay.8 rp-pppoe-3.5/man/pppoe-relay.8 +--- rp-pppoe-3.5.orig/man/pppoe-relay.8 2002-07-08 17:38:24.000000000 +0300 ++++ rp-pppoe-3.5/man/pppoe-relay.8 2004-10-05 19:06:26.000000000 +0300 +@@ -120,6 +120,5 @@ + The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR. + + .SH SEE ALSO +-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5), +-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8) ++pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian + +diff -Nru rp-pppoe-3.5.orig/man/pppoe-server.8 rp-pppoe-3.5/man/pppoe-server.8 +--- rp-pppoe-3.5.orig/man/pppoe-server.8 2002-07-08 17:38:24.000000000 +0300 ++++ rp-pppoe-3.5/man/pppoe-server.8 2004-10-05 19:06:26.000000000 +0300 +@@ -168,6 +168,5 @@ + The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR. + + .SH SEE ALSO +-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5), +-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8) ++pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian + +diff -Nru rp-pppoe-3.5.orig/man/pppoe-sniff.8 rp-pppoe-3.5/man/pppoe-sniff.8 +--- rp-pppoe-3.5.orig/man/pppoe-sniff.8 2002-07-08 17:38:24.000000000 +0300 ++++ rp-pppoe-3.5/man/pppoe-sniff.8 2004-10-05 19:06:26.000000000 +0300 +@@ -73,6 +73,5 @@ + The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR. + + .SH SEE ALSO +-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5), +-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-server(8), pppoe-relay(8) ++pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian + +diff -Nru rp-pppoe-3.5.orig/man/pppoe.8 rp-pppoe-3.5/man/pppoe.8 +--- rp-pppoe-3.5.orig/man/pppoe.8 2002-07-08 17:38:24.000000000 +0300 ++++ rp-pppoe-3.5/man/pppoe.8 2004-10-05 19:06:26.000000000 +0300 +@@ -233,5 +233,4 @@ + The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR. + + .SH SEE ALSO +-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8) +- ++pppd(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian +diff -Nru rp-pppoe-3.5.orig/src/Makefile.in rp-pppoe-3.5/src/Makefile.in +--- rp-pppoe-3.5.orig/src/Makefile.in 2002-07-08 17:38:24.000000000 +0300 ++++ rp-pppoe-3.5/src/Makefile.in 2004-10-05 19:06:26.000000000 +0300 +@@ -79,7 +79,7 @@ + @CC@ -o pppoe-relay relay.o if.o debug.o common.o + + pppoe.o: pppoe.c pppoe.h +- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe.o pppoe.c ++ @CC@ $(CFLAGS) -DAUTO_IFUP '-DVERSION="$(VERSION)"' -c -o pppoe.o pppoe.c + + discovery.o: discovery.c pppoe.h + @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o discovery.o discovery.c +diff -Nru rp-pppoe-3.5.orig/src/pppoe.c rp-pppoe-3.5/src/pppoe.c +--- rp-pppoe-3.5.orig/src/pppoe.c 2002-07-08 17:38:24.000000000 +0300 ++++ rp-pppoe-3.5/src/pppoe.c 2004-10-05 19:08:49.000000000 +0300 +@@ -67,6 +67,48 @@ + USED FOR STRESS-TESTING ONLY. DO NOT + USE THE -F OPTION AGAINST A REAL ISP */ + ++#ifdef AUTO_IFUP ++/* for interface activation, based on stripped down source source of ifconfig*/ ++#include <linux/if.h> ++/*#include <sys/socket.h> */ ++#include <sys/types.h> ++#include <sys/socket.h> ++#include "config.h" ++int skfd = -1; /* generic raw socket desc. */ ++int sockets_open(int family) ++{ ++ int sfd = -1; ++ sfd = socket(AF_INET, SOCK_DGRAM, 0); ++ return sfd; ++} ++/* Like strncpy but make sure the resulting string is always 0 terminated. ++ * Ripped from util.c (net-tools package) */ ++char *safe_strncpy(char *dst, const char *src, size_t size) ++{ ++ dst[size-1] = '\0'; ++ return strncpy(dst,src,size-1); ++} ++/* Set a certain interface flag. Ripped from ifconfig.c */ ++static int set_flag(char *ifname, short flag) ++{ ++ struct ifreq ifr; ++ ++ safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ); ++ if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) { ++ fprintf(stderr, "%s: unknown interface: %s\n", ++ ifname, strerror(errno)); ++ return (-1); ++ } ++ safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ); ++ ifr.ifr_flags |= flag; ++ if (ioctl(skfd, SIOCSIFFLAGS, &ifr) < 0) { ++ perror("SIOCSIFFLAGS"); ++ return -1; ++ } ++ return (0); ++} ++#endif ++ + PPPoEConnection *Connection = NULL; /* Must be global -- used + in signal handler */ + /*********************************************************************** +@@ -474,11 +516,13 @@ + break; + + case 'p': ++ if (getuid() == 0) { + pidfile = fopen(optarg, "w"); + if (pidfile) { + fprintf(pidfile, "%lu\n", (unsigned long) getpid()); + fclose(pidfile); + } ++ } + break; + case 'S': + SET_STRING(conn.serviceName, optarg); +@@ -493,6 +537,7 @@ + conn.useHostUniq = 1; + break; + case 'D': ++ if (getuid() == 0) { + conn.debugFile = fopen(optarg, "w"); + if (!conn.debugFile) { + fprintf(stderr, "Could not open %s: %s\n", +@@ -501,6 +546,7 @@ + } + fprintf(conn.debugFile, "rp-pppoe-%s\n", VERSION); + fflush(conn.debugFile); ++ } + break; + case 'T': + optInactivityTimeout = (int) strtol(optarg, NULL, 10); +@@ -546,6 +592,16 @@ + #endif + } + ++#ifdef AUTO_IFUP ++ /* Create a channel to the NET kernel. */ ++ if ((skfd = sockets_open(0)) < 0) { ++ perror("socket"); ++ exit(1); ++ } ++ ++ set_flag(conn.ifName, (IFF_UP | IFF_RUNNING)); ++#endif ++ + /* Set signal handlers: send PADT on HUP; ignore TERM and INT */ + if (!conn.printACNames) { + signal(SIGTERM, SIG_IGN); |