X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fsetup%2Fnetstuff.c;h=66592bb94efb5bef84ee9e3cff7ed93d7554b570;hb=3b521c724f09a45e09ac9228d8b65df0d8bd13a7;hp=a656e9f910b183a8520b95308c7f02ed02503caa;hpb=62845ec556cdc6fbd3f452c33517d6653c78441f;p=ipfire-2.x.git diff --git a/src/setup/netstuff.c b/src/setup/netstuff.c index a656e9f910..66592bb94e 100644 --- a/src/setup/netstuff.c +++ b/src/setup/netstuff.c @@ -75,7 +75,8 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag, int startstatictype = 0; int startdhcptype = 0; int startpppoetype = 0; - + unsigned char buffer[sizeof(struct in_addr)]; + /* Build some key strings. */ sprintf(addressfield, "%s_ADDRESS", colour); sprintf(netmaskfield, "%s_NETMASK", colour); @@ -184,7 +185,7 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag, strcat(message, "\n"); error = 1; } - if (inet_addr(netmaskresult) == INADDR_NONE) + if (inet_pton(AF_INET, netmaskresult, &buffer) == 0) { strcat(message, _("Network mask")); strcat(message, "\n"); @@ -527,27 +528,6 @@ int rename_nics(void) { } } -int create_udev(void) -{ - #define UDEV_NET_CONF "/etc/udev/rules.d/30-persistent-network.rules" - FILE *fp; - int i; - - 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,"\n# %s\nACTION==\"add\", SUBSYSTEM==\"net\", ATTR{type}==\"1\", ATTR{address}==\"%s\", NAME=\"%s0\"\n", knics[i].description, knics[i].macaddr, lcolourcard[i]); - } - } - fclose(fp); - return 0; -} - int write_configs_netudev(int card , int colour) { char commandstring[STRING_SIZE]; @@ -622,16 +602,16 @@ int scan_network_cards(void) int nicmenu(int colour) { int rc, choise = 0, count = 0, kcount = 0, mcount = 0, i, j, nic_in_use; - int found_NIC_as_Card[4]; + int found_NIC_as_Card[MAX_NICS]; char message[STRING_SIZE]; char temp[STRING_SIZE]; char cMenuInhalt[STRING_SIZE]; - char MenuInhalt[20][180]; - char *pMenuInhalt[20]; + char MenuInhalt[MAX_NICS][STRING_SIZE]; + char *pMenuInhalt[MAX_NICS]; while (strcmp(nics[count].macaddr, "")) count++; // 2 find how many nics in system - for ( i=0 ; i<4;i++) if (strcmp(knics[i].macaddr, "")) kcount++; // loop to find all knowing nics + for (i=0; i kcount) { @@ -669,7 +649,7 @@ int nicmenu(int colour) sprintf(message, _("Please choose a networkcard for the following interface - %s."), ucolourcard[colour]); rc=2; while ( rc == 2 ) { - rc = newtWinMenu(_("Extended Network Menu"), message, 50, 5, 5, 6, pMenuInhalt, &choise, + rc = newtWinMenu(_("Extended Network Menu"), message, 50, 5, 5, mcount, pMenuInhalt, &choise, _("Select"), _("Identify"), _("Cancel"), NULL); if ( rc == 2 ) { sprintf(temp, "/sbin/ip link set %s up", nics[found_NIC_as_Card[choise]].nic);