Wieder einmal die Netzwerkscripts.
authorms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Wed, 22 Aug 2007 10:26:55 +0000 (10:26 +0000)
committerms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Wed, 22 Aug 2007 10:26:55 +0000 (10:26 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@799 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

src/initscripts/init.d/functions
src/initscripts/init.d/networking/dhcpcd.exe
src/initscripts/init.d/networking/red
src/install+setup/libsmooth/netstuff.c
src/ppp/ip-down
src/ppp/ip-up

index 83d91695ed5bdadc21427bb637e6d55d9b69e141..365dbe02ae3cac9666c7cd9c821aca3bb5cdd4c4 100644 (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
index dca1b8339965e8f0d216cb5b3e6b7ebe782f8450..f8331308c76b3f7cd0f086508df2af532e1659e4 100644 (file)
 #
 ########################################################################
 
+. /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
 
index 465d528cc84ab634f2a02d9129791d428f22bb90..e62c50d579c887f02c0feb360932da48d55c9e98 100644 (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
index cecfb2009ee84bdd282aec49451c35a631bdd623..1fb95dc659548bc2e724316bcf255c696090cd2d 100644 (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);
index 76dc5ff6a69e4625f3f18896523461821dc2b235..2373b900acee46dbe77e4c0897eb90a7f92cbce5 100644 (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 &
index bd7a37ad4c8f5cabd69f6b2fe4f5c99846d81743..cd266d5d037243f7e6e2f79c622c5e289242a92d 100644 (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