SHA256
1
0
forked from pool/rp-pppoe

Accepting request 1087180 from home:fcrozat:branches:network

- Updated to 4.0:
  * SPDX-License-Identifier: tags added to most source files
  * rp-pppoe.so plugin: Modified to compile against both pppd >= 2.5.0 and
    pppd < 2.5.0.
  * pppoe-server: If -L or -R option is specified as 0.0.0.0, then IP allocation
    is delegated to pppd.
  * pppoe-server: New -g option specifies the path of the rp-pppoe.so plugin to
    use with pppd in kernel-mode PPPoE.
  * pppoe-server: New -U option specifies a UNIX-domain control socket.  This
    lets you send control commands to the server while it is running; see the
    pppoe-server man page for details.
  * All source code: Many cleanups and use of standard types like uint16_t rather
    than ones we define.
  * All source code: Support for OSes other than Linux has been dropped.
  * Documentation: Updated from modern Linux systems.
  * Cleanup: The following old and obsolete files have been removed:
    - Old connection scripts scripts/pppoe-connect.in, scripts/pppoe-start.in,
    scripts/pppoe-init-suse.in, scripts/pppoe-setup.in, scripts/pppoe-status,
    scripts/pppoe-init.in, and scripts/pppoe-stop.in
    * Obsolete firewall scripts configs/firewall-standalone and
      configs/firewall-masq
    - Obsolete configuration files configs/pppoe.conf and configs/pap-secrets
    - The Tcl/Tk gui script gui/tkpppoe.in and supporting files
    - The RPM spec file rp-pppoe.spec
- Drop rp-pppoe-3.14-nonrfc-modems.patch, rp-pppoe-3.14-resolve-conf.patch,
  rp-pppoe-3.14-config.patch, rp-pppoe-3.14-init.patch, 
  patched scripts no longer exists.
- Drop rp-pppoe-3.14-release-buildsystem.patch, rp-pppoe-3.14-pie.patch
  rp-pppoe-3.14-strip.patch, no longer needed.

OBS-URL: https://build.opensuse.org/request/show/1087180
OBS-URL: https://build.opensuse.org/package/show/network/rp-pppoe?expand=0&rev=38
This commit is contained in:
Илья Индиго 2023-05-15 09:00:14 +00:00 committed by Git OBS Bridge
parent 08d608d714
commit 83c913e1bc
11 changed files with 46 additions and 310 deletions

View File

@ -1,21 +0,0 @@
diff -Pdpru rp-pppoe-3.14.orig/scripts/pppoe-connect.in rp-pppoe-3.14/scripts/pppoe-connect.in
--- rp-pppoe-3.14.orig/scripts/pppoe-connect.in 2020-05-27 03:29:37.000000000 +0300
+++ rp-pppoe-3.14/scripts/pppoe-connect.in 2020-05-28 03:25:07.471458502 +0300
@@ -18,7 +18,7 @@
# Usage: pppoe-connect [config_file]
# pppoe-connect interface user [config_file]
# Second form overrides USER and ETH from config file.
-# If config_file is omitted, defaults to /etc//ppp/pppoe.conf
+# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
#
#***********************************************************************
@@ -48,7 +48,7 @@ if test "$SETSID" != "" -a ! -x "$SETSID
SETSID=""
fi
-CONFIG=/etc//ppp/pppoe.conf
+CONFIG=/etc/ppp/pppoe.conf
USER=""
ETH=""

View File

