Date: Sat, 19 Jun 2004 16:38:29 +0200 (CEST) From: Matthias Andree <matthias.andree@gmx.de> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/68113: [REVIVE PORT] net/rp-pppoe: "The popular Roaring Penguin's PPPoE software" Message-ID: <20040619143829.128151B20E@merlin.emma.line.org> Resent-Message-ID: <200406191440.i5JEeOBO076496@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 68113 >Category: ports >Synopsis: [REVIVE PORT] net/rp-pppoe: "The popular Roaring Penguin's PPPoE software" >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Jun 19 14:40:23 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Matthias Andree >Release: FreeBSD 5.2-CURRENT i386 >Organization: >Environment: System: FreeBSD merlin.emma.line.org 5.2-CURRENT FreeBSD 5.2-CURRENT #5: Mon May 31 02:31:02 CEST 2004 >Description: This port used to exist but was moved into the attic. Now that I can access my ISP with RP-PPPoE but not FreeBSD's native PPPoE, it is time to revive this port. Original description: --------------------- PPPoE (Point-to-Point Protocol over Ethernet) is a protocol used by many ADSL service providers. Roaring Penguin's PPPoE software is a reliable program for connecting unix systems to PPPoE service providers without requiring any kernel patches. Note that this port has had little testing (it works on 5-CURRENT to access T-Online in Germany from the client side) and the server side is entirely untested. WWW: http://www.roaringpenguin.com/pppoe/ Generated with FreeBSD Port Tools 0.50 >How-To-Repeat: >Fix: --- rp-pppoe-3.5.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # rp-pppoe # rp-pppoe/files # rp-pppoe/files/xpatch-src::pppoe.c # rp-pppoe/files/xpatch-src::pppoe.h # rp-pppoe/files/xpatch-src::pppoe-server.c # rp-pppoe/files/xpatch-src::pppoe-sniff.c # rp-pppoe/Makefile # rp-pppoe/distinfo # rp-pppoe/pkg-descr # rp-pppoe/pkg-plist # echo c - rp-pppoe mkdir -p rp-pppoe > /dev/null 2>&1 echo c - rp-pppoe/files mkdir -p rp-pppoe/files > /dev/null 2>&1 echo x - rp-pppoe/files/xpatch-src::pppoe.c sed 's/^X//' >rp-pppoe/files/xpatch-src::pppoe.c << 'END-of-rp-pppoe/files/xpatch-src::pppoe.c' X--- src/pppoe.c.orig Thu Mar 22 02:50:33 2001 X+++ src/pppoe.c Thu Mar 22 14:42:44 2001 X@@ -109,7 +109,7 @@ X * packet before passing it here. X ***********************************************************************/ X void X-sessionDiscoveryPacket(PPPoEPacket *packet) X+sessionDiscoveryPacket(PPPoEConnection *conn, PPPoEPacket *packet) X { X /* Sanity check */ X if (packet->code != CODE_PADT) { X@@ -117,7 +117,7 @@ X } X X /* It's a PADT, all right. Is it for us? */ X- if (packet->session != Session) { X+ if (packet->session != conn->session) { X /* Nope, ignore it */ X return; X } X@@ -222,9 +222,9 @@ X /* check for buffered session data */ X while (BPF_BUFFER_HAS_DATA) { X if (conn->synchronous) { X- syncReadFromEth(conn->sessionSocket, optClampMSS); X+ syncReadFromEth(conn, conn->sessionSocket, optClampMSS); X } else { X- asyncReadFromEth(conn->sessionSocket, optClampMSS); X+ asyncReadFromEth(conn, conn->sessionSocket, optClampMSS); X } X } X #endif X@@ -642,7 +642,7 @@ X /* Make sure this is a session packet before processing further */ X type = etherType(&packet); X if (type == Eth_PPPOE_Discovery) { X- sessionDiscoveryPacket(&packet); X+ sessionDiscoveryPacket(conn,&packet); X } else if (type != Eth_PPPOE_Session) { X return; X } X@@ -767,7 +767,7 @@ X /* Make sure this is a session packet before processing further */ X type = etherType(&packet); X if (type == Eth_PPPOE_Discovery) { X- sessionDiscoveryPacket(&packet); X+ sessionDiscoveryPacket(conn,&packet); X } else if (type != Eth_PPPOE_Session) { X return; X } END-of-rp-pppoe/files/xpatch-src::pppoe.c echo x - rp-pppoe/files/xpatch-src::pppoe.h sed 's/^X//' >rp-pppoe/files/xpatch-src::pppoe.h << 'END-of-rp-pppoe/files/xpatch-src::pppoe.h' X--- src/pppoe.h.orig Thu Mar 22 14:43:00 2001 X+++ src/pppoe.h Thu Mar 22 14:47:21 2001 X@@ -72,7 +72,8 @@ X #ifdef USE_BPF X extern int bpfSize; X struct PPPoEPacketStruct; X-void sessionDiscoveryPacket(struct PPPoEPacketStruct *packet); X+struct PPPoEConnectionStruct; X+void sessionDiscoveryPacket(struct PPPoEConnectionStruct *conn, struct PPPoEPacketStruct *packet); X #define BPF_BUFFER_IS_EMPTY (bpfSize <= 0) X #define BPF_BUFFER_HAS_DATA (bpfSize > 0) X #define ethhdr ether_header END-of-rp-pppoe/files/xpatch-src::pppoe.h echo x - rp-pppoe/files/xpatch-src::pppoe-server.c sed 's/^X//' >rp-pppoe/files/xpatch-src::pppoe-server.c << 'END-of-rp-pppoe/files/xpatch-src::pppoe-server.c' X--- src/pppoe-server.c.orig Mon Feb 5 14:34:27 2001 X+++ src/pppoe-server.c Thu Mar 22 17:56:25 2001 X@@ -47,6 +47,10 @@ X #include <sys/wait.h> X #endif X X+#ifdef HAVE_SYS_PARAM_H X+#include <sys/param.h> X+#endif X+ X #include <signal.h> X X /* Hack for daemonizing */ X@@ -1032,7 +1036,11 @@ X char buffer[SMALLBUF]; X X argv[0] = "pppd"; X+#if (defined(BSD) && (BSD >= 199103)) X+ argv[1] = "tty"; X+#else /* Not BSD, e.g., Linux || Solaris */ X argv[1] = "pty"; X+#endif X X snprintf(buffer, SMALLBUF, "%s -I %s -e %d:%02x:%02x:%02x:%02x:%02x:%02x%s", X PPPOE_PATH, IfName, END-of-rp-pppoe/files/xpatch-src::pppoe-server.c echo x - rp-pppoe/files/xpatch-src::pppoe-sniff.c sed 's/^X//' >rp-pppoe/files/xpatch-src::pppoe-sniff.c << 'END-of-rp-pppoe/files/xpatch-src::pppoe-sniff.c' X--- src/pppoe-sniff.c.orig Thu Mar 22 14:35:59 2001 X+++ src/pppoe-sniff.c Thu Mar 22 14:49:39 2001 X@@ -33,6 +33,9 @@ X void dlokack(int fd, char *bufp); X #endif X X+/* function prototype */ X+void sysErr(char const *); X+ X /* Default interface if no -I option given */ X #define DEFAULT_IF "eth0" X X@@ -43,6 +46,23 @@ X X char *IfName = NULL; /* Interface name */ X char *ServiceName = NULL; /* Service name */ X+ X+/********************************************************************** X+*%FUNCTION: sysErr X+*%ARGUMENTS: X+* str -- error message X+*%RETURNS: X+* Nothing X+*%DESCRIPTION: X+* Prints a message plus the errno value to syslog. X+***********************************************************************/ X+void X+sysErr(char const *str) X+{ X+ char buf[1024]; X+ sprintf(buf, "%.256s: %.256s", str, strerror(errno)); X+ printErr(buf); X+} X X /********************************************************************** X *%FUNCTION: parsePADRTags END-of-rp-pppoe/files/xpatch-src::pppoe-sniff.c echo x - rp-pppoe/Makefile sed 's/^X//' >rp-pppoe/Makefile << 'END-of-rp-pppoe/Makefile' X# New ports collection makefile for: popular pppd pppoe client X# Date created: 22 Mar 2001 X# Whom: Mario Sergio Fujikawa Ferreira <liouxFreeBSD.org> X# X# $FreeBSD: ports/net/rp-pppoe/Makefile,v 1.3 2002/09/01 16:07:51 dwcjr Exp $ X# X XPORTNAME= rp-pppoe XPORTVERSION= 3.5 XCATEGORIES= net XMASTER_SITES= http://www.roaringpenguin.com/products/rp-pppoe/ X XMAINTAINER= matthias.andree@gmx.de XCOMMENT= "The popular Roaring Penguin's PPPoE software" X X#BROKEN= Does not work well with FreeBSD\'s pppd, yet.\ X# Need help to be fixed X XUSE_REINPLACE= yes XGNU_CONFIGURE= yes XUSE_GMAKE= yes XCONFIGURE_WRKSRC= ${WRKSRC}/src XBUILD_WRKSRC= ${WRKSRC}/src X XMAN5= pppoe.conf.5 XMAN8= adsl-connect.8 adsl-setup.8 adsl-start.8 adsl-status.8 \ X adsl-stop.8 pppoe-relay.8 pppoe-server.8 pppoe.8 X XCONFIG_FILES= firewall-masq firewall-standalone pap-secrets \ X pppoe-server-options pppoe.conf XDOC_FILES= CHANGES HOW-TO-CONNECT KERNEL-MODE-PPPOE LICENSE \ X PROBLEMS XSCRIPT_FILES= adsl-connect adsl-init adsl-setup adsl-start \ X adsl-status adsl-stop X Xpost-patch: X @${REINPLACE_CMD} -e "s!/etc/ppp!${PREFIX}/etc/ppp!g" ${WRKSRC}/man/* X @${REINPLACE_CMD} -e 's!/etc/ppp!$$(prefix)/etc/ppp!g' \ X ${WRKSRC}/src/Makefile.in X.for file in adsl-connect adsl-init adsl-setup adsl-start X @${REINPLACE_CMD} -e 's!/etc/+ppp!$${prefix}/etc/ppp!g' \ X ${WRKSRC}/scripts/${file}.in X.endfor X @${REINPLACE_CMD} -e 's!pty!tty!g' ${WRKSRC}/scripts/adsl-connect.in X @${REINPLACE_CMD} -e 's!/var/lock/subsys/adsl!/var/tmp/rp_pppoe_adsl!g' \ X ${WRKSRC}/scripts/adsl-init.in X.for f in adsl-status adsl-stop.in X @${REINPLACE_CMD} -e "s!/etc/ppp!${PREFIX}/etc/ppp!g" \ X ${WRKSRC}/scripts/${f} X.endfor X Xdo-install: X# Binaries X.for f in pppoe pppoe-server X @${INSTALL_PROGRAM} ${BUILD_WRKSRC}/${f} ${PREFIX}/sbin X.endfor X# Configurations X @${MKDIR} ${PREFIX}/etc/ppp X.for f in ${CONFIG_FILES} X @${INSTALL_DATA} ${WRKSRC}/configs/${f} \ X ${PREFIX}/etc/ppp/${f}.sample X.endfor X.if !exists(${PREFIX}/etc/ppp/pppoe.conf) X ${INSTALL_SCRIPT} ${PREFIX}/etc/ppp/pppoe.conf.sample \ X ${PREFIX}/etc/ppp/pppoe.conf X.endif X# Manual pages X @${INSTALL_MAN} ${WRKSRC}/man/${MAN5} ${PREFIX}/man/man5 X.for f in ${MAN8} X @${INSTALL_MAN} ${WRKSRC}/man/${f} ${PREFIX}/man/man8 X.endfor X# Scripts X.for f in ${SCRIPT_FILES} X @${INSTALL_SCRIPT} ${WRKSRC}/scripts/${f} ${PREFIX}/sbin X.endfor X# Documentation X.ifndef (NOPORTDOCS) X @${MKDIR} ${PREFIX}/share/doc/${PORTNAME} X @${INSTALL_DATA} ${WRKSRC}/doc/* ${PREFIX}/share/doc/${PORTNAME} X.endif /* NOPORTDOCS */ X X.include <bsd.port.mk> END-of-rp-pppoe/Makefile echo x - rp-pppoe/distinfo sed 's/^X//' >rp-pppoe/distinfo << 'END-of-rp-pppoe/distinfo' XMD5 (rp-pppoe-3.5.tar.gz) = 97972f8f8f6a3ab9b7070333a6a29c4b XSIZE (rp-pppoe-3.5.tar.gz) = 189321 END-of-rp-pppoe/distinfo echo x - rp-pppoe/pkg-descr sed 's/^X//' >rp-pppoe/pkg-descr << 'END-of-rp-pppoe/pkg-descr' XPPPoE (Point-to-Point Protocol over Ethernet) is a protocol used Xby many ADSL service providers. Roaring Penguin's PPPoE software Xis a reliable program for connecting unix systems to PPPoE service Xproviders without requiring any kernel patches. X XNote that this port has had little testing (it works on 5-CURRENT Xto access T-Online in Germany from the client side) and the server side Xis entirely untested. X XWWW: http://www.roaringpenguin.com/pppoe/ END-of-rp-pppoe/pkg-descr echo x - rp-pppoe/pkg-plist sed 's/^X//' >rp-pppoe/pkg-plist << 'END-of-rp-pppoe/pkg-plist' Xsbin/adsl-connect Xsbin/adsl-init Xsbin/adsl-setup Xsbin/adsl-start Xsbin/adsl-status Xsbin/adsl-stop Xsbin/pppoe Xsbin/pppoe-server X%%PORTDOCS%%%%DOCSDIR%%/CHANGES X%%PORTDOCS%%%%DOCSDIR%%/HOW-TO-CONNECT X%%PORTDOCS%%%%DOCSDIR%%/KERNEL-MODE-PPPOE X%%PORTDOCS%%%%DOCSDIR%%/LICENSE X%%PORTDOCS%%%%DOCSDIR%%/PROBLEMS X%%PORTDOCS%%@dirrm %%DOCSDIR%% Xetc/ppp/firewall-masq.sample Xetc/ppp/firewall-standalone.sample Xetc/ppp/pap-secrets.sample Xetc/ppp/pppoe-server-options.sample X@unexec if cmp -s %D/etc/ppp/pppoe.conf.sample %D/etc/ppp/pppoe.conf ; then rm %D/etc/ppp/pppoe.conf ; fi Xetc/ppp/pppoe.conf.sample X@unexec rmdir %D/etc/ppp 2>/dev/null || echo "If you are permanently removing pppoe, you should also ``rm -Rf ${PKG_PREFIX}/etc/ppp'' removing any configuration and password files left." | /usr/bin/fmt END-of-rp-pppoe/pkg-plist exit --- rp-pppoe-3.5.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040619143829.128151B20E>