]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Die Datei "/etc/udev/rules.d/30-persistent-network.rules" wird jetzt
authorcasemaster <casemaster@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 12 Jun 2007 20:11:00 +0000 (20:11 +0000)
committercasemaster <casemaster@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 12 Jun 2007 20:11:00 +0000 (20:11 +0000)
beim Verlassen der  NW-Konfiguration in einen Stück geschrieben.

git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@626 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

src/install+setup/libsmooth/libsmooth.h
src/install+setup/libsmooth/netstuff.c
src/install+setup/setup/networking.c

index c19f5bdacf7d21de024d2baa9267b536d7404549..b9ffe215779821fca35fcbaa376afa39c75870ba 100644 (file)
@@ -94,6 +94,7 @@ int gettype(char *type);
 int setnetaddress(struct keyvalue *kv, char *colour);
 void networkdialogcallbacktype(newtComponent cm, void *data);
 int interfacecheck(struct keyvalue *kv, char *colour);
+int create_udev(void);
 int scan_network_cards(void);
 int nicmenu(int colour);
 int clear_card_entry(int cards);
index 5aee7e03becdcae060199c8e36eeaf006c0c12e0..5fa07d37e0823a7512d9616713931c9a3b9e4894 100644 (file)
@@ -366,18 +366,37 @@ void strupper(unsigned char *string)
 }
 */
 
-int write_configs_netudev(int card , int colour)
-{      
+
+int create_udev(void)
+{
        #define UDEV_NET_CONF "/etc/udev/rules.d/30-persistent-network.rules"
        FILE *fp;
+       int i;
+
+       fprintf(flog,"Enter create_udev: "UDEV_NET_CONF"\n"); // #### Debug ####
+       if ( (fp = fopen(UDEV_NET_CONF, "w")) == NULL ) {
+               fprintf(stderr,"Couldn't open" UDEV_NET_CONF);
+               return 1;
+       }
+
+       for (i = 0 ; i < 4 ; i++)
+       {
+               if (strcmp(knics[i].macaddr, "")) {
+                       fprintf(fp,"ACTION==\"add\", SUBSYSTEM==\"net\", SYSFS{address}==\"%s\", NAME=\"%s0\" # %s\n", knics[i].macaddr, lcolourcard[i], knics[i].description);
+                       fprintf(flog,"Write %s\n",lcolourcard[i]); // #### Debug ####
+               }
+       }
+       fclose(fp);
+       return 0;
+}
+
+int write_configs_netudev(int card , int colour)
+{      
        char commandstring[STRING_SIZE];
        struct keyvalue *kv = initkeyvalues();
        char temp1[STRING_SIZE], temp2[STRING_SIZE], temp3[STRING_SIZE];
        char ucolour[STRING_SIZE];
 
-//     sprintf(ucolour, colour);       
-//     strupper(ucolour);
-
        sprintf(ucolour, ucolourcard[colour]);
        strcpy(knics[colour].driver, nics[card].driver);
        strcpy(knics[colour].description, nics[card].description);
@@ -403,24 +422,6 @@ int write_configs_netudev(int card , int colour)
        writekeyvalues(kv, CONFIG_ROOT "/ethernet/settings");
        freekeyvalues(kv);
        
-       // Make sure that there is no conflict
-       snprintf(commandstring, STRING_SIZE, "/usr/bin/touch "UDEV_NET_CONF" >/dev/null 2>&1");
-       system(commandstring);
-       
-//     snprintf(commandstring, STRING_SIZE, "/bin/cat "UDEV_NET_CONF" | /bin/grep -v \"%s\" > "UDEV_NET_CONF" 2>/dev/null", macaddr);
-//     system(commandstring);
-
-       snprintf(commandstring, STRING_SIZE, "/bin/cat "UDEV_NET_CONF" | /bin/grep -v \"%s0\" > "UDEV_NET_CONF" 2>/dev/null", lcolourcard[colour]);
-       system(commandstring);
-
-       if( (fp = fopen(UDEV_NET_CONF, "a")) == NULL )
-       {
-               fprintf(stderr,"Couldn't open" UDEV_NET_CONF);
-               return 1;
-       }
-       fprintf(fp,"ACTION==\"add\", SUBSYSTEM==\"net\", SYSFS{address}==\"%s\", NAME=\"%s0\" # %s\n", nics[card].macaddr, lcolourcard[colour], nics[card].description);
-       fclose(fp);     
-       
        return 0;
 }
 
@@ -497,12 +498,7 @@ int nicmenu(int colour)
                                if ( strlen(nics[i].description) < 55 ) 
                                        sprintf(MenuInhalt[mcount], "%.*s",  strlen(nics[i].description)-2, nics[i].description+1);
                                else {
-                                       fprintf(flog,"Modify string 4 display.\n");     // #### Debug ####
                                        sprintf(cMenuInhalt, "%.50s", nics[i].description + 1);
-                                       fprintf(flog,"1: %s\n");        // #### Debug ####
-//                                     strncpy(MenuInhalt[mcount], cMenuInhalt,(strrchr(cMenuInhalt,' ') - cMenuInhalt));
-//                                     sprintf(MenuInhalt[mcount], "%.*s", strlen(strrchr(cMenuInhalt,' ')), cMenuInhalt);
-                                       strrchr(cMenuInhalt,' ');
                                        sprintf(MenuInhalt[mcount], cMenuInhalt);
                                        strcat (MenuInhalt[mcount], "...");
                                }
index 90cdf7068519b5f9967aebe810c8dfd807fb5e3e..b2e51033ce7ea9532fdd419404e2f6faf17f0058 100644 (file)
@@ -136,7 +136,7 @@ int handlenetworking(void)
                                ctr[TR_PULLING_NETWORK_UP]);
                }
        }
-       
+       create_udev();
        return 1;
 }