aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-04-21 02:21:45 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-04-21 02:21:45 +0000
commit01eaee9309c09ca5d7dc6ef3b2e96084affdab30 (patch)
tree4679b85ef024d357f3e3ada864555a63172a050d
parent0a1446275d88946734417ed96a3c0f1d7ea969e4 (diff)
downloadbusybox-w32-01eaee9309c09ca5d7dc6ef3b2e96084affdab30.tar.gz
busybox-w32-01eaee9309c09ca5d7dc6ef3b2e96084affdab30.tar.bz2
busybox-w32-01eaee9309c09ca5d7dc6ef3b2e96084affdab30.zip
*: s/IF_NAMESIZE/IFNAMSIZ/, regularize its use a bit.
function old new delta strncpy_IFNAMSIZ - 13 +13 set_slave_mtu 39 37 -2 set_slave_hwaddr 52 50 -2 set_master_hwaddr 52 50 -2 set_if_flags 40 38 -2 get_if_settings 101 98 -3 ifenslave_main 1680 1661 -19 vconfig_main 306 280 -26 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/7 up/down: 13/-56) Total: -43 bytes
-rw-r--r--networking/Config.in2
-rw-r--r--networking/brctl.c4
-rw-r--r--networking/ifconfig.c2
-rw-r--r--networking/ifenslave.c40
-rw-r--r--networking/interface.c32
-rw-r--r--networking/nameif.c13
-rw-r--r--networking/vconfig.c5
7 files changed, 47 insertions, 51 deletions
diff --git a/networking/Config.in b/networking/Config.in
index f7f189cd6..fb6988b41 100644
--- a/networking/Config.in
+++ b/networking/Config.in
@@ -576,7 +576,7 @@ config NAMEIF
576 Renamed interfaces MUST be in the down state. 576 Renamed interfaces MUST be in the down state.
577 It is possible to use a file (default: /etc/mactab) 577 It is possible to use a file (default: /etc/mactab)
578 with list of new interface names and MACs. 578 with list of new interface names and MACs.
579 Maximum interface name length: IF_NAMESIZE = 16 579 Maximum interface name length: IFNAMSIZ = 16
580 File fields are separated by space or tab. 580 File fields are separated by space or tab.
581 File format: 581 File format:
582 # Comment 582 # Comment
diff --git a/networking/brctl.c b/networking/brctl.c
index bd13878b2..acc789722 100644
--- a/networking/brctl.c
+++ b/networking/brctl.c
@@ -137,7 +137,7 @@ int brctl_main(int argc ATTRIBUTE_UNUSED, char **argv)
137 137
138 if (!if_indextoname(bridx[i], brname)) 138 if (!if_indextoname(bridx[i], brname))
139 bb_perror_msg_and_die("can't get bridge name for index %d", i); 139 bb_perror_msg_and_die("can't get bridge name for index %d", i);
140 safe_strncpy(ifr.ifr_name, brname, IFNAMSIZ); 140 strncpy(ifr.ifr_name, brname, IFNAMSIZ);
141 141
142 arm_ioctl(args, BRCTL_GET_BRIDGE_INFO, 142 arm_ioctl(args, BRCTL_GET_BRIDGE_INFO,
143 (unsigned long) &bi, 0); 143 (unsigned long) &bi, 0);
@@ -191,7 +191,7 @@ int brctl_main(int argc ATTRIBUTE_UNUSED, char **argv)
191 if (!*argv) /* all but 'addif/delif' need at least two arguments */ 191 if (!*argv) /* all but 'addif/delif' need at least two arguments */
192 bb_show_usage(); 192 bb_show_usage();
193 193
194 safe_strncpy(ifr.ifr_name, br, IFNAMSIZ); 194 strncpy(ifr.ifr_name, br, IFNAMSIZ);
195 if (key == ARG_addif || key == ARG_delif) { /* addif or delif */ 195 if (key == ARG_addif || key == ARG_delif) { /* addif or delif */
196 brif = *argv; 196 brif = *argv;
197 ifr.ifr_ifindex = if_nametoindex(brif); 197 ifr.ifr_ifindex = if_nametoindex(brif);
diff --git a/networking/ifconfig.c b/networking/ifconfig.c
index fcbeb2420..9e95533cc 100644
--- a/networking/ifconfig.c
+++ b/networking/ifconfig.c
@@ -315,7 +315,7 @@ int ifconfig_main(int argc, char **argv)
315 sockfd = xsocket(AF_INET, SOCK_DGRAM, 0); 315 sockfd = xsocket(AF_INET, SOCK_DGRAM, 0);
316 316
317 /* get interface name */ 317 /* get interface name */
318 safe_strncpy(ifr.ifr_name, *argv, IFNAMSIZ); 318 strncpy(ifr.ifr_name, *argv, IFNAMSIZ);
319 319
320 /* Process the remaining arguments. */ 320 /* Process the remaining arguments. */
321 while (*++argv != (char *) NULL) { 321 while (*++argv != (char *) NULL) {
diff --git a/networking/ifenslave.c b/networking/ifenslave.c
index b11951758..0aa232028 100644
--- a/networking/ifenslave.c
+++ b/networking/ifenslave.c
@@ -148,6 +148,10 @@ static void change_active(char *master_ifname, char *slave_ifname);
148static int enslave(char *master_ifname, char *slave_ifname); 148static int enslave(char *master_ifname, char *slave_ifname);
149static int release(char *master_ifname, char *slave_ifname); 149static int release(char *master_ifname, char *slave_ifname);
150 150
151static void strncpy_IFNAMSIZ(char *dst, const char *src)
152{
153 strncpy(dst, src, IFNAMSIZ);
154}
151 155
152int ifenslave_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 156int ifenslave_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
153int ifenslave_main(int argc ATTRIBUTE_UNUSED, char **argv) 157int ifenslave_main(int argc ATTRIBUTE_UNUSED, char **argv)
@@ -302,7 +306,7 @@ static void get_drv_info(char *master_ifname)
302 struct ethtool_drvinfo info; 306 struct ethtool_drvinfo info;
303 307
304 memset(&ifr, 0, sizeof(ifr)); 308 memset(&ifr, 0, sizeof(ifr));
305 strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); 309 strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname);
306 ifr.ifr_data = (caddr_t)&info; 310 ifr.ifr_data = (caddr_t)&info;
307 311
308 info.cmd = ETHTOOL_GDRVINFO; 312 info.cmd = ETHTOOL_GDRVINFO;
@@ -332,8 +336,8 @@ static void change_active(char *master_ifname, char *slave_ifname)
332 slave_ifname); 336 slave_ifname);
333 } 337 }
334 338
335 strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); 339 strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname);
336 strncpy(ifr.ifr_slave, slave_ifname, IFNAMSIZ); 340 strncpy_IFNAMSIZ(ifr.ifr_slave, slave_ifname);
337 if (ioctl(skfd, SIOCBONDCHANGEACTIVE, &ifr) < 0 341 if (ioctl(skfd, SIOCBONDCHANGEACTIVE, &ifr) < 0
338 && ioctl(skfd, BOND_CHANGE_ACTIVE_OLD, &ifr) < 0 342 && ioctl(skfd, BOND_CHANGE_ACTIVE_OLD, &ifr) < 0
339 ) { 343 ) {
@@ -448,8 +452,8 @@ static int enslave(char *master_ifname, char *slave_ifname)
448 } 452 }
449 453
450 /* Do the real thing */ 454 /* Do the real thing */
451 strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); 455 strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname);
452 strncpy(ifr.ifr_slave, slave_ifname, IFNAMSIZ); 456 strncpy_IFNAMSIZ(ifr.ifr_slave, slave_ifname);
453 if (ioctl(skfd, SIOCBONDENSLAVE, &ifr) < 0 457 if (ioctl(skfd, SIOCBONDENSLAVE, &ifr) < 0
454 && ioctl(skfd, BOND_ENSLAVE_OLD, &ifr) < 0 458 && ioctl(skfd, BOND_ENSLAVE_OLD, &ifr) < 0
455 ) { 459 ) {
@@ -484,8 +488,8 @@ static int release(char *master_ifname, char *slave_ifname)
484 return 1; 488 return 1;
485 } 489 }
486 490
487 strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); 491 strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname);
488 strncpy(ifr.ifr_slave, slave_ifname, IFNAMSIZ); 492 strncpy_IFNAMSIZ(ifr.ifr_slave, slave_ifname);
489 if (ioctl(skfd, SIOCBONDRELEASE, &ifr) < 0 493 if (ioctl(skfd, SIOCBONDRELEASE, &ifr) < 0
490 && ioctl(skfd, BOND_RELEASE_OLD, &ifr) < 0 494 && ioctl(skfd, BOND_RELEASE_OLD, &ifr) < 0
491 ) { 495 ) {
@@ -508,11 +512,11 @@ static int get_if_settings(char *ifname, struct dev_data *dd)
508{ 512{
509 int res; 513 int res;
510 514
511 strncpy(dd->mtu.ifr_name, ifname, IFNAMSIZ); 515 strncpy_IFNAMSIZ(dd->mtu.ifr_name, ifname);
512 res = ioctl(skfd, SIOCGIFMTU, &dd->mtu); 516 res = ioctl(skfd, SIOCGIFMTU, &dd->mtu);
513 strncpy(dd->flags.ifr_name, ifname, IFNAMSIZ); 517 strncpy_IFNAMSIZ(dd->flags.ifr_name, ifname);
514 res |= ioctl(skfd, SIOCGIFFLAGS, &dd->flags); 518 res |= ioctl(skfd, SIOCGIFFLAGS, &dd->flags);
515 strncpy(dd->hwaddr.ifr_name, ifname, IFNAMSIZ); 519 strncpy_IFNAMSIZ(dd->hwaddr.ifr_name, ifname);
516 res |= ioctl(skfd, SIOCGIFHWADDR, &dd->hwaddr); 520 res |= ioctl(skfd, SIOCGIFHWADDR, &dd->hwaddr);
517 521
518 return res; 522 return res;
@@ -520,7 +524,7 @@ static int get_if_settings(char *ifname, struct dev_data *dd)
520 524
521static int get_slave_flags(char *slave_ifname) 525static int get_slave_flags(char *slave_ifname)
522{ 526{
523 strncpy(slave.flags.ifr_name, slave_ifname, IFNAMSIZ); 527 strncpy_IFNAMSIZ(slave.flags.ifr_name, slave_ifname);
524 return ioctl(skfd, SIOCGIFFLAGS, &slave.flags); 528 return ioctl(skfd, SIOCGIFFLAGS, &slave.flags);
525} 529}
526 530
@@ -528,7 +532,7 @@ static int set_master_hwaddr(char *master_ifname, struct sockaddr *hwaddr)
528{ 532{
529 struct ifreq ifr; 533 struct ifreq ifr;
530 534
531 strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); 535 strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname);
532 memcpy(&(ifr.ifr_hwaddr), hwaddr, sizeof(struct sockaddr)); 536 memcpy(&(ifr.ifr_hwaddr), hwaddr, sizeof(struct sockaddr));
533 return ioctl(skfd, SIOCSIFHWADDR, &ifr); 537 return ioctl(skfd, SIOCSIFHWADDR, &ifr);
534} 538}
@@ -537,7 +541,7 @@ static int set_slave_hwaddr(char *slave_ifname, struct sockaddr *hwaddr)
537{ 541{
538 struct ifreq ifr; 542 struct ifreq ifr;
539 543
540 strncpy(ifr.ifr_name, slave_ifname, IFNAMSIZ); 544 strncpy_IFNAMSIZ(ifr.ifr_name, slave_ifname);
541 memcpy(&(ifr.ifr_hwaddr), hwaddr, sizeof(struct sockaddr)); 545 memcpy(&(ifr.ifr_hwaddr), hwaddr, sizeof(struct sockaddr));
542 return ioctl(skfd, SIOCSIFHWADDR, &ifr); 546 return ioctl(skfd, SIOCSIFHWADDR, &ifr);
543} 547}
@@ -547,7 +551,7 @@ static int set_slave_mtu(char *slave_ifname, int mtu)
547 struct ifreq ifr; 551 struct ifreq ifr;
548 552
549 ifr.ifr_mtu = mtu; 553 ifr.ifr_mtu = mtu;
550 strncpy(ifr.ifr_name, slave_ifname, IFNAMSIZ); 554 strncpy_IFNAMSIZ(ifr.ifr_name, slave_ifname);
551 return ioctl(skfd, SIOCSIFMTU, &ifr); 555 return ioctl(skfd, SIOCSIFMTU, &ifr);
552} 556}
553 557
@@ -556,7 +560,7 @@ static int set_if_flags(char *ifname, short flags)
556 struct ifreq ifr; 560 struct ifreq ifr;
557 561
558 ifr.ifr_flags = flags; 562 ifr.ifr_flags = flags;
559 strncpy(ifr.ifr_name, ifname, IFNAMSIZ); 563 strncpy_IFNAMSIZ(ifr.ifr_name, ifname);
560 return ioctl(skfd, SIOCSIFFLAGS, &ifr); 564 return ioctl(skfd, SIOCSIFFLAGS, &ifr);
561} 565}
562 566
@@ -580,7 +584,7 @@ static int clear_if_addr(char *ifname)
580{ 584{
581 struct ifreq ifr; 585 struct ifreq ifr;
582 586
583 strncpy(ifr.ifr_name, ifname, IFNAMSIZ); 587 strncpy_IFNAMSIZ(ifr.ifr_name, ifname);
584 ifr.ifr_addr.sa_family = AF_INET; 588 ifr.ifr_addr.sa_family = AF_INET;
585 memset(ifr.ifr_addr.sa_data, 0, sizeof(ifr.ifr_addr.sa_data)); 589 memset(ifr.ifr_addr.sa_data, 0, sizeof(ifr.ifr_addr.sa_data));
586 return ioctl(skfd, SIOCSIFADDR, &ifr); 590 return ioctl(skfd, SIOCSIFADDR, &ifr);
@@ -603,7 +607,7 @@ static int set_if_addr(char *master_ifname, char *slave_ifname)
603 int i; 607 int i;
604 608
605 for (i = 0; i < ARRAY_SIZE(ifra); i++) { 609 for (i = 0; i < ARRAY_SIZE(ifra); i++) {
606 strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); 610 strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname);
607 res = ioctl(skfd, ifra[i].g_ioctl, &ifr); 611 res = ioctl(skfd, ifra[i].g_ioctl, &ifr);
608 if (res < 0) { 612 if (res < 0) {
609 ifr.ifr_addr.sa_family = AF_INET; 613 ifr.ifr_addr.sa_family = AF_INET;
@@ -611,7 +615,7 @@ static int set_if_addr(char *master_ifname, char *slave_ifname)
611 sizeof(ifr.ifr_addr.sa_data)); 615 sizeof(ifr.ifr_addr.sa_data));
612 } 616 }
613 617
614 strncpy(ifr.ifr_name, slave_ifname, IFNAMSIZ); 618 strncpy_IFNAMSIZ(ifr.ifr_name, slave_ifname);
615 res = ioctl(skfd, ifra[i].s_ioctl, &ifr); 619 res = ioctl(skfd, ifra[i].s_ioctl, &ifr);
616 if (res < 0) 620 if (res < 0)
617 return res; 621 return res;
diff --git a/networking/interface.c b/networking/interface.c
index 44bd8d3d9..f5c94f1ac 100644
--- a/networking/interface.c
+++ b/networking/interface.c
@@ -321,23 +321,23 @@ struct user_net_device_stats {
321 321
322struct interface { 322struct interface {
323 struct interface *next, *prev; 323 struct interface *next, *prev;
324 char name[IFNAMSIZ]; /* interface name */ 324 char name[IFNAMSIZ]; /* interface name */
325 short type; /* if type */ 325 short type; /* if type */
326 short flags; /* various flags */ 326 short flags; /* various flags */
327 int metric; /* routing metric */ 327 int metric; /* routing metric */
328 int mtu; /* MTU value */ 328 int mtu; /* MTU value */
329 int tx_queue_len; /* transmit queue length */ 329 int tx_queue_len; /* transmit queue length */
330 struct ifmap map; /* hardware setup */ 330 struct ifmap map; /* hardware setup */
331 struct sockaddr addr; /* IP address */ 331 struct sockaddr addr; /* IP address */
332 struct sockaddr dstaddr; /* P-P IP address */ 332 struct sockaddr dstaddr; /* P-P IP address */
333 struct sockaddr broadaddr; /* IP broadcast address */ 333 struct sockaddr broadaddr; /* IP broadcast address */
334 struct sockaddr netmask; /* IP network mask */ 334 struct sockaddr netmask; /* IP network mask */
335 int has_ip; 335 int has_ip;
336 char hwaddr[32]; /* HW address */ 336 char hwaddr[32]; /* HW address */
337 int statistics_valid; 337 int statistics_valid;
338 struct user_net_device_stats stats; /* statistics */ 338 struct user_net_device_stats stats; /* statistics */
339 int keepalive; /* keepalive value for SLIP */ 339 int keepalive; /* keepalive value for SLIP */
340 int outfill; /* outfill value for SLIP */ 340 int outfill; /* outfill value for SLIP */
341}; 341};
342 342
343 343
@@ -388,7 +388,7 @@ static struct interface *add_interface(char *name)
388 } 388 }
389 389
390 new = xzalloc(sizeof(*new)); 390 new = xzalloc(sizeof(*new));
391 safe_strncpy(new->name, name, IFNAMSIZ); 391 strncpy(new->name, name, IFNAMSIZ);
392 nextp = ife ? &ife->next : &int_list; 392 nextp = ife ? &ife->next : &int_list;
393 new->prev = ife; 393 new->prev = ife;
394 new->next = *nextp; 394 new->next = *nextp;
diff --git a/networking/nameif.c b/networking/nameif.c
index afc88917e..f3d333baf 100644
--- a/networking/nameif.c
+++ b/networking/nameif.c
@@ -16,16 +16,11 @@
16#include <netinet/ether.h> 16#include <netinet/ether.h>
17#include <linux/sockios.h> 17#include <linux/sockios.h>
18 18
19/* Older versions of net/if.h do not appear to define IF_NAMESIZE. */ 19#ifndef IFNAMSIZ
20#ifndef IF_NAMESIZE 20#define IFNAMSIZ 16
21# ifdef IFNAMSIZ
22# define IF_NAMESIZE IFNAMSIZ
23# else
24# define IF_NAMESIZE 16
25# endif
26#endif 21#endif
27 22
28/* take from linux/sockios.h */ 23/* Taken from linux/sockios.h */
29#define SIOCSIFNAME 0x8923 /* set interface name */ 24#define SIOCSIFNAME 0x8923 /* set interface name */
30 25
31/* Octets in one Ethernet addr, from <linux/if_ether.h> */ 26/* Octets in one Ethernet addr, from <linux/if_ether.h> */
@@ -111,7 +106,7 @@ static void nameif_parse_selector(ethtable_t *ch, char *selector)
111static void prepend_new_eth_table(ethtable_t **clist, char *ifname, char *selector) 106static void prepend_new_eth_table(ethtable_t **clist, char *ifname, char *selector)
112{ 107{
113 ethtable_t *ch; 108 ethtable_t *ch;
114 if (strlen(ifname) >= IF_NAMESIZE) 109 if (strlen(ifname) >= IFNAMSIZ)
115 bb_error_msg_and_die("interface name '%s' too long", ifname); 110 bb_error_msg_and_die("interface name '%s' too long", ifname);
116 ch = xzalloc(sizeof(*ch)); 111 ch = xzalloc(sizeof(*ch));
117 ch->ifname = xstrdup(ifname); 112 ch->ifname = xstrdup(ifname);
diff --git a/networking/vconfig.c b/networking/vconfig.c
index 7b6c2fa04..3f12e7609 100644
--- a/networking/vconfig.c
+++ b/networking/vconfig.c
@@ -133,10 +133,7 @@ int vconfig_main(int argc, char **argv)
133 if (ifr.cmd == SET_VLAN_NAME_TYPE_CMD) { /* set_name_type */ 133 if (ifr.cmd == SET_VLAN_NAME_TYPE_CMD) { /* set_name_type */
134 ifr.u.name_type = *xfind_str(name_types+1, argv[1]); 134 ifr.u.name_type = *xfind_str(name_types+1, argv[1]);
135 } else { 135 } else {
136 if (strlen(argv[1]) >= IF_NAMESIZE) { 136 strncpy(ifr.device1, argv[1], IFNAMSIZ);
137 bb_error_msg_and_die("if_name >= %d chars", IF_NAMESIZE);
138 }
139 strcpy(ifr.device1, argv[1]);
140 p = argv[2]; 137 p = argv[2];
141 138
142 /* I suppose one could try to combine some of the function calls below, 139 /* I suppose one could try to combine some of the function calls below,