]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Korrektur zum speichern der 30-udev Datei.
authorcasemaster <casemaster@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Wed, 20 Jun 2007 21:37:19 +0000 (21:37 +0000)
committercasemaster <casemaster@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Wed, 20 Jun 2007 21:37:19 +0000 (21:37 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@641 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

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

index b9ffe215779821fca35fcbaa376afa39c75870ba..85c4dad1db65f8469ab3262e18c43ba9200cf527 100644 (file)
@@ -43,7 +43,6 @@
 #define DHCP 3
 #define NETCHANGE_TOTAL 4
 
-#define KNOWN_NICS   "/var/ipfire/ethernet/known_nics"
 #define SCANNED_NICS "/var/ipfire/ethernet/scanned_nics"
 
 #define _GREEN_CARD_ 0
@@ -94,6 +93,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 init_knics(void);
 int create_udev(void);
 int scan_network_cards(void);
 int nicmenu(int colour);
index 5fa07d37e0823a7512d9616713931c9a3b9e4894..e1a926d663699b89603ef8250fbedf64a43fab48 100644 (file)
@@ -366,6 +366,51 @@ void strupper(unsigned char *string)
 }
 */
 
+int get_knic(int card)         //returns "0" for zero cards or error and "1" card is found.
+{
+       struct keyvalue *kv = initkeyvalues();
+       char temp[STRING_SIZE], searchstr[STRING_SIZE];
+       int ret_value;
+
+       if (!(readkeyvalues(kv, CONFIG_ROOT "/ethernet/settings")))
+       {
+               freekeyvalues(kv);
+               errorbox(ctr[TR_UNABLE_TO_OPEN_SETTINGS_FILE]);
+               return 0;
+       }
+
+       sprintf(searchstr, "%s_MACADDR", ucolourcard[card]);
+       strcpy(temp, ""); findkey(kv, searchstr, temp);
+       if (strlen(temp)) {
+               strcpy(knics[ card ].macaddr, temp);
+               strcpy(knics[ card ].colour, "GREEN");
+
+               sprintf(searchstr, "%s_DESCRIPTION", ucolourcard[card]);
+               findkey(kv, searchstr, temp);
+               strcpy(knics[ card ].description, temp);
+
+               sprintf(searchstr, "%s_DRIVER", ucolourcard[card]);
+               findkey(kv, searchstr, temp);
+               strcpy(knics[ card ].driver, temp);
+               ret_value = 1;
+       } else {
+               strcpy(knics[ card ].description, ctr[TR_UNSET]);
+               ret_value = 0;
+       }
+
+       return ret_value;
+}
+
+int init_knics(void)
+{
+       int found = 0;
+       found += get_knic(_GREEN_CARD_);
+       found += get_knic(_RED_CARD_);
+       found += get_knic(_ORANGE_CARD_);
+       found += get_knic(_BLUE_CARD_);
+
+       return found;
+}
 
 int create_udev(void)
 {
index b2e51033ce7ea9532fdd419404e2f6faf17f0058..a580a3d0eb56500a5fc5cfc11981e38c7882e842 100644 (file)
@@ -89,6 +89,8 @@ int handlenetworking(void)
 
        found = scan_network_cards();
        fprintf(flog,"found %d cards\n",found); // #### Debug ####
+       found = init_knics();
+       fprintf(flog,"found %d kcards\n",found); // #### Debug ####
 
        done = 0;
        while (!done)
@@ -304,21 +306,19 @@ int configtypemenu(void)
        return 0;
 }
 
