Denis Vlasenko
e8a0788b24
moved biggest stack buffers to malloc space, or made their size configurable
...
(8k of shell line edit buffer is an overkill)
# make ARCH=i386 bloatcheck
function old new delta
read_line_input 3933 3967 +34
ifaddrlist 348 345 -3
do_loadfont 208 191 -17
edit_file 840 819 -21
.rodata 129112 129080 -32
uncompress 1305 1268 -37
loadfont_main 566 495 -71
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 34/-181) Total: -147 bytes
2007-06-10 15:08:44 +00:00
Denis Vlasenko
77e44d60e6
httpd: move data off bss.
...
httpd: do not realpath() for SCRIPT_FILENAME - it resolves symlinks
but it should not:
- /* SCRIPT_FILENAME required by PHP in CGI mode */
- if (!realpath(purl + 1, realpath_buff))
- goto error_execing_cgi;
- setenv1("SCRIPT_FILENAME", realpath_buff);
+
+ /* SCRIPT_FILENAME required by PHP in CGI mode */
+ fullpath = concat_path_file(home_httpd, purl);
+ setenv1("SCRIPT_FILENAME", fullpath);
2007-06-09 23:49:05 +00:00
Denis Vlasenko
5c51a7ca52
nc: make connecting to IPv4 from IPv6-enabled hosts easier
...
(was requiring -s <local addr>)
2007-06-05 20:08:11 +00:00
Denis Vlasenko
8c1aaf3297
snprintf(... "%s"...) => safe_strncpy
2007-06-04 21:03:51 +00:00
Denis Vlasenko
821cc25f43
ping: stop using data/bss
...
function old new delta
ping_main 375 392 +17
unpack_tail 317 320 +3
ping4 525 528 +3
ping6 772 773 +1
sendping6 99 98 -1
sendping4 184 183 -1
myid 2 - -2
sendping_tail 154 151 -3
tsum 4 - -4
tmin 4 - -4
tmax 4 - -4
source_lsa 4 - -4
pingsock 4 - -4
pingcount 4 - -4
ntransmitted 4 - -4
nrepeats 4 - -4
nreceived 4 - -4
if_index 4 - -4
hostname 8 4 -4
dotted 4 - -4
datalen 4 - -4
pingaddr 28 - -28
rcvd_tbl 128 - -128
------------------------------------------------------------------------------
(add/remove: 0/15 grow/shrink: 4/4 up/down: 24/-215) Total: -191 bytes
text data bss dec hex filename
679835 2728 16736 699299 aaba3 busybox_old
679851 2720 16536 699107 aaae3 busybox_unstripped
2007-06-04 10:33:48 +00:00
Denis Vlasenko
74324c8666
Audit bb_common_bufsiz usage, add script which looks for misuse.
...
tr: stop using globals needlessly.
code: -103 bytes
2007-06-04 10:16:52 +00:00
Denis Vlasenko
4e5f82c76f
find_stray_communal_vars: script which finds communal variables
...
resize: remove globals var
mdev: remove globals var
2007-06-03 22:30:22 +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
4b924f3a5c
whitespace fixes
2007-05-30 00:29:55 +00:00
Denis Vlasenko
1c9ad62d26
ping: fix wrong sign extension of packet id (bug 1373)
2007-05-27 00:53:41 +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
Denis Vlasenko
5a6aeddfa7
xpipe: introduce (saves ~170 bytes)
...
udhcp/signalpipe.c: use pipe instead of socketpair.
2007-05-26 16:44:20 +00:00
Bernhard Reutner-Fischer
6239b1f50a
- fix typo in help text and fix punctuation
2007-05-26 11:59:01 +00:00
Denis Vlasenko
0fe67b16ce
udhcp: socketpair can fail if AF_UNIX is not available (e.g. if module is not loaded).
...
Error out on that.
2007-05-24 12:19:56 +00:00
Denis Vlasenko
5b34083004
several *.c files:
...
move 'extern environ' up to the location of #includes
2007-05-17 23:02:14 +00:00
Denis Vlasenko
d46e6d1a55
fix trivial compile errors found by randomconfig run
2007-05-17 12:58:30 +00:00
Denis Vlasenko
a35958d4ad
netstat: fix error in new -W option handling
2007-05-16 22:25:35 +00:00
Denis Vlasenko
418a7fb29b
netstat: introduce -W: wide, ipv6-friendly output
...
netstat: shrink by ~500 bytes
(patch by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)
netstat: fix for bogus state value for raw sockets
2007-05-15 23:57:46 +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
Denis Vlasenko
bf678d5423
tftp: explain "block# 0" codepath; report our decision to bail out to server
...
if blocksize option doesn't look good (it was a FIXME. +33 bytes code);
make code more readable.
2007-05-09 12:50:08 +00:00
Denis Vlasenko
a04561f5f7
tftp: code diet, and I think retransmits were broken.
...
function old new delta
static.errcode_str - 32 +32
tftp_main 359 345 -14
tftp_bb_error_msg 32 - -32
.rodata 130931 130899 -32
tftp 1720 1558 -162
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/3 up/down: 32/-240) Total: -208 bytes
2007-05-08 23:12:21 +00:00
Denis Vlasenko
6e6d331d97
udhcpc: stop deleting our own pidfile if we daemonize.
...
udhcp[cd]: stop using atexit magic fir pidfile removal.
2007-05-03 23:39:35 +00:00
Denis Vlasenko
f92df58d3d
ifupdown: small optimization (avoid doing useless work if we are
...
not going to update state file)
2007-05-02 22:22:23 +00:00
Denis Vlasenko
eda43d7f45
ifupdown: mke it possible to use DHCP clients different from udhcp.
2007-05-02 22:04:38 +00:00
Denis Vlasenko
bd100b7478
ifupdown: reread state file before rewriting it.
...
Fixes "ifup started another ifup" state corruption bug.
Patch by Natanael Copa <natanael.copa@gmail.com>.
2007-05-02 21:38:44 +00:00
Denis Vlasenko
088b959d00
"Unify base64 handling" is done, remove TODO
2007-04-18 21:14:46 +00:00
Denis Vlasenko
517d1aac7f
ether-wake: save a few more bytes of code
2007-04-16 23:23:33 +00:00
Denis Vlasenko
198714c0dd
ether-wake: close bug 1317. Reorder fuctions to avoid
...
forward refs while at it
2007-04-16 23:16:37 +00:00
Bernhard Reutner-Fischer
ab51bf4e28
- fix compilation when ENABLE_FEATURE_IP_RULE was off
2007-04-16 14:56:01 +00:00
Denis Vlasenko
16abcd90ae
teach find_root_device to deal with /dev/ subdirs
...
(by "Kirill K. Smirnov" <lich@math.spbu.ru>)
2007-04-13 23:59:52 +00:00
Denis Vlasenko
87468857f6
style fixes
2007-04-13 23:22:00 +00:00
Denis Vlasenko
f7fcca4af7
sourse_route_list -> source_route_list
2007-04-13 22:07:21 +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
51742f4bb0
style fixes. No code changes
2007-04-12 00:32:05 +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
Denis Vlasenko
6398cf477d
style fixes, no code changes.
2007-04-11 17:04:29 +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
Denis Vlasenko
473dae080a
add more convenient defines for [NO]MMU:
...
"#ifndef BB_NOMMU" is a double negative
2007-04-11 07:04:23 +00:00
Bernhard Reutner-Fischer
07c394e69b
- mv ip*_main into ip.c; use a dispatcher to save on needless duplication.
...
Saves a minor 12b.
2007-04-10 20:11:12 +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
ff131b980d
style fixes. No code changes.
2007-04-10 15:42:06 +00:00
Bernhard Reutner-Fischer
7e8a53a335
- add libbb function str_tolower to convert a string to lowercase.
...
- shrink wget a bit
2007-04-10 09:37:29 +00:00
Denis Vlasenko
8d9f495d68
getopt32: fix llist_t options ordering. llist_rev is not unused.
...
function old new delta
tar_main 705 695 -10
sort_main 928 918 -10
decode_format_string 886 876 -10
run_parts_main 197 185 -12
ps_main 513 500 -13
wget_main 2764 2750 -14
awk_main 1014 1000 -14
od_main 2886 2866 -20
llist_rev 25 - -25
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/8 up/down: 0/-128) Total: -128 bytes
2007-04-08 15:08:42 +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
fbd2918f5c
udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata.
...
a few global variables reduced to smallints
function old new delta
add_lease 75 227 +152
static.blank_chaddr - 16 +16
MAC_BCAST_ADDR - 6 +6
sockfd 4 8 +4
udhcp_run_script 1153 1155 +2
state 8 5 -3
listen_mode 4 1 -3
perform_release 152 148 -4
fd 8 4 -4
blank_chaddr 16 - -16
udhcpc_main 2518 2497 -21
.rodata 131864 131832 -32
oldest_expired_lease 61 - -61
clear_lease 127 - -127
------------------------------------------------------------------------------
(add/remove: 2/3 grow/shrink: 3/6 up/down: 180/-271) Total: -91 bytes
2007-04-07 01:05:47 +00:00
Denis Vlasenko
04c99ebb4f
random small shrinkage and elimination of statics
2007-04-07 00:44:31 +00:00
Denis Vlasenko
19507f0869
nc: code shrinkage, bugfixes. -50 bytes code size
2007-04-06 10:41:05 +00:00
Denis Vlasenko
5f42d26865
nc: missed exit() in signal handler
2007-04-05 20:57:10 +00:00