Denis Vlasenko
9b6f4aa8e8
ip: support for the LOWER_UP flag by Natanael Copa <natanael.copa@gmail.com>.
...
~50 bytes code growth.
2008-06-05 14:01:04 +00:00
Denis Vlasenko
7d60fc1c0a
replace single-char printf's with bb_putchar
2008-06-05 06:51:06 +00:00
Denis Vlasenko
bedfabd500
libiproute: use stdout directly instead of passing it as a parameter
...
function old new delta
iprule_list 86 82 -4
print_rule 860 791 -69
ipaddr_list_or_flush 2484 2384 -100
print_addrinfo 1498 1292 -206
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-379) Total: -379 bytes
2008-06-05 05:00:24 +00:00
Denis Vlasenko
d12fcc20da
libiproute: fix option parsing, so that "ip -o link" works again.
...
closes bug 3524
2008-05-31 07:34:14 +00:00
Denis Vlasenko
3e57adb731
libiproute: style fixes, and using smallint as appropriate
...
function old new delta
print_route 1730 1731 +1
print_addrinfo 1497 1498 +1
iproute_list_or_flush 1232 1229 -3
ipaddr_list_or_flush 2490 2484 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 2/-9) Total: -7 bytes
2008-05-31 07:33:18 +00:00
Bernhard Reutner-Fischer
636a1f85e8
- use EXIT_{SUCCESS,FAILURE}. No object-code changes
2008-05-19 09:29:47 +00:00
Bernhard Reutner-Fischer
51a06c07da
- accept ip l s ib0 addr 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
2008-05-16 17:19:03 +00:00
Bernhard Reutner-Fischer
b8635e28b5
- very minor shrinkage
...
odd that this saved 1byte. And there could be something wrong with
ifcombine or the like since omitting the braces produces bigger code?
2008-05-16 16:55:17 +00:00
Bernhard Reutner-Fischer
dff6190112
- add appropriate string for arp header #32 for use by ip(8)
2008-05-16 16:21:00 +00:00
Denis Vlasenko
6b06cb80be
more of -Wall fixes from Cristian Ionescu-Idbohrn.
...
Some are fixing real bugs.
function old new delta
syslogd_main 938 958 +20
get_signum 136 143 +7
obj_load 777 782 +5
recv_from_to 210 214 +4
get_next_block 1795 1799 +4
display_topmem_process_list 1117 1121 +4
logread_main 484 487 +3
buffer_fill_and_print 73 76 +3
kill_main 687 689 +2
ll_remember_index 240 241 +1
do_stats 452 453 +1
if_readconf 166 165 -1
display_process_list 1192 1191 -1
run_applet_and_exit 507 505 -2
print_signames 33 31 -2
parse_one_line 1092 1090 -2
find_out_spec 57 55 -2
add_ksymoops_symbols 421 419 -2
ash_main 1407 1402 -5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 11/8 up/down: 54/-17) Total: 37 bytes
2008-05-15 21:30:45 +00:00
Denis Vlasenko
98636eb08c
Use intra-DSO calls when we build libbusybox. No-op for normal build.
...
This was Bernhard Fischer' idea.
text data bss dec hex filename
773549 7781 9740 791070 c121e busybox.t7/0_lib/libbusybox.so.1.11.0.svn_unstripped
769683 7397 9740 786820 c0184 busybox.t9t/0_lib/libbusybox.so.1.11.0.svn_unstripped
2008-05-09 17:59:34 +00:00
Denis Vlasenko
6c10657c4a
style fixes. no code changes
2008-04-19 19:05:12 +00:00
Denis Vlasenko
f90ab183d6
*: use fopen_or_warn in few more places
2008-03-20 21:19:35 +00:00
Denis Vlasenko
68404f13d4
*: add -Wunused-parameter; fix resulting breakage
...
function old new delta
procps_scan 1265 1298 +33
aliascmd 278 283 +5
parse_file_cmd 116 120 +4
dname_enc 373 377 +4
setcmd 90 93 +3
execcmd 57 60 +3
count_lines 72 74 +2
process_command_subs 340 339 -1
test_main 409 407 -2
mknod_main 179 177 -2
handle_incoming_and_exit 2653 2651 -2
argstr 1312 1310 -2
shiftcmd 131 128 -3
exitcmd 46 43 -3
dotcmd 297 294 -3
breakcmd 86 83 -3
evalpipe 353 349 -4
evalcommand 1180 1176 -4
evalcmd 109 105 -4
send_tree 374 369 -5
mkfifo_main 82 77 -5
evalsubshell 152 147 -5
typecmd 75 69 -6
letcmd 61 55 -6
add_cmd 1190 1183 -7
main 891 883 -8
ash_main 1415 1407 -8
parse_stream 1377 1367 -10
alloc_procps_scan 55 - -55
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes
text data bss dec hex filename
797195 658 7428 805281 c49a1 busybox_old
797101 658 7428 805187 c4943 busybox_unstripped
2008-03-17 09:00:54 +00:00
Denis Vlasenko
284d0faed6
random s/short/int/
...
add_cmd 1189 1190 +1
xconnect_ftpdata 118 117 -1
data_align 86 84 -2
process_files 2101 2096 -5
forkexec 1345 1334 -11
2008-02-16 13:18:17 +00:00
Bernhard Reutner-Fischer
f470196a41
- fix conflicting decls of syslog related facilitynames and prioritynames tables
2008-01-27 12:50:12 +00:00
Denis Vlasenko
83c44229d2
ip route: "ip route" was misbehaving (extra argv+1 ate 1st env var)
2008-01-04 15:28:28 +00:00
Denis Vlasenko
8723a94c25
libnetlink: comment out unused code; don't use 8k stack buffers
...
function old new delta
ipaddr_modify 1305 1297 -8
do_iprule 963 955 -8
do_iproute 2193 2169 -24
xrtnl_dump_filter 418 391 -27
rtnl_talk 671 536 -135
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/5 up/down: 0/-202) Total: -202 bytes
2007-12-02 06:30:57 +00:00
Denis Vlasenko
79c6904faf
ip route: add comment, no code changes
2007-11-27 09:42:33 +00:00
Denis Vlasenko
186c2b3d0e
iproute: fix a bug where "ip r flush table main" was rejected,
...
add "ip r flush cache" (however I'm unsure it is really valid syntax)
Add a few comments and stop mixing params and params' keywords.
2007-11-26 18:29:52 +00:00
Denis Vlasenko
ed6a49c657
ip: stop propagating argc; optimize ip_parse_common_args
...
function old new delta
find_pair 167 187 +20
static.families - 17 +17
die_must_be_on_off - 11 +11
...
on_off 33 22 -11
do_ipaddr 103 90 -13
do_iptunnel 1001 986 -15
iproute_list_or_flush 1237 1217 -20
static.ip_common_commands 43 22 -21
do_iproute 2217 2193 -24
parse_args 1444 1414 -30
ip_do 47 16 -31
do_iprule 994 963 -31
ip_main 153 113 -40
ipaddr_modify 1357 1305 -52
ipaddr_list_or_flush 2543 2490 -53
ip_parse_common_args 294 159 -135
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 4/24 up/down: 85/-563) Total: -478 bytes
text data bss dec hex filename
775561 966 9236 785763 bfd63 busybox_old
775073 962 9236 785271 bfb77 busybox_unstripped
2007-11-18 22:56:25 +00:00
Denis Vlasenko
dfc0740b04
ll_types.c: optimize link type table, make it conditional
...
on FEATURE_IP_RARE_PROTOCOLS
function old new delta
static.arphrd_name - 373 +373
static.arphrd_type - 124 +124
ll_type_n2a 58 78 +20
static.arphrd_names 496 - -496
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 1/0 up/down: 517/-496) Total: 21 bytes
text data bss dec hex filename
776880 974 9420 787274 c034a busybox_old
776594 974 9420 786988 c022c busybox_unstripped
2007-10-29 19:33:26 +00:00
Denis Vlasenko
db60bcf1b7
ip tunnel parameter parsing fix by Jean Wolter <jw5@os.inf.tu-dresden.de>
2007-10-10 14:43:03 +00:00
Denis Vlasenko
605b20e277
replace printf with fputs where appropriate
2007-09-30 16:22:36 +00:00
Denis Vlasenko
1eecaf26b0
libiproute: add missing break's
2007-09-30 16:04:21 +00:00
Denis Vlasenko
4daad9004d
introduce bb_putchar(). saves ~1800 on uclibc (less on glibc).
2007-09-27 10:20:47 +00:00
Denis Vlasenko
856be770a6
assorted fixes for breakage found by randomconfig
2007-08-17 08:29:48 +00:00
Denis Vlasenko
6ca409e0e4
trylink: produce even more info about final link stage
...
trylink: explain how to modify link and drastically decrease amount
of padding (unfortunately, needs hand editing ATM).
*: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts
size saving: 0.5k
2007-08-12 20:58:27 +00:00
Denis Vlasenko
990d0f63ee
Replace index_in_[sub]str_array with index_in_[sub]strings,
...
which scans thru "abc\0def\0123\0\0" type strings. Saves 250 bytes.
text data bss dec hex filename
781266 1328 11844 794438 c1f46 busybox_old
781010 1328 11844 794182 c1e46 busybox_unstripped
2007-07-24 15:54:42 +00:00
Denis Vlasenko
b71c668c57
style fix (stray space before ';')
2007-07-21 15:08:09 +00:00
Denis Vlasenko
fb79a2e2cf
xioctl and friends by Tito <farmatito@tiscali.it>
...
function old new delta
do_iptunnel 203 977 +774
process_dev 5328 5494 +166
ioctl_or_perror - 54 +54
ioctl_or_perror_and_die - 51 +51
ioctl_alt_func - 49 +49
bb_ioctl_or_warn - 47 +47
do_add_ioctl 102 145 +43
bb_xioctl - 39 +39
print_value_on_off - 31 +31
get_lcm 105 123 +18
arp_main 2155 2167 +12
..................
zcip_main 1576 1566 -10
setlogcons_main 92 82 -10
dumpkmap_main 263 253 -10
do_get_ioctl 85 75 -10
setkeycodes_main 165 154 -11
write_table 244 232 -12
vconfig_main 318 306 -12
do_del_ioctl 93 81 -12
set_address 75 62 -13
maybe_set_utc 30 16 -14
loadfont_main 495 479 -16
slattach_main 712 695 -17
do_loadfont 191 174 -17
do_iplink 1155 1136 -19
getty_main 2583 2562 -21
fbset_main 2058 2035 -23
do_time 588 565 -23
xioctl 25 - -25
read_rtc 186 160 -26
parse_conf 1299 1270 -29
udhcp_read_interface 269 239 -30
bb_ioctl 45 - -45
bb_ioctl_alt 70 - -70
bb_ioctl_on_off 78 - -78
.rodata 129370 129018 -352
do_show 799 - -799
------------------------------------------------------------------------------
(add/remove: 6/5 grow/shrink: 13/49 up/down: 1316/-1864) Total: -548 bytes
text data bss dec hex filename
675352 2740 13968 692060 a8f5c busybox_old
674804 2740 13968 691512 a8d38 busybox_unstripped
2007-07-14 22:07:14 +00:00
Denis Vlasenko
80b8b39899
Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms <wharms@bfs.de>)
2007-06-25 10:55:35 +00:00
Bernhard Reutner-Fischer
789b87edf5
- remove matches() from networking/. Untested.
...
text data bss dec hex filename
1705 0 0 1705 6a9 networking/libiproute/utils.o.orig
1676 0 0 1676 68c networking/libiproute/utils.o
766 0 0 766 2fe networking/libiproute/rtm_map.o.orig
670 0 0 670 29e networking/libiproute/rtm_map.o
4942 0 0 4942 134e networking/libiproute/iptunnel.o.orig
4687 0 0 4687 124f networking/libiproute/iptunnel.o
2007-06-21 10:20:13 +00:00
Bernhard Reutner-Fischer
cd0e80ce90
- move iprule and ipaddress from matches() to index_in_str_array
...
text data bss dec hex filename
2544 0 0 2544 9f0 networking/libiproute/iprule.o.oorig
2356 0 0 2356 934 networking/libiproute/iprule.o
6481 0 0 6481 1951 networking/libiproute/ipaddress.o.oorig
6464 0 0 6464 1940 networking/libiproute/ipaddress.o
2007-06-20 14:53:49 +00:00
Bernhard Reutner-Fischer
761ce14fd2
- remove another user of the deprecated matches() func by moving it to use index_in_str_array. Untested.
...
text data bss dec hex filename
445 0 4 449 1c1 ip_parse_common_args.o.oorig
391 0 4 395 18b ip_parse_common_args.o
2007-06-20 12:42:03 +00:00
Denis Vlasenko
08a61180ce
ll_map: disable interface name caching code
...
function old new delta
find_by_index - 26 +26
static.icache 4 - -4
ll_idx_n2a 71 59 -12
static.ncache 16 - -16
ll_index_to_flags 40 24 -16
xll_name_to_index 206 104 -102
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 0/3 up/down: 26/-150) Total: -124 bytes
text data bss dec hex filename
734703 3040 14440 752183 b7a37 busybox_old
734599 3040 14416 752055 b79b7 busybox_unstripped
2007-06-19 12:11:20 +00:00
Denis Vlasenko
8c1aaf3297
snprintf(... "%s"...) => safe_strncpy
2007-06-04 21:03:51 +00:00
Denis Vlasenko
9a7d38fe24
delete tons of extra #includes
2007-05-31 22:42:12 +00:00
Denis Vlasenko
fad2b86c9e
use "glibc errno" trick not only for ash, but for entire busybox
...
(add/remove: 1/1 grow/shrink: 37/37 up/down: 139/-228) Total: -89 bytes
2007-05-31 22:16:38 +00:00
Denis Vlasenko
b6adbf1be2
usage.c: remove reference to busybox.h
...
*: s/include "busybox.h"/include "libbb.h"
2007-05-26 19:00:18 +00:00
Bernhard Reutner-Fischer
c2b3e370d6
- apply hunk that fixes an issue with (wrong?) dependencies. Initial notes were:
...
There is something wrong in the new buildsys: If one selects ip and has e.g.
rule or route unset, ip still wants to build those.
This fails (correctly) since rtnl_rttable_n2a and rtnl_rtrealm_n2a aren't
available if they were turned off. TODO: Talk to vda about this
2007-05-15 09:33:32 +00:00
Bernhard Reutner-Fischer
ab51bf4e28
- fix compilation when ENABLE_FEATURE_IP_RULE was off
2007-04-16 14:56:01 +00:00
Bernhard Reutner-Fischer
c98c31783c
- shrink iproute a bit (-200 bytes). Untested
2007-04-12 11:36:56 +00:00
Bernhard Reutner-Fischer
b290889f02
- add xsendto and use where appropriate; shrink iplink; sanitize libiproute a bit.
...
-916 byte
2007-04-12 11:34:39 +00:00
Denis Vlasenko
50f7f446ec
bb_full_fd_action: remove potential xmalloc from NOFORK path
...
cat: stop using stdio.h opens
libbb: introduce & use open[3]_or_warn
function old new delta
open3_or_warn - 54 +54
bb_cat 115 144 +29
open_or_warn - 25 +25
unlzma 2404 2412 +8
chattr_main 334 339 +5
xstrtoul_range_sfx 251 255 +4
telnet_main 1514 1510 -4
static.opt 4 - -4
qgravechar 122 118 -4
fuser_add_pid 61 54 -7
fuser_add_inode 154 147 -7
writeFileToTarball 1542 1534 -8
refresh 1156 1148 -8
do_show 856 846 -10
read_leases 212 200 -12
setup_redirects 236 222 -14
iproute_list_or_flush 1582 1568 -14
read_config 427 411 -16
write_leases 284 264 -20
hash_file 338 318 -20
copy_file 1760 1740 -20
do_iproute 2610 2588 -22
bb_full_fd_action 320 269 -51
open_to_or_warn 103 49 -54
fuser_main 1660 1596 -64
.rodata 131160 131096 -64
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 4/19 up/down: 125/-423) Total: -298 bytes
2007-04-11 23:20:53 +00:00
Bernhard Reutner-Fischer
12c96a64a4
- set the scope properly. Thanks to Jean Wolter, who wrote:
...
busybox ip and the original ip utility behave differently when setting
the following route (verified with ip route show using the original ip
utility):
ip route add 10.0.0.138 dev eth0
Result for busybox ip:
# ip route add 10.0.0.138 dev eth0
# /usr/local/bin/ip route show
10.0.0.138 dev eth0
Result for ip:
# /usr/local/bin/ip route add 10.0.0.138 dev eth0
# /usr/local/bin/ip route show
10.0.0.138 dev eth0 scope link
A following "ip route add default via 10.0.0.138" fails for busybox
ip, since the kernel can not find a route to 10.0.0.138 (it replies
with Network is unreachable).
The reasons seems to be that the original ip utility explicitly sets
the scope after parsing all parameters. This is missing in busybox,
the attached patch fixes this. I took this from the original iproute
sources and removed some variables, which are not needed for busybox.
2007-04-11 16:23:57 +00:00
Bernhard Reutner-Fischer
e87d7955f8
- rewrite the ip applet to be less bloaty
...
- mark libiproute's matches() as deprecated. Convert to index_in_(sub)str_array()!
text data bss dec hex filename
314 0 0 314 13a ip.o.orig
200 0 0 200 c8 ip.o
Using a smallint for the key would save another byte.
2007-04-10 18:43:27 +00:00
Denis Vlasenko
540a2a1f3b
libiproute: audit callgraph, shortcut error paths into die() functions.
...
Kill a few statics, made other globals smaller:
oneline is smallint, _SL_ is char
function old new delta
print_tunnel 693 731 +38
print_route 1775 1777 +2
print_addrinfo 1495 1497 +2
ipaddr_list_or_flush 2826 2828 +2
oneline 4 1 -3
_SL_ 4 1 -3
ipaddr_modify 1476 1472 -4
parse_address 124 119 -5
ip_parse_common_args 429 423 -6
on_off 53 46 -7
do_del_ioctl 113 106 -7
do_add_ioctl 120 113 -7
do_show 864 856 -8
iprule_list 157 148 -9
do_iptunnel 310 299 -11
do_add 143 126 -17
get_ctl_fd 95 76 -19
set_address 108 84 -24
ip_main 351 323 -28
static.ifr 32 - -32
parse_args 1992 1949 -43
iproute_list_or_flush 1673 1582 -91
do_iplink 1583 1485 -98
filter 280 - -280
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 4/18 up/down: 44/-702) Total: -658 bytes
2007-04-07 01:14:45 +00:00
Denis Vlasenko
27a131e08e
preparatory patch for -Wwrite-strings #8 (missed part)
2007-01-30 00:44:41 +00:00
Denis Vlasenko
322661d025
preparatory patch for -Wwrite-strings #6
2007-01-29 23:43:52 +00:00