/ppp/ip-down

http://github.com/brinkman83/bashrc · Shell · 52 lines · 21 code · 7 blank · 24 comment · 2 complexity · 7a44bcdb7d4a0920669b496bb4d007b5 MD5 · raw file

  1. #!/bin/sh
  2. #
  3. # This script is run by the pppd _after_ the link is brought down.
  4. # It uses run-parts to run scripts in /etc/ppp/ip-down.d, so to delete
  5. # routes, unset IP addresses etc. you should create script(s) there.
  6. #
  7. # Be aware that other packages may include /etc/ppp/ip-down.d scripts (named
  8. # after that package), so choose local script names with that in mind.
  9. #
  10. # This script is called with the following arguments:
  11. # Arg Name Example
  12. # $1 Interface name ppp0
  13. # $2 The tty ttyS1
  14. # $3 The link speed 38400
  15. # $4 Local IP number 12.34.56.78
  16. # $5 Peer IP number 12.34.56.99
  17. # $6 Optional ``ipparam'' value foo
  18. # The environment is cleared before executing this script
  19. # so the path must be reset
  20. PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
  21. export PATH
  22. # These variables are for the use of the scripts run by run-parts
  23. PPP_IFACE="$1"
  24. PPP_TTY="$2"
  25. PPP_SPEED="$3"
  26. PPP_LOCAL="$4"
  27. PPP_REMOTE="$5"
  28. PPP_IPPARAM="$6"
  29. export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
  30. # as an additional convenience, $PPP_TTYNAME is set to the tty name,
  31. # stripped of /dev/ (if present) for easier matching.
  32. PPP_TTYNAME=`/usr/bin/basename "$2"`
  33. export PPP_TTYNAME
  34. # If /var/log/ppp-ipupdown.log exists use it for logging.
  35. if [ -e /var/log/ppp-ipupdown.log ]; then
  36. exec >> /var/log/ppp-ipupdown.log 2>&1
  37. echo $0 $*
  38. echo
  39. fi
  40. # This script can be used to override the .d files supplied by other packages.
  41. if [ -x /etc/ppp/ip-down.local ]; then
  42. exec /etc/ppp/ip-down.local "$*"
  43. fi
  44. run-parts /etc/ppp/ip-down.d \
  45. --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6"