add fixes from upstream CVS (#58275 and #74093)
authorAlin Năstac <mrness@gentoo.org>
Sun, 9 Jan 2005 13:54:23 +0000 (13:54 +0000)
committerAlin Năstac <mrness@gentoo.org>
Sun, 9 Jan 2005 13:54:23 +0000 (13:54 +0000)
net-dialup/ppp/ChangeLog
net-dialup/ppp/Manifest
net-dialup/ppp/files/2.4.3/fixes-from-upstream-cvs.patch [new file with mode: 0644]
net-dialup/ppp/files/digest-ppp-2.4.3-r1 [new file with mode: 0644]
net-dialup/ppp/ppp-2.4.3-r1.ebuild [new file with mode: 0644]

index 7dd14b97d5ddec4f476acb3d7730504c980c622b..e592e7bc99f5f38c3764fc2d3291e7aae2ab5f13 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-dialup/ppp
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/ppp/ChangeLog,v 1.96 2005/01/08 08:51:22 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/ppp/ChangeLog,v 1.97 2005/01/09 13:54:23 mrness Exp $
+
+*ppp-2.4.3-r1 (09 Jan 2005)
+
+  09 Jan 2005; Alin Nastac <mrness@gentoo.org>
+  +files/2.4.3/fixes-from-upstream-cvs.patch, +ppp-2.4.3-r1.ebuild:
+  Add fixes from upstream CVS for bug IDs 1103-1106. See bug #58275 and #74093..
 
   08 Jan 2005; Alin Nastac <mrness@gentoo.org> -files/ppp-2.4.1-r10.patch,
   -ppp-2.4.2-r9.ebuild:
index 58ef58590e64b62ff36a6190e75e9bf31c291db8..d79f3ee342399df83ffa8775a2418093183459f3 100644 (file)
@@ -3,7 +3,8 @@ Hash: SHA1
 
 MD5 d4cba6212f6526b6a28eea4fc61f4c14 ppp-2.4.3.ebuild 5688
 MD5 8be5cef0a99f9053f520bc5b413fd3d2 ppp-2.4.1-r14.ebuild 4698
-MD5 d8f1eeed3da5a9834d8247b5fe64ef45 ChangeLog 16355
+MD5 26331d523315de3c668aab6a32c27c9a ppp-2.4.3-r1.ebuild 5769
+MD5 e47f2b9b2be66a0a00d188a79e83e9e7 ChangeLog 16581
 MD5 ec2f84816306825d125d0c01bd86758d metadata.xml 163
 MD5 89271c1d6f6dad5fa67c1593b2328baa ppp-2.4.2-r10.ebuild 5800
 MD5 4e62cdeb360ca0a22becbd2deb6f2dac files/pon 957
@@ -19,6 +20,7 @@ MD5 c07c26f0d600a1fde9752fa06fc4b0c3 files/digest-ppp-2.4.2-r10 194
 MD5 a5d4862054cd8dfb3a4ecd84d3f3f264 files/net.ppp0 4706
 MD5 8368eb79ad4618c3c6753801b5c4c689 files/gcc3.3-multiline.patch 1673
 MD5 01ed8667e00028ff1c6a8ac4a0d7e1dc files/digest-ppp-2.4.3 194
+MD5 01ed8667e00028ff1c6a8ac4a0d7e1dc files/digest-ppp-2.4.3-r1 194
 MD5 5d83af7b897082a0b1ecd70a2cc2a0c7 files/modules.ppp 268
 MD5 0713ffc9ae6e3ee4ef0f5c3cb752b3ea files/ip-down 285
 MD5 f0ad3e0c62aec1771536caf00e28b9c6 files/pppoe.html 7605
@@ -51,13 +53,14 @@ MD5 636e57af528015248a294a363a4ecaf8 files/2.4.3/confd.ppp0 2781
 MD5 fa2a5b8df496922fa2fb592115953b6b files/2.4.3/options-pppoe 53
 MD5 561a149f78198208724ab4527837eb8c files/2.4.3/mpls.patch 10470
 MD5 46f07887363e6b1cf7ae30e522bf4eeb files/2.4.3/net.ppp0 4414
+MD5 d4ab907865c5df0cc25eaf8fa42dedf3 files/2.4.3/fixes-from-upstream-cvs.patch 3832
 MD5 5d83af7b897082a0b1ecd70a2cc2a0c7 files/2.4.3/modules.ppp 268
 MD5 05cb3f055d11109381811e26568a9b30 files/2.4.3/ip-down 734
 MD5 f0ad3e0c62aec1771536caf00e28b9c6 files/2.4.3/pppoe.html 7605
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.6 (GNU/Linux)
 
-iD8DBQFB358TjiC39V7gKu0RAjYiAJ9UVnrdBAlcBtZgxWw1UpYKSC4oyACfQknr
-1bkdlYPLsNrwed1Pc6eqIFo=
-=sPS3
+iD8DBQFB4TeZjiC39V7gKu0RAiB7AJwOrK9IpKUw/tM9cCqfDaPqjYJLWwCfYb1u
+knWbNpnHDiAFoeagGzJd89g=
+=/9DV
 -----END PGP SIGNATURE-----
diff --git a/net-dialup/ppp/files/2.4.3/fixes-from-upstream-cvs.patch b/net-dialup/ppp/files/2.4.3/fixes-from-upstream-cvs.patch
new file mode 100644 (file)
index 0000000..dc18bb5
--- /dev/null
@@ -0,0 +1,132 @@
+Patches from upstream CVS for bug IDs 1103-1106.
+diff -Nru ppp-2.4.3.orig/pppd/auth.c ppp-2.4.3/pppd/auth.c
+--- ppp-2.4.3.orig/pppd/auth.c 2004-11-12 12:30:51.000000000 +0200
++++ ppp-2.4.3/pppd/auth.c      2005-01-09 15:42:42.938985272 +0200
+@@ -68,7 +68,7 @@
+  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+  */
+ 
+-#define RCSID "$Id: fixes-from-upstream-cvs.patch,v 1.1 2005/01/09 13:54:23 mrness Exp $"
++#define RCSID "$Id: fixes-from-upstream-cvs.patch,v 1.1 2005/01/09 13:54:23 mrness Exp $"
+ 
+ #include <stdio.h>
+ #include <stddef.h>
+@@ -532,9 +532,12 @@
+ link_required(unit)
+     int unit;
+ {
++    char *msg;
++
+     new_phase(PHASE_SERIALCONN);
+ 
+     devfd = the_channel->connect();
++    msg = "Connect script failed";
+     if (devfd < 0)
+       goto fail;
+ 
+@@ -547,6 +550,7 @@
+      * gives us.  Thus we don't need the tdb_writelock/tdb_writeunlock.
+      */
+     fd_ppp = the_channel->establish_ppp(devfd);
++    msg = "ppp establishment failed";
+     if (fd_ppp < 0) {
+       status = EXIT_FATAL_ERROR;
+       goto disconnect;
+@@ -581,6 +585,8 @@
+     if (the_channel->cleanup)
+       (*the_channel->cleanup)();
+ 
++    /* XXX not nice here but needs to go somewhere... */
++    lcp_close(0, msg);
+ }
+ 
+ /*
+diff -Nru ppp-2.4.3.orig/pppd/options.c ppp-2.4.3/pppd/options.c
+--- ppp-2.4.3.orig/pppd/options.c      2005-01-09 15:41:20.733482408 +0200
++++ ppp-2.4.3/pppd/options.c   2005-01-09 15:43:57.593636040 +0200
+@@ -40,7 +40,7 @@
+  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+  */
+ 
+-#define RCSID "$Id: fixes-from-upstream-cvs.patch,v 1.1 2005/01/09 13:54:23 mrness Exp $"
++#define RCSID "$Id: fixes-from-upstream-cvs.patch,v 1.1 2005/01/09 13:54:23 mrness Exp $"
+ 
+ #include <ctype.h>
+ #include <stdio.h>
+@@ -58,12 +58,12 @@
+ #ifdef PPP_FILTER
+ #include <pcap.h>
+ /*
+- * DLT_PPP_WITH_DIRECTION is in current libpcap cvs, and should be in
++ * DLT_PPP_WITHDIRECTION is in current libpcap cvs, and should be in
+  * libpcap-0.8.4.  Until that is released, use DLT_PPP - but that means
+  * we lose the inbound and outbound qualifiers.
+  */
+-#ifndef DLT_PPP_WITH_DIRECTION
+-#define DLT_PPP_WITH_DIRECTION        DLT_PPP
++#ifndef DLT_PPP_WITHDIRECTION
++#define DLT_PPP_WITHDIRECTION DLT_PPP
+ #endif
+ #endif
+ 
+@@ -1455,13 +1455,13 @@
+     char **argv;
+ {
+     pcap_t *pc;
+-    int ret = 0;
++    int ret = 1;
+ 
+-    pc = pcap_open_dead(DLT_PPP_WITH_DIRECTION, 65535);
++    pc = pcap_open_dead(DLT_PPP_WITHDIRECTION, 65535);
+     if (pcap_compile(pc, &pass_filter, *argv, 1, netmask) == -1) {
+       option_error("error in pass-filter expression: %s\n",
+                    pcap_geterr(pc));
+-      ret = 1;
++      ret = 0;
+     }
+     pcap_close(pc);
+ 
+@@ -1476,13 +1476,13 @@
+     char **argv;
+ {
+     pcap_t *pc;
+-    int ret = 0;
++    int ret = 1;
+ 
+-    pc = pcap_open_dead(DLT_PPP_WITH_DIRECTION, 65535);
++    pc = pcap_open_dead(DLT_PPP_WITHDIRECTION, 65535);
+     if (pcap_compile(pc, &active_filter, *argv, 1, netmask) == -1) {
+       option_error("error in active-filter expression: %s\n",
+                    pcap_geterr(pc));
+-      ret = 1;
++      ret = 0;
+     }
+     pcap_close(pc);
+ 
+diff -Nru ppp-2.4.3.orig/pppd/tty.c ppp-2.4.3/pppd/tty.c
+--- ppp-2.4.3.orig/pppd/tty.c  2004-11-13 14:07:29.000000000 +0200
++++ ppp-2.4.3/pppd/tty.c       2005-01-09 15:42:42.937985424 +0200
+@@ -68,7 +68,7 @@
+  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+  */
+ 
+-#define RCSID "$Id: fixes-from-upstream-cvs.patch,v 1.1 2005/01/09 13:54:23 mrness Exp $"
++#define RCSID "$Id: fixes-from-upstream-cvs.patch,v 1.1 2005/01/09 13:54:23 mrness Exp $"
+ 
+ #include <stdio.h>
+ #include <ctype.h>
+@@ -755,14 +755,6 @@
+               close(pty_master);
+               pty_master = -1;
+       }
+-      if (pty_slave >= 0) {
+-              close(pty_slave);
+-              pty_slave = -1;
+-      }
+-      if (real_ttyfd >= 0) {
+-              close(real_ttyfd);
+-              real_ttyfd = -1;
+-      }
+       ttyfd = -1;
+       if (got_sigterm)
+               asked_to_quit = 1;
diff --git a/net-dialup/ppp/files/digest-ppp-2.4.3-r1 b/net-dialup/ppp/files/digest-ppp-2.4.3-r1
new file mode 100644 (file)
index 0000000..9382fda
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 848f6c3cafeb6074ffeb293c3af79b7c ppp-2.4.3.tar.gz 688092
+MD5 8453a29338cb96dd0c0dda35d3e872a4 ppp-2.4.3-mppe-mppc-1.1.patch.gz 11441
+MD5 9d2f3febf510c5b0cbb4dacba713a217 ppp-dhcpc.tgz 33497
diff --git a/net-dialup/ppp/ppp-2.4.3-r1.ebuild b/net-dialup/ppp/ppp-2.4.3-r1.ebuild
new file mode 100644 (file)
index 0000000..a126ee0
--- /dev/null
@@ -0,0 +1,203 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/ppp/ppp-2.4.3-r1.ebuild,v 1.1 2005/01/09 13:54:23 mrness Exp $
+
+inherit eutils gnuconfig flag-o-matic
+
+IUSE="gtk ipv6 activefilter pam atm mppe-mppc dhcp"
+
+DESCRIPTION="Point-to-point protocol"
+HOMEPAGE="http://www.samba.org/ppp"
+SRC_URI="ftp://ftp.samba.org/pub/ppp/${P}.tar.gz
+       mppe-mppc? ( http://www.polbox.com/h/hs001/ppp-2.4.3-mppe-mppc-1.1.patch.gz )
+       dhcp? ( http://www.netservers.co.uk/gpl/ppp-dhcpc.tgz )"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~sparc ~x86"
+
+RDEPEND="virtual/libc
+       activefilter? ( >=net-libs/libpcap-0.8.3-r1 )
+       atm? ( net-dialup/linux-atm )
+       pam? ( sys-libs/pam )
+       gtk? ( =x11-libs/gtk+-1* )"
+DEPEND="${RDEPEND}
+       >=sys-apps/sed-4"
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+
+       epatch ${FILESDIR}/${PV}/ppp_flags.patch || die "patch failed"
+       epatch ${FILESDIR}/${PV}/mpls.patch || die "patch failed"
+       epatch ${FILESDIR}/${PV}/killaddr-smarter.patch || die "patch failed"
+       epatch ${FILESDIR}/${PV}/fixes-from-upstream-cvs.patch || die "patch failed"
+
+       useq mppe-mppc && {
+               einfo "Enabling mppe-mppc support"
+               epatch ${DISTDIR}/ppp-2.4.3-mppe-mppc-1.1.patch.gz || die "patch failed"
+       }
+
+       useq atm && {
+               einfo "Enabling PPPoATM support"
+               sed -i "s/^#HAVE_LIBATM=yes/HAVE_LIBATM=yes/" ${S}/pppd/plugins/pppoatm/Makefile.linux
+       }
+
+       useq activefilter || {
+               einfo "Disabling active filter"
+               sed -i "s/^FILTER=y/#FILTER=y/" pppd/Makefile.linux
+       }
+
+       useq pam && {
+               einfo "Enabling PAM"
+               sed -i "s/^#USE_PAM=y/USE_PAM=y/" pppd/Makefile.linux
+       }
+
+       useq ipv6 && {
+               einfo "Enabling IPv6"
+               sed -i "s/#HAVE_INET6/HAVE_INET6/" pppd/Makefile.linux
+       }
+
+       einfo "Enabling CBCP"
+       sed -i "s/^#CBCP=y/CBCP=y/" ${S}/pppd/Makefile.linux
+
+       useq dhcp && {
+               # copy the ppp-dhcp plugin files
+               einfo "Copying ppp-dhcp plugin files..."
+               tar -xzf ${DISTDIR}/ppp-dhcpc.tgz -C ${S}/pppd/plugins/
+               sed -i 's/SUBDIRS := rp-pppoe/SUBDIRS := rp-pppoe dhcp/' ${S}/pppd/plugins/Makefile.linux
+               sed -i "s/-O2/${CFLAGS} -fPIC/" ${S}/pppd/plugins/dhcp/Makefile.linux
+       }
+}
+
+src_compile() {
+       #export WANT_AUTOCONF=2.1
+       #gnuconfig_update
+       # compile radius better than their makefile does
+       append-ldflags -Wl,-z,now
+       econf || die "configuration failed"
+       emake COPTS="${CFLAGS}" || die "compile failed"
+
+       #build pppgetpass
+       cd contrib/pppgetpass
+       if useq gtk; then
+               emake -f Makefile.linux || die "failed to build pppgetpass"
+       else
+               emake pppgetpass.vt || die "failed to build pppgetpass"
+       fi
+}
+
+src_install() {
+       local y
+       for y in chat pppd pppdump pppstats
+       do
+               doman ${y}/${y}.8
+               dosbin ${y}/${y}
+       done
+       chmod u+s-w ${D}/usr/sbin/pppd
+
+       dosbin pppd/plugins/rp-pppoe/pppoe-discovery
+
+       insinto /etc/ppp
+       insopts -m0600
+       newins etc.ppp/pap-secrets pap-secrets.example
+       newins etc.ppp/chap-secrets chap-secrets.example
+
+       insopts -m0644
+       doins etc.ppp/options
+       doins ${FILESDIR}/${PV}/options-pptp
+       doins ${FILESDIR}/${PV}/options-pppoe
+       doins ${FILESDIR}/${PV}/chat-default
+
+       insopts -m0755
+       doins ${FILESDIR}/${PV}/ip-up
+       doins ${FILESDIR}/${PV}/ip-down
+
+       exeinto /etc/init.d/
+       doexe ${FILESDIR}/${PV}/net.ppp0
+
+       if useq pam; then
+               insinto /etc/pam.d
+               insopts -m0644
+               newins pppd/ppp.pam ppp || die "not found ppp.pam"
+       fi
+
+       insinto /etc/conf.d
+       insopts -m0600
+       newins ${FILESDIR}/${PV}/confd.ppp0 net.ppp0
+
+       dolib.so pppd/plugins/minconn.so
+       dolib.so pppd/plugins/passprompt.so
+       dolib.so pppd/plugins/passwordfd.so
+       dolib.so pppd/plugins/winbind.so
+       dolib.so pppd/plugins/rp-pppoe/rp-pppoe.so
+       dolib.so pppd/plugins/radius/radius.so
+       dolib.so pppd/plugins/radius/radattr.so
+       dolib.so pppd/plugins/radius/radrealms.so
+       if useq atm; then
+               dolib.so pppd/plugins/pppoatm/pppoatm.so || die "pppoatm.so not build"
+       fi
+       if useq dhcp; then
+               dolib.so pppd/plugins/dhcp/dhcpc.so || die "dhcpc.so not build"
+       fi
+
+       dodir /usr/lib/pppd/$(awk -F '"' '/VERSION/ {print $2}' pppd/patchlevel.h)
+       mv ${D}/usr/lib/*.so ${D}/usr/lib/pppd/$(awk -F '"' '/VERSION/ {print $2}' pppd/patchlevel.h)
+
+       insinto /etc/modules.d
+       insopts -m0644
+       newins ${FILESDIR}/${PV}/modules.ppp ppp
+       if useq mppe-mppc; then
+               echo 'alias ppp-compress-18 ppp_mppe_mppc' >> ${D}/etc/modules.d/ppp
+       fi
+
+       dodoc PLUGINS README* SETUP Changes-2.3 FAQ
+       dodoc ${FILESDIR}/${PV}/README.mpls
+       dohtml ${FILESDIR}/${PV}/pppoe.html
+
+       doman pppd/plugins/radius/pppd-radius.8
+       doman pppd/plugins/radius/pppd-radattr.8
+
+       dosbin scripts/pon
+       dosbin scripts/poff
+       dosbin scripts/plog
+       doman scripts/pon.1
+
+       # Adding misc. specialized scripts to doc dir
+       dodir /usr/share/doc/${PF}/scripts/chatchat
+       insinto /usr/share/doc/${PF}/scripts/chatchat
+       doins scripts/chatchat/*
+       insinto /usr/share/doc/${PF}/scripts
+       doins scripts/*
+
+       if useq gtk; then
+               dosbin contrib/pppgetpass/{pppgetpass.vt,pppgetpass.gtk}
+               newsbin contrib/pppgetpass/pppgetpass.sh pppgetpass
+       else
+               newsbin contrib/pppgetpass/pppgetpass.vt pppgetpass
+       fi
+       doman contrib/pppgetpass/pppgetpass.8
+}
+
+pkg_postinst() {
+       if [ ! -e ${ROOT}dev/.devfsd ] && [ ! -e ${ROOT}dev/.udev ]
+       then
+               if [ ! -e ${ROOT}dev/ppp ]; then
+                       mknod ${ROOT}dev/ppp c 108 0
+               fi
+       fi
+       if [ "$ROOT" = "/" ]
+       then
+               /sbin/update-modules
+       fi
+       ewarn "To enable kernel-pppoe read html/pppoe.html in the doc-directory."
+       ewarn "Note: the library name has changed from pppoe.so to rp-pppoe.so."
+       ewarn "Pon, poff and plog scripts have been supplied for experienced users."
+       ewarn "New users or those requiring something more should have a look at"
+       ewarn "the /etc/init.d/net.ppp0 script."
+       ewarn "Users needing particular scripts (ssh,rsh,etc.)should check out the"
+       ewarn "/usr/share/doc/ppp*/scripts directory."
+
+       # lib name has changed
+       sed -i -e "s:^pppoe.so:rp-pppoe.so:" ${ROOT}etc/ppp/options
+}