@ -1,130 +0,0 @@
diff -Pdpru rp-pppoe-3.14.orig/scripts/pppoe-init-suse.in rp-pppoe-3.14/scripts/pppoe-init-suse.in
--- rp-pppoe-3.14.orig/scripts/pppoe-init-suse.in 2020-05-27 03:29:37.000000000 +0300
+++ rp-pppoe-3.14/scripts/pppoe-init-suse.in 2020-05-28 03:46:47.354070399 +0300
@@ -15,53 +15,106 @@
# Modifed to work with SuSE 6.4 linux by Gary Cameron.
#
-# Source function library.
-#. /etc/rc.d/init.d/functions # For red hat?
-. /etc/rc.config # For SuSE, enables setting from /etc/rc.config
+# Modifed and fixed to work with SuSE linux by Anas Nashif <nashif@suse.de>
+
+### BEGIN INIT INFO
+# Provides: rp-pppoe
+# Required-Start: $remote_fs $syslog $network $named
+# Required-Stop: $syslog $remote_fs
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Start Roaring Penguin ADSL
+# Description: Start Roaring Penguin ADSL
+### END INIT INFO
+
+. /etc/rc.status
#Tweak this
restart_time=120
# From AUTOCONF
prefix=@prefix@
-exec_prefix=@exec_prefix@
+exec_prefix=${prefix}
# Paths to programs
START=@sbindir@/pppoe-start
STOP=@sbindir@/pppoe-stop
STATUS=@sbindir@/pppoe-status
-test "$PPPoE_START" = "yes" || exit 0
+CONFIG=`cat @sbindir@/pppoe-start | grep "^CONFIG" | awk -F"=" '{print $2}'`
+CF_BASE=`basename $CONFIG`
+PIDFILE=`cat $CONFIG | grep "^PIDFILE" | awk -F"=" '{print $2}'`
+PPPOE_PIDFILE=`cat @sbindir@/pppoe-connect | grep "^PPPOE_PIDFILE" | awk -F"=" '{print $2}'`
+PPPD_PIDFILE=`cat @sbindir@/pppoe-connect | grep "^PPPD_PIDFILE" | awk -F"=" '{print $2}'`
+
+# IN: RET
+chk_status(){
+ RES=
+ case $1 in
+ 0) RES=0
+ ;;
+ 1) if [ -e $PPPOE_PIDFILE ] || [ -e $PPPD_PIDFILE ]; then
+ RES=1
+ else
+ RES=3
+ fi
+ ;;
+ esac
+ return $RES
+}
# The echo return value for success (defined in /etc/rc.config).
-return=$rc_done
case "$1" in
start)
- echo -n "Bringing up PPPoE link"
- $START > /dev/null 2>&1 || return=$rc_failed
- echo -e "$return"
+ echo -n "Bringing up PPPoE link: "
+ $START > /dev/null 2>&1
+ # Remember status and be verbose
+ rc_status -v
;;
-
stop)
- echo -n "Shutting down PPPoE link"
- $STOP > /dev/null 2>&1 || return=$rc_failed
- echo -e "$return"
+ echo -n "Shutting down PPPoE link: "
+ $STOP > /dev/null 2>&1
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ try-restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+ # Remember status and be quiet
+ rc_status
;;
-
restart)
$0 stop
echo "Waiting" $restart_time "seconds for the host to reset itself"
sleep $restart_time #Note: Need time for host to reset itself
$0 start
+ # Remember status and be quiet
+ rc_status
+ ;;
+ reload|force-reload)
+ echo -n "Reload PPPoE link: "
+ rc_failed 5
+ # Remember status and be verbose
+ rc_status -v
;;
-
status)
- $STATUS
+ echo -n "Checking PPPoE link: "
+ # Return value is slightly different for the status command:
+ # 0 - service up and running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running (unused)
+ # 4 - service status unknown :-(
+ # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
+ RET=`$STATUS > /dev/null 2>&1; echo $?`
+ chk_status $RET
+ # Remember status and be verbose
+ rc_status -v
;;
-
*)
- echo "Usage: pppoe {start|stop|restart|status}"
+ echo "Usage: pppoe {start|stop|restart|status|try-restart}"
exit 1
esac
-
-exit 0
+rc_exit

View File

