Wieder einmal die Netzwerkscripts.

git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@799 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
ms
2007-08-22 10:26:55 +00:00
parent 5b3962de0d
commit 0e42072a12
6 changed files with 38 additions and 48 deletions

View File

@@ -679,15 +679,19 @@ log_warning_msg() {
return 0
}
animate()
{
if [ $# = 0 ]
then
echo "Usage: animate {hook}"
exit 1
fi
splash "$*"
run_subdir() {
$DIR=$1
for i in $( ls -v ${DIR}* 2> /dev/null); do
check_script_status
OUT=$(echo $(basename ${i}) | awk -F- '{ print $2 }')
case "$OUT" in
S) ${i} start ;;
K) ${i} stop ;;
RS) ${i} restart ;;
RL) ${i} reload ;;
*) ${i} ;;
esac
done
}
# End $rc_base/init.d/functions

View File

@@ -12,19 +12,26 @@
#
########################################################################
. /etc/sysconfig/rc
. ${rc_functions}
eval $(/usr/local/bin/readhash "$1")
case "$2" in
up)
logger -p local0.info -t dhcpcd.exe[$$] "${INTERFACE} has been configured with old IP=${IPADDR}"
touch /var/ipfire/red/active
run_subdir ${rc_base}/init.d/networking/red.up/
;;
new)
logger -p local0.info -t dhcpcd.exe[$$] "${INTERFACE} has been configured with new IP=${IPADDR}"
[ -e "/var/ipfire/red/active" ] || touch /var/ipfire/red/active
run_subdir ${rc_base}/init.d/networking/red.down/
run_subdir ${rc_base}/init.d/networking/red.up/
;;
down)
logger -p local0.info -t dhcpcd.exe[$$] "${INTERFACE} has been brought down"
rm -f /var/ipfire/red/active
run_subdir ${rc_base}/init.d/networking/red.down/
;;
esac

View File

