summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-03-07 17:55:21 +0100
committerChristian Poessinger <christian@poessinger.com>2020-03-07 17:56:17 +0100
commitac45a7ee1d48b6988b9e5ccb9ee0883c5177a5e7 (patch)
tree1f43ad3990c3eb5375c2fe1f4f9c5f5a75c5cc52
parent23010444a1136616bdcbae47811b8cc0f0aea1f0 (diff)
downloadvyos-1x-ac45a7ee1d48b6988b9e5ccb9ee0883c5177a5e7.tar.gz
vyos-1x-ac45a7ee1d48b6988b9e5ccb9ee0883c5177a5e7.zip
pppoe: T1318: add ip-pre-up script
ppp already supports ip-pre-up script but none was being supplied. Need ip-pre-up to handle renames and firewall properly. Script imported from old VyOS PPP fork repository at https://github.com/vyos/ppp-debian
-rw-r--r--debian/vyos-1x.install1
-rwxr-xr-xsrc/etc/ppp/ip-pre-up51
2 files changed, 52 insertions, 0 deletions
diff --git a/debian/vyos-1x.install b/debian/vyos-1x.install
index d8388eecc..5bb7ea507 100644
--- a/debian/vyos-1x.install
+++ b/debian/vyos-1x.install
@@ -1,5 +1,6 @@
etc/dhcp
etc/init.d
+etc/ppp
etc/rsyslog.d
etc/systemd
etc/vyos
diff --git a/src/etc/ppp/ip-pre-up b/src/etc/ppp/ip-pre-up
new file mode 100755
index 000000000..05840650b
--- /dev/null
+++ b/src/etc/ppp/ip-pre-up
@@ -0,0 +1,51 @@
+#!/bin/sh
+#
+# This script is run by the pppd when the link is created.
+# It uses run-parts to run scripts in /etc/ppp/ip-pre-up.d, to
+# change name, setup firewall,etc you should create script(s) there.
+#
+# Be aware that other packages may include /etc/ppp/ip-pre-up.d scripts (named
+# after that package), so choose local script names with that in mind.
+#
+# This script is called with the following arguments:
+# Arg Name Example
+# $1 Interface name ppp0
+# $2 The tty ttyS1
+# $3 The link speed 38400
+# $4 Local IP number 12.34.56.78
+# $5 Peer IP number 12.34.56.99
+# $6 Optional ``ipparam'' value foo
+
+# The environment is cleared before executing this script
+# so the path must be reset
+PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
+export PATH
+
+# These variables are for the use of the scripts run by run-parts
+PPP_IFACE="$1"
+PPP_TTY="$2"
+PPP_SPEED="$3"
+PPP_LOCAL="$4"
+PPP_REMOTE="$5"
+PPP_IPPARAM="$6"
+export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
+
+# as an additional convenience, $PPP_TTYNAME is set to the tty name,
+# stripped of /dev/ (if present) for easier matching.
+PPP_TTYNAME=`/usr/bin/basename "$2"`
+export PPP_TTYNAME
+
+# If /var/log/ppp-ipupdown.log exists use it for logging.
+if [ -e /var/log/ppp-ipupdown.log ]; then
+ exec > /var/log/ppp-ipupdown.log 2>&1
+ echo $0 $*
+ echo
+fi
+
+# This script can be used to override the .d files supplied by other packages.
+if [ -x /etc/ppp/ip-pre-up.local ]; then
+ exec /etc/ppp/ip-pre-up.local "$*"
+fi
+
+run-parts /etc/ppp/ip-pre-up.d \
+ --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6"