]>
git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/initscripts/init.d/connectd
7 eval $
(/usr
/local
/bin
/readhash
/var
/ipfire
/ppp
/settings
)
12 if [ ! $HOLDOFF ]; then
17 logger
-t $
(basename $0)[$$
] $
*
20 msg_log
"Connectd ($1) started with PID $$"
23 if [ -s "/var/ipfire/red/keepconnected" ]; then
24 ATTEMPTS
=$
(cat /var
/ipfire
/red
/keepconnected
)
26 echo "0" > /var
/ipfire
/red
/keepconnected
31 boot_mesg
"Starting connection daemon..."
34 while [ "$COUNT" -lt "$MAX" ]; do
35 if [ ! -e "/var/ipfire/red/keepconnected" ]; then
36 # User pressed disconnect in gui
37 msg_log
"Stopping by user request. Exiting."
38 /etc
/rc.d
/init.d
/network stop red
41 if [ -e "/var/ipfire/red/active" ]; then
42 # Successfully connected in time
43 echo "0" > /var
/ipfire
/red
/keepconnected
44 msg_log
"System is online. Exiting."; exit 0
46 if ( ! ps ax |
grep -q [p
]ppd
); then
47 msg_log
"No pppd is running. Trying reconnect."
48 break # because pppd died
54 /etc
/rc.d
/init.d
/network stop red
57 msg_log
"Reconnecting: Attempt ${ATTEMPTS} of ${MAXRETRIES}"
58 if [ "${ATTEMPTS}" -ge "${MAXRETRIES}" ]; then
59 echo "0" > /var
/ipfire
/red
/keepconnected
60 if [ "$BACKUPPROFILE" != '' ]; then
61 rm -f /var
/ipfire
/ppp
/settings
62 cp "/var/ipfire/ppp/settings-${BACKUPPROFILE}" /var
/ipfire
/ppp
/settings
63 msg_log
"Switched to backup profile ${BACKUPPROFILE}"
65 msg_log
"No backup profile given. Exiting."
69 echo $ATTEMPTS > /var
/ipfire
/red
/keepconnected
73 /etc
/rc.d
/init.d
/network start red
&
77 while ( ps ax |
grep -q [p
]ppd
); do
81 /etc
/rc.d
/init.d
/network restart red
&
85 echo "Usage: $0 {start|reconnect}"
90 msg_log
"Exiting gracefully connectd with PID $$."