@@ -83,6 +83,8 @@ case "${1}" in
echo -n "${DNS1}" > /var/ipfire/red/dns1
echo -n "${DNS2}" > /var/ipfire/red/dns2
run_subdir ${rc_base}/init.d/networking/red.up/
elif [ "${TYPE}" == "DHCP" ]; then
boot_mesg -n "Starting dhcpcd on the ${DEVICE} interface..."
echo -n "${DEVICE}" > /var/ipfire/red/iface
@@ -206,18 +208,6 @@ case "${1}" in
/usr/sbin/pppoe-start
evaluate_retval
fi
for i in $( ls -v ${rc_base}/init.d/networking/red.up/* 2> /dev/null); do
check_script_status
OUT=$(echo $(basename ${i}) | awk -F- '{ print $2 }')
case "$OUT" in
S) ${i} start ;;
K) ${i} stop ;;
RS) ${i} restart ;;
RL) ${i} reload ;;
*) ${i} ;;
esac
done
;;
stop)
@@ -226,6 +216,8 @@ case "${1}" in
ip addr del ${args} dev ${DEVICE}
evaluate_retval
run_subdir ${rc_base}/init.d/networking/red.down/
elif [ "$TYPE" == "DHCP" ]; then
boot_mesg -n "Stopping dhcpcd on the ${DEVICE} interface..."
if [ -e $LEASEINFO ]; then
@@ -279,17 +271,6 @@ case "${1}" in
fi
rm -f /var/ipfire/red/{active,device,dial-on-demand,dns1,dns2,local-ipaddress,remote-ipaddress,resolv.conf}
for i in $( ls -v ${rc_base}/init.d/networking/red.down/* 2> /dev/null); do
check_script_status
OUT=$(echo $(basename ${i}) | awk -F- '{ print $2 }')
case "$OUT" in
S) ${i} start ;;
K) ${i} stop ;;
RS) ${i} restart ;;
RL) ${i} reload ;;
*) ${i} ;;
esac
done
;;
esac

View File

@@ -30,7 +30,6 @@ newtComponent netmaskentry;
newtComponent statictyperadio;
newtComponent dhcptyperadio;
newtComponent pppoetyperadio;
newtComponent pptptyperadio;
newtComponent dhcphostnameentry;
/* acceptable character filter for IP and netmaks entry boxes */
@@ -68,7 +67,6 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
int startstatictype = 0;
int startdhcptype = 0;
int startpppoetype = 0;
int startpptptype = 0;
/* Build some key strings. */
sprintf(addressfield, "%s_ADDRESS", colour);
@@ -93,17 +91,14 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
if (strcmp(temp, "STATIC") == 0) startstatictype = 1;
if (strcmp(temp, "DHCP") == 0) startdhcptype = 1;
if (strcmp(temp, "PPPOE") == 0) startpppoetype = 1;
if (strcmp(temp, "PPTP") == 0) startpptptype = 1;
statictyperadio = newtRadiobutton(2, 4, ctr[TR_STATIC], startstatictype, NULL);
dhcptyperadio = newtRadiobutton(2, 5, "DHCP", startdhcptype, statictyperadio);
pppoetyperadio = newtRadiobutton(2, 6, "PPPOE", startpppoetype, dhcptyperadio);
pptptyperadio = newtRadiobutton(2, 7, "PPTP", startpptptype, pppoetyperadio);
newtFormAddComponents(networkform, statictyperadio, dhcptyperadio,
pppoetyperadio, pptptyperadio, NULL);
pppoetyperadio, NULL);
newtComponentAddCallback(statictyperadio, networkdialogcallbacktype, NULL);
newtComponentAddCallback(dhcptyperadio, networkdialogcallbacktype, NULL);
newtComponentAddCallback(pppoetyperadio, networkdialogcallbacktype, NULL);
newtComponentAddCallback(pptptyperadio, networkdialogcallbacktype, NULL);
dhcphostnamelabel = newtTextbox(2, 9, 18, 1, 0);
newtTextboxSetText(dhcphostnamelabel, ctr[TR_DHCP_HOSTNAME]);
strcpy(temp, defaultdhcphostname);
@@ -121,7 +116,7 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
findkey(kv, addressfield, temp);
addressentry = newtEntry(20, (typeflag ? 11 : 4) + 0, temp, 20, &addressresult, 0);
newtEntrySetFilter(addressentry, ip_input_filter, NULL);
if (typeflag == 1 && startstatictype == 0 && startpptptype == 0 )
if (typeflag == 1 && startstatictype == 0)
newtEntrySetFlags(addressentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);
newtFormAddComponent(networkform, addresslabel);
newtFormAddComponent(networkform, addressentry);
@@ -132,7 +127,7 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
strcpy(temp, "255.255.255.0"); findkey(kv, netmaskfield, temp);
netmaskentry = newtEntry(20, (typeflag ? 11 : 4) + 1, temp, 20, &netmaskresult, 0);
newtEntrySetFilter(netmaskentry, ip_input_filter, NULL);
if (typeflag == 1 && startstatictype == 0 && startpptptype == 0 )
if (typeflag == 1 && startstatictype == 0)
newtEntrySetFlags(netmaskentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);
newtFormAddComponent(networkform, netmasklabel);
@@ -160,7 +155,7 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
strcpy(type, "STATIC");
if (typeflag)
gettype(type);
if (strcmp(type, "STATIC") == 0 || strcmp(type, "PPTP") == 0 )
if (strcmp(type, "STATIC") == 0)
{
if (inet_addr(addressresult) == INADDR_NONE)
{
@@ -189,7 +184,7 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
if (typeflag)
{
replacekeyvalue(kv, dhcphostnamefield, dhcphostnameresult);
if (strcmp(type, "STATIC") != 0 && strcmp(type, "PPTP") != 0)
if (strcmp(type, "STATIC") != 0)
{
replacekeyvalue(kv, addressfield, "0.0.0.0");
replacekeyvalue(kv, netmaskfield, "0.0.0.0");
@@ -231,8 +226,6 @@ int gettype(char *type)
strcpy(type, "DHCP");
else if (selected == pppoetyperadio)
strcpy(type, "PPPOE");
else if (selected == pptptyperadio)
strcpy(type, "PPTP");
else
strcpy(type, "ERROR");
@@ -292,7 +285,7 @@ void networkdialogcallbacktype(newtComponent cm, void *data)
gettype(type);
if (strcmp(type, "STATIC") != 0 && strcmp(type, "PPTP") != 0 )
if (strcmp(type, "STATIC") != 0)
{
newtEntrySetFlags(addressentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);
newtEntrySetFlags(netmaskentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);

View File

@@ -3,8 +3,11 @@
rm -f /var/ipfire/red/active
run_subdir ${rc_base}/init.d/networking/red.down/
[ -e "/var/ipfire/ppp/nobeeps" ] || /etc/rc.d/init.d/beep down
[ -e "/var/ipfire/red/keepconnected" ] && \
(ps ax | grep -q "connectioncheck reconnect") && \
/etc/rc.d/init.d/connectioncheck reconnect &
#[ -e "/var/ipfire/red/keepconnected" ] && \
# (ps ax | grep -q "connectioncheck reconnect") && \
# /etc/rc.d/init.d/connectioncheck reconnect &

View File

@@ -25,4 +25,6 @@ echo -n "$5" > /var/ipfire/red/remote-ipaddress
touch /var/ipfire/red/active
run_subdir ${rc_base}/init.d/networking/red.up/
[ -e "/var/ipfire/ppp/nobeeps" ] || /etc/rc.d/init.d/beep up