From: ms Date: Wed, 22 Aug 2007 10:26:55 +0000 (+0000) Subject: Wieder einmal die Netzwerkscripts. X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=commitdiff_plain;h=0e42072a128697d05908e718d3617a2d373399a7 Wieder einmal die Netzwerkscripts. git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@799 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- diff --git a/src/initscripts/init.d/functions b/src/initscripts/init.d/functions index 83d91695e..365dbe02a 100644 --- a/src/initscripts/init.d/functions +++ b/src/initscripts/init.d/functions @@ -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 diff --git a/src/initscripts/init.d/networking/dhcpcd.exe b/src/initscripts/init.d/networking/dhcpcd.exe index dca1b8339..f8331308c 100644 --- a/src/initscripts/init.d/networking/dhcpcd.exe +++ b/src/initscripts/init.d/networking/dhcpcd.exe @@ -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 diff --git a/src/initscripts/init.d/networking/red b/src/initscripts/init.d/networking/red index 465d528cc..e62c50d57 100644 --- a/src/initscripts/init.d/networking/red +++ b/src/initscripts/init.d/networking/red @@ -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 diff --git a/src/install+setup/libsmooth/netstuff.c b/src/install+setup/libsmooth/netstuff.c index cecfb2009..1fb95dc65 100644 --- a/src/install+setup/libsmooth/netstuff.c +++ b/src/install+setup/libsmooth/netstuff.c @@ -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); diff --git a/src/ppp/ip-down b/src/ppp/ip-down index 76dc5ff6a..2373b900a 100644 --- a/src/ppp/ip-down +++ b/src/ppp/ip-down @@ -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 & diff --git a/src/ppp/ip-up b/src/ppp/ip-up index bd7a37ad4..cd266d5d0 100644 --- a/src/ppp/ip-up +++ b/src/ppp/ip-up @@ -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