@ -1,64 +0,0 @@
diff -Pdpru rp-pppoe-3.14.orig/scripts/pppoe-setup.in rp-pppoe-3.14/scripts/pppoe-setup.in
--- rp-pppoe-3.14.orig/scripts/pppoe-setup.in 2020-05-27 03:29:37.000000000 +0300
+++ rp-pppoe-3.14/scripts/pppoe-setup.in 2020-05-28 02:55:29.251934958 +0300
@@ -109,6 +109,42 @@ while [ true ] ; do
fi
echo ""
+ echo "MODEM TYPE"
+ echo ""
+ echo "We will try to detect if your modem is compliant with RFC 2516"
+ echo "or not. 3COM's 3CP4130 is *NOT* compliant, for instance."
+ echo ""
+ echo "Searching for a modem at interface $E..."
+ $PPPOE -A -I $E > /dev/null 2>&1
+ if [ $? -eq 1 ]; then
+ # not found
+ # try 3COM's
+ echo ""
+ echo "Not found, trying with 3COM's code..."
+ result=`$PPPOE -A -I $E -f 3c12:3c13 2>/dev/null`
+ if [ $? -eq 0 ]; then
+ echo "Non-RFC2516 compliant modem found! Probably 3CP4130..."
+ echo "Probing for service name..."
+ service=`echo "$result" | grep Service-Name | grep -v "3Com DL Manager" | cut -d : -f 2`
+ if [ -n "$service" ]; then
+ echo "Found service name = $service"
+ PPPOE_EXTRA="-f 3c12:3c13 -S $service"
+ else
+ echo "Couldn't find a service name, proceeding without one..."
+ PPPOE_EXTRA="-f 3c12:3c13"
+ fi
+ else
+ echo ""
+ echo "Didn't find a modem at interface $E, you can continue but"
+ echo "things might not work as you expect... :("
+ echo "You might want to re-run this script and try a different interface."
+ fi
+ else
+ echo "Found a RFC 2516 compliant modem, congratulations! :)"
+ PPPOE_EXTRA=""
+ fi
+
+ echo ""
echo "Do you want the link to come up on demand, or stay up continuously?"
echo "If you want it to come up on demand, enter the idle time in seconds"
echo "after which the link should be dropped. If you want the link to"
@@ -220,6 +256,9 @@ while [ true ] ; do
echo "** Summary of what you entered **"
echo ""
echo "Ethernet Interface: $E"
+ if [ -n "$PPPOE_EXTRA" ]; then
+ echo "Extra parameters for modem (autodetected): \"$PPPOE_EXTRA\""
+ fi
echo "User name: $U"
if [ "$D" = "no" ] ; then
echo "Activate-on-demand: No"
@@ -296,6 +335,7 @@ sed -e "s&^USER=.*&USER='$U'&" \
-e "s/^DNS1=.*/DNS1=$DNS1/" \
-e "s/^DNS2=.*/DNS2=$DNS2/" \
-e "s/^PEERDNS=.*/PEERDNS=$PEERDNS/" \
+ -e "s/^PPPOE_EXTRA=.*/PPPOE_EXTRA=\"$PPPOE_EXTRA\"/" \
< $CONFIG-bak > $CONFIG
if [ $? != 0 ] ; then

View File

@ -1,16 +0,0 @@
diff -Pdpru rp-pppoe-3.14.orig/gui/Makefile.in rp-pppoe-3.14/gui/Makefile.in
--- rp-pppoe-3.14.orig/gui/Makefile.in 2020-05-27 03:29:37.000000000 +0300
+++ rp-pppoe-3.14/gui/Makefile.in 2020-05-28 03:51:05.322582248 +0300
@@ -38,10 +38,10 @@ all: pppoe-wrapper
@echo "Type 'make install' as root to install the software."
pppoe-wrapper: wrapper.o
- @CC@ -o pppoe-wrapper wrapper.o
+ @CC@ -pie -Wl,-z,relro,-z,now -fwhole-program -o pppoe-wrapper wrapper.o
wrapper.o: wrapper.c
- @CC@ $(CFLAGS) -c -o wrapper.o wrapper.c
+ @CC@ -Wl,-z,relro,-z,now -fpie -fPIE -fwhole-program $(CFLAGS) -c -o wrapper.o wrapper.c
install: all
-mkdir -p $(DESTDIR)$(sbindir)

View File

@ -1,18 +0,0 @@
diff -Pdpru rp-pppoe-3.14.orig/src/Makefile.in rp-pppoe-3.14/src/Makefile.in
--- rp-pppoe-3.14.orig/src/Makefile.in 2020-05-27 03:29:37.000000000 +0300
+++ rp-pppoe-3.14/src/Makefile.in 2020-05-28 03:07:40.557172960 +0300
@@ -210,11 +210,9 @@ install: all
mkdir -p $(DESTDIR)/etc/rc.d/init.d ;\
$(install) -m 755 ../scripts/pppoe-init $(DESTDIR)/etc/rc.d/init.d/pppoe ; \
fi
- @if [ -f /etc/SuSE-release ] ; then \
- echo "Looks like a SuSE Linux system; installing $(DESTDIR)/etc/rc.d/init.d/pppoe" ; \
- mkdir -p $(DESTDIR)/etc/rc.d/init.d ;\
- $(install) -m 755 ../scripts/pppoe-init-suse $(DESTDIR)/etc/rc.d/init.d/pppoe ; \
- fi
+ echo "Looks like a SuSE Linux system; installing $(DESTDIR)/etc/init.d/pppoe" ; \
+ mkdir -p $(DESTDIR)/etc/init.d ;\
+ $(install) -m 755 ../scripts/pppoe-init-suse $(DESTDIR)/etc/init.d/pppoe ; \
@if [ -f l2tp/handlers/sync-pppd.so ] ; then \
mkdir -p $(DESTDIR)/usr/lib/l2tp/plugins ; \

