]>
git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/initscripts/init.d/connectd
7 # Stop if nothing is configured
8 if [ ! -s "/var/ipfire/ppp/settings" ];then
12 eval $
(/usr
/local
/bin
/readhash
/var
/ipfire
/ppp
/settings
)
17 if [ ! $HOLDOFF ]; then
22 logger
-t $
(basename $0)[$$
] $
*
25 msg_log
"Connectd ($1) started with PID $$"
28 if [ -s "/var/ipfire/red/keepconnected" ]; then
29 ATTEMPTS
=$
(cat /var
/ipfire
/red
/keepconnected
)
31 echo "0" > /var
/ipfire
/red
/keepconnected
36 boot_mesg
"Starting connection daemon..."
39 while [ "$COUNT" -lt "$MAX" ]; do
40 if [ ! -e "/var/ipfire/red/keepconnected" ]; then
41 # User pressed disconnect in gui
42 msg_log
"Stopping by user request. Exiting."
43 /etc
/rc.d
/init.d
/network stop red
46 if [ -e "/var/ipfire/red/active" ]; then
47 # Successfully connected in time
48 echo "0" > /var
/ipfire
/red
/keepconnected
49 msg_log
"System is online. Exiting."; exit 0
51 if ( ! ps ax |
grep -q [p
]ppd
); then
52 msg_log
"No pppd is running. Trying reconnect."
53 break # because pppd died
59 /etc
/rc.d
/init.d
/network stop red
62 msg_log
"Reconnecting: Attempt ${ATTEMPTS} of ${MAXRETRIES}"
63 if [ "${ATTEMPTS}" -ge "${MAXRETRIES}" ]; then
64 echo "0" > /var
/ipfire
/red
/keepconnected
65 if [ "$BACKUPPROFILE" != '' ]; then
66 rm -f /var
/ipfire
/ppp
/settings
67 cp "/var/ipfire/ppp/settings-${BACKUPPROFILE}" /var
/ipfire
/ppp
/settings
68 msg_log
"Switched to backup profile ${BACKUPPROFILE}"
69 # to be shure the right secrets are used
70 eval $
(/usr
/local
/bin
/readhash
/var
/ipfire
/ppp
/settings-
${BACKUPPROFILE})
71 echo "'$USERNAME' * '$PASSWORD'" > /var
/ipfire
/ppp
/secrets
73 msg_log
"No backup profile given. Exiting."
77 echo $ATTEMPTS > /var
/ipfire
/red
/keepconnected
81 /etc
/rc.d
/init.d
/network start red
&
85 while ( ps ax |
grep -q [p
]ppd
); do
86 msg_log
"There is a pppd still running. Waiting 2 seconds for exit."
90 /etc
/rc.d
/init.d
/network restart red
94 echo "Usage: $0 {start|reconnect}"
99 msg_log
"Exiting gracefully connectd with PID $$."