+
+
 /* Driver menu.  Choose drivers.. */
 int drivermenu(void)
 {
        struct keyvalue *kv = initkeyvalues();
        char message[STRING_SIZE];
        char temp[STRING_SIZE];
-//     char description[STRING_SIZE], macaddr[STRING_SIZE];
-//     struct nic *pnics = nics;
-//     pnics = nics;
-//     struct knic *pknics = knics;
-//     pknics = knics;
+
        int configtype;
-       int rc, kcount = 0, neednics; //i = 0, count = 0,
+       int i, rc, kcount = 0, neednics; //i = 0, count = 0,
        
-       fprintf(flog,"Enter driverenu\n"); // #### Debug ####
+       fprintf(flog,"Enter drivermenu\n"); // #### Debug ####
 
        if (!(readkeyvalues(kv, CONFIG_ROOT "/ethernet/settings")))
        {
@@ -330,19 +330,12 @@ int drivermenu(void)
        strcpy(temp, "0"); findkey(kv, "CONFIG_TYPE", temp);
        configtype = atol(temp);
        
-//     if (configtype == 0)
-//     {
-//             freekeyvalues(kv);
-//             errorbox(ctr[TR_YOUR_CONFIGURATION_IS_SINGLE_GREEN_ALREADY_HAS_DRIVER]);
-//             return 0;
-//     }
-
        strcpy(message, ctr[TR_CONFIGURE_NETWORK_DRIVERS]);
 
        kcount = 0;     // counter to find knowing nics.
        neednics = 0;   // counter to use needing nics.
        if (HAS_GREEN) {
-               strcpy(temp, ""); findkey(kv, "GREEN_MACADDR", temp);
+/*             strcpy(temp, ""); findkey(kv, "GREEN_MACADDR", temp);
                if (strlen(temp)) {
                        strcpy(knics[_GREEN_CARD_].macaddr, temp);
                        strcpy(knics[_GREEN_CARD_].colour, "GREEN");
@@ -354,6 +347,7 @@ int drivermenu(void)
                } else {
                        strcpy(knics[_GREEN_CARD_].description, ctr[TR_UNSET]);
                }
+*/
                sprintf(temp, "GREEN:  %s\n", knics[_GREEN_CARD_].description);
                strcat(message, temp);
                if (strlen(knics[_GREEN_CARD_].macaddr) ) {
@@ -363,7 +357,7 @@ int drivermenu(void)
                neednics++;
        }
        if (HAS_RED) {
-               strcpy(temp, ""); findkey(kv, "RED_MACADDR", temp);
+/*             strcpy(temp, ""); findkey(kv, "RED_MACADDR", temp);
                if (strlen(temp)) {
                        strcpy(knics[_RED_CARD_].macaddr, temp);
                        strcpy(knics[_RED_CARD_].colour, "RED");
@@ -375,6 +369,7 @@ int drivermenu(void)
                } else {
                        strcpy(knics[_RED_CARD_].description, ctr[TR_UNSET]);
                }
+*/
                sprintf(temp, "RED:    %s\n", knics[_RED_CARD_].description);
                strcat(message, temp);
                if (strlen(knics[_RED_CARD_].macaddr) ) {
@@ -384,7 +379,7 @@ int drivermenu(void)
                neednics++;
        }
        if (HAS_ORANGE) {
-               strcpy(temp, ""); findkey(kv, "ORANGE_MACADDR", temp);
+/*             strcpy(temp, ""); findkey(kv, "ORANGE_MACADDR", temp);
                if (strlen(temp)) {
                        strcpy(knics[_ORANGE_CARD_].macaddr, temp);
                        strcpy(knics[_ORANGE_CARD_].colour, "ORANGE");
@@ -396,6 +391,7 @@ int drivermenu(void)
                } else {
                        strcpy(knics[_ORANGE_CARD_].description, ctr[TR_UNSET]);
                }
+*/
                sprintf(temp, "ORANGE: %s\n", knics[_ORANGE_CARD_].description);
                strcat(message, temp);
                if ( strlen(knics[_ORANGE_CARD_].macaddr) ) {
@@ -405,7 +401,7 @@ int drivermenu(void)
                neednics++;
        }
        if (HAS_BLUE) {
-               strcpy(temp, ""); findkey(kv, "BLUE_MACADDR", temp);
+/*             strcpy(temp, ""); findkey(kv, "BLUE_MACADDR", temp);
                if (strlen(temp)) {
                        strcpy(knics[_BLUE_CARD_].macaddr, temp);
                        strcpy(knics[_BLUE_CARD_].colour, "BLUE");
@@ -417,6 +413,7 @@ int drivermenu(void)
                } else {
                        strcpy(knics[_BLUE_CARD_].description, ctr[TR_UNSET]);
                }
+*/
                sprintf(temp, "BLUE:   %s\n", knics[_BLUE_CARD_].description);
                strcat(message, temp);
                if (strlen(knics[_BLUE_CARD_].macaddr)) {
@@ -426,6 +423,7 @@ int drivermenu(void)
                neednics++;
        }
 
+       for ( i=0 ; i<4;i++) if (strcmp(knics[i].macaddr, "")) kcount++;
        fprintf(flog,"found %d knowing Card\'s\n", kcount); // #### DEBUG ####
 
        if (neednics = kcount) {
@@ -448,17 +446,6 @@ int drivermenu(void)
        return 1;
 }
 
-int cardassigned(char *colour)
-{
-       char command[STRING_SIZE];
-       fprintf(flog,"cardassigned - %s\n", colour);
-       sprintf(command, "grep -q %s < /etc/udev/rules.d/30-persistent-network.rules 2>/dev/null", colour);
-       if (system(command))
-               return 0;
-       else
-               return 1;
-}
-
 int set_menu_entry_for(int *nr, int *card)
 {