View File

@ -1,22 +0,0 @@
diff -Pdpru rp-pppoe-3.14.orig/scripts/pppoe-connect.in rp-pppoe-3.14/scripts/pppoe-connect.in
--- rp-pppoe-3.14.orig/scripts/pppoe-connect.in 2020-05-27 03:29:37.000000000 +0300
+++ rp-pppoe-3.14/scripts/pppoe-connect.in 2020-05-28 03:18:01.758770756 +0300
@@ -232,16 +232,12 @@ fi
PPP_STD_OPTIONS="$PLUGIN_OPTS $DOUNIT noipdefault noauth default-asyncmap $DEFAULTROUTE hide-password nodetach $PEERDNS mtu $MTU mru $MRU noaccomp nodeflate nopcomp novj novjccomp user $USER lcp-echo-interval $LCP_INTERVAL lcp-echo-failure $LCP_FAILURE $PPPD_EXTRA"
# Jigger DNS if required...
-if test "$DNSTYPE" = "SERVER" ; then
- # Sorry, dude...
- rm -f /etc/resolv.conf
- ln -s /etc/ppp/resolv.conf /etc/resolv.conf
-elif test "$DNSTYPE" = "SPECIFY" ; then
+if test "$DNSTYPE" = "SPECIFY" ; then
# Sorry, dude...
rm -f /etc/resolv.conf
echo "nameserver $DNS1" > /etc/resolv.conf
if test -n "$DNS2" ; then
- echo "nameserver $DNS2" >> /etc/resolv.conf
+ echo "nameserver $DNS2" >> /etc/resolv.conf
fi
fi

View File

@ -1,12 +0,0 @@
diff -Pdpru rp-pppoe-3.14.orig/gui/Makefile.in rp-pppoe-3.14/gui/Makefile.in
--- rp-pppoe-3.14.orig/gui/Makefile.in 2020-05-27 03:29:37.000000000 +0300
+++ rp-pppoe-3.14/gui/Makefile.in 2020-05-28 03:54:38.555034196 +0300
@@ -47,7 +47,7 @@ install: all
-mkdir -p $(DESTDIR)$(sbindir)
-mkdir -p $(DESTDIR)$(bindir)
-mkdir -p $(DESTDIR)/etc/ppp/rp-pppoe-gui
- $(install) -m 4755 -s pppoe-wrapper $(DESTDIR)$(sbindir)
+ $(install) -m 4755 pppoe-wrapper $(DESTDIR)$(sbindir)
$(install) -m 755 tkpppoe $(DESTDIR)$(bindir)
-mkdir -p $(DESTDIR)$(mandir)/man1
$(install) -m 644 pppoe-wrapper.1 $(DESTDIR)$(mandir)/man1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b1f318bc7e4e5b0fd8a8e23e8803f5e6e43165245a5a10a7162a92a6cf17829a
size 224966

BIN
rp-pppoe-4.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,41 @@
-------------------------------------------------------------------
Mon May 15 07:18:40 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Updated to 4.0:
* SPDX-License-Identifier: tags added to most source files
* rp-pppoe.so plugin: Modified to compile against both pppd >= 2.5.0 and
pppd < 2.5.0.
* pppoe-server: If -L or -R option is specified as 0.0.0.0, then IP allocation
is delegated to pppd.
* pppoe-server: New -g option specifies the path of the rp-pppoe.so plugin to
use with pppd in kernel-mode PPPoE.
* pppoe-server: New -U option specifies a UNIX-domain control socket. This
lets you send control commands to the server while it is running; see the
pppoe-server man page for details.
* All source code: Many cleanups and use of standard types like uint16_t rather
than ones we define.
* All source code: Support for OSes other than Linux has been dropped.
* Documentation: Updated from modern Linux systems.
* Cleanup: The following old and obsolete files have been removed:
- Old connection scripts scripts/pppoe-connect.in, scripts/pppoe-start.in,
scripts/pppoe-init-suse.in, scripts/pppoe-setup.in, scripts/pppoe-status,
scripts/pppoe-init.in, and scripts/pppoe-stop.in
* Obsolete firewall scripts configs/firewall-standalone and
configs/firewall-masq
- Obsolete configuration files configs/pppoe.conf and configs/pap-secrets
- The Tcl/Tk gui script gui/tkpppoe.in and supporting files
- The RPM spec file rp-pppoe.spec
- Drop rp-pppoe-3.14-nonrfc-modems.patch, rp-pppoe-3.14-resolve-conf.patch,
rp-pppoe-3.14-config.patch, rp-pppoe-3.14-init.patch,
patched scripts no longer exists.
- Drop rp-pppoe-3.14-release-buildsystem.patch, rp-pppoe-3.14-pie.patch
rp-pppoe-3.14-strip.patch, no longer needed.
-------------------------------------------------------------------
Sun Sep 4 17:53:20 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>

View File

@ -1,7 +1,7 @@
#
# spec file for package rp-pppoe
# spec file
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -19,7 +19,7 @@
%define _name pppoe
%define _group dialout
Name: rp-%{_name}
Version: 3.15
Version: 4.0
Release: 0
Summary: A PPP Over Ethernet Redirector for PPPD
License: GPL-2.0-or-later
@ -33,19 +33,12 @@ Source5: %{_name}-stop
Source6: %{_name}.service
Source7: %{_name}-server.service
Patch0: %{name}-3.14-docdir.patch
Patch1: %{name}-3.14-nonrfc-modems.patch
Patch2: %{name}-3.14-release-buildsystem.patch
Patch3: %{name}-3.14-resolve-conf.patch
Patch4: %{name}-3.14-config.patch
Patch5: %{name}-3.14-init.patch
Patch6: %{name}-3.14-pie.patch
Patch7: %{name}-3.14-strip.patch
BuildRequires: pkgconfig
BuildRequires: ppp
BuildRequires: pkgconfig(systemd)
Requires: group(%{_group})
Requires: iproute2
Requires: ppp
Requires: group(%{_group})
Requires(post): permissions
Requires(pre): group(%{_group})
@ -61,12 +54,9 @@ many ADSL service providers.
cd src
%configure
%make_build
cd ../gui
%make_build
%install
%make_install -C src
%make_install -C gui
mkdir -p %{buildroot}%{_sbindir} %{buildroot}%{_unitdir}
install -p %{SOURCE1} %{buildroot}%{_sbindir}
install -p %{SOURCE2} %{buildroot}%{_sbindir}
@ -80,9 +70,7 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{_name}-server
ln -s %{_name}-stop %{buildroot}%{_sbindir}/adsl-stop
ln -s %{_name}-start %{buildroot}%{_sbindir}/adsl-start
install -Dpm0644 %{buildroot}%{_sysconfdir}/ppp/plugins/README %{buildroot}%{_defaultdocdir}/%{name}/README.plugins
rm -r %{buildroot}%{_initddir} \
%{buildroot}%{_sysconfdir}/ppp/plugins \
%{buildroot}%{_sysconfdir}/ppp/%{_name}.conf \
rm -r %{buildroot}%{_sysconfdir}/ppp/plugins \
%{buildroot}%{_defaultdocdir}/%{name}/LICENSE
%pre
@ -109,21 +97,14 @@ rm -r %{buildroot}%{_initddir} \
%license doc/LICENSE
%dir %{_defaultdocdir}/%{name}
%doc %{_defaultdocdir}/%{name}/*
%attr(0750,root,root) %config(noreplace) %{_sysconfdir}/ppp/firewall-*
%attr(0640,root,root) %config(noreplace) %{_sysconfdir}/ppp/%{_name}-server-options
%{_bindir}/tkpppoe
%{_sbindir}/%{_name}
%{_sbindir}/%{_name}-*
%attr(4750,root,%{_group}) %{_sbindir}/%{_name}-wrapper
%{_mandir}/man?/*%{?ext_man}
%{_sbindir}/adsl-st*
%{_sbindir}/rc%{_name}
%{_sbindir}/rc%{_name}-server
%{_unitdir}/%{_name}.service
%{_unitdir}/%{_name}-server.service
%dir %{_sysconfdir}/ppp/%{name}-gui
%dir %{_datarootdir}/tk%{_name}
%{_datarootdir}/tk%{_name}/*
%verify(not mode caps) %attr(4750,root,%{_group}) %{_sbindir}/%{_name}-wrapper
%changelog