Denys Vlasenko
028c5aa18b
ip: use rtnl_send_check() on flush commands, closes 6962
...
function old new delta
rtnl_send_check - 160 +160
xrtnl_wilddump_request 64 66 +2
ipneigh_list_or_flush 714 706 -8
rtnl_send 69 - -69
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/1 up/down: 162/-77) Total: 85 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-05-22 13:54:46 +02:00
Denys Vlasenko
ba3b9dbf06
libbb: introduce and use bb_getsockname()
...
function old new delta
bb_getsockname - 18 +18
xrtnl_open 88 83 -5
do_iplink 1216 1209 -7
arping_main 1686 1668 -18
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/3 up/down: 18/-30) Total: -12 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-11 14:55:46 +01:00
Denys Vlasenko
68ae54243c
ip: fix crash in "ip neigh show"
...
parse_rtattr() was using tb[] array without initializing it.
Based on patch by Balaji Punnuru <balaji_punnuru@cable.comcast.com>
function old new delta
parse_rtattr 85 107 +22
print_route 1630 1617 -13
print_linkinfo 807 794 -13
iproute_get 835 822 -13
print_rule 680 665 -15
ll_remember_index 263 248 -15
print_addrinfo 1223 1197 -26
ipaddr_list_or_flush 1253 1223 -30
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/7 up/down: 22/-125) Total: -103 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-08 08:42:37 +01:00
Denys Vlasenko
ebe6d9d875
whitespace and comment format fixes, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-05 14:40:24 +02:00
Hauke Mehrtens
4ff86df861
libnetlink: fix alignment of netlink messages
...
A padding to align a message should not only be added between
different attributes of a netlink message, but also at the end of the
message to pad it to the correct size.
Without this patch the following command does not work and returns an
error code:
ip link add type nlmon
Without this ip from busybox sends this:
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000},
msg_namelen=12, msg_iov=[{iov_base={{len=45, ...},
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon"}, iov_len=45}],
msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 45
return value: 2
The normal ip utile from iproute2 sends this:
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000},
msg_namelen=12, msg_iov=[{iov_base={{len=48, ...},
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon\0\0\0"}, iov_len=48}],
msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 48
return value: 0
With this patch ip from busybox sends this:
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000},
msg_namelen=12, msg_iov=[{iov_base={{len=48, ...},
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon\0\0\0"}, iov_len=48}],
msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 48
return value: 0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-09-18 22:55:47 +02:00
Denys Vlasenko
4548293799
libiproute: eliminate some redundant zero stores
...
function old new delta
do_iprule 974 955 -19
rtnl_dump_request 173 146 -27
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-46) Total: -46 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-08-14 02:08:56 +02:00
Szabolcs Nagy
4ab372d49a
ip: fix problem on mips64 n64 big endian musl systems
...
Use designated initializers for struct msghdr.
The struct layout is non-portable and musl libc does not match what busybox expects.
Signed-off-by: Szabolcs Nagy <nsz@port70.net>
Tested-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-24 17:39:02 +02:00
Denys Vlasenko
3bb235c3b5
iproute: fix parsing and matching of of "short" IP addrs like 10/8
...
function old new delta
print_route 1613 1813 +200
get_addr_1 209 258 +49
get_prefix 393 356 -37
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 249/-37) Total: 212 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-23 01:20:44 +01:00
Denys Vlasenko
f133471302
iproute: fix handling of "dev IFACE" selector
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-09 04:39:09 +01:00
Denys Vlasenko
11872cab32
networking/*: remove superfluous comments
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-30 02:24:48 +02:00
Denys Vlasenko
fb132e4737
whitespace cleanup
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-29 11:46:52 +02:00
Natanael Copa
b78ac5a20e
libnetlink: code shrink
...
function old new delta
xrtnl_open 95 93 -2
parse_rtattr 87 85 -2
rtnl_close 9 - -9
xrtnl_wilddump_request 101 64 -37
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/3 up/down: 0/-50) Total: -50 bytes
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-23 01:31:24 +02:00
Denys Vlasenko
6b9f163353
*: style fixes. no code changes (verified with objdump)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-28 02:24:24 +01:00
Denys Vlasenko
6331cf059c
*: use "can't" instead of "cannot"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-13 09:08:27 +01:00
Denys Vlasenko
d5f1b1bbe0
*: add FAST_FUNC to function ptrs where it makes sense
...
function old new delta
evalcommand 1195 1209 +14
testcmd - 10 +10
printfcmd - 10 +10
echocmd - 10 +10
func_exec 270 276 +6
echo_dg 104 109 +5
store_nlmsg 85 89 +4
pseudo_exec_argv 195 198 +3
dotcmd 287 290 +3
machtime_stream 29 31 +2
discard_stream 24 26 +2
argstr 1299 1301 +2
killcmd 108 109 +1
evalfor 226 227 +1
daytime_stream 43 44 +1
run_list 2544 2543 -1
lookupvar 62 61 -1
ipaddr_modify 1310 1309 -1
...
parse_stream 2254 2245 -9
evalpipe 356 347 -9
collect_if 210 197 -13
read_opt 869 851 -18
handle_dollar 681 658 -23
print_addrinfo 1342 1303 -39
iterate_on_dir 156 59 -97
print_route 1709 1609 -100
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 12/130 up/down: 74/-767) Total: -693 bytes
text data bss dec hex filename
841748 467 7872 850087 cf8a7 busybox_old
841061 467 7872 849400 cf5f8 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-05 12:06:05 +02:00
Denis Vlasenko
a771e7c005
*: remove check for errors on getsockaddr in cases we know they can't happen
...
libbb: make get_sock_lsa use only one getsockaddr syscall, not two
function old new delta
get_sock_lsa 72 101 +29
do_iplink 1151 1137 -14
arping_main 1585 1569 -16
dolisten 789 755 -34
xrtnl_open 161 94 -67
2009-04-21 23:48:38 +00:00
Denis Vlasenko
efb545b9bd
optimize 16- and 32-bit moves
...
function old new delta
udhcpd_main 1239 1257 +18
udhcp_add_simple_option 93 92 -1
buffer_read_le_u32 19 18 -1
unpack_gz_stream_with_info 526 520 -6
dnsd_main 1470 1463 -7
udhcp_run_script 1208 1186 -22
send_ACK 255 229 -26
arping_main 1661 1623 -38
send_offer 470 428 -42
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 18/-143) Total: -125 bytes
2008-12-08 22:56:18 +00:00
Bernhard Reutner-Fischer
d73cbd31a2
- first pass to unify/cleanup uid handling (-236b)
...
This needs further love, alot of love.. Tito?
2008-07-21 14:41:33 +00:00
Denis Vlasenko
0db2c2eb71
libiproute: print_route() always uses stdout, do not pass FILE pointer to it.
...
libiproute: Use FAST_FUNC
function old new delta
iprule_modify 884 905 +21
ipaddr_modify 1289 1310 +21
rtnl_send 53 69 +16
xrtnl_wilddump_request 109 124 +15
xrtnl_dump_filter 394 403 +9
rtnl_talk 534 539 +5
print_addrinfo 1369 1374 +5
iproute_modify 1017 1020 +3
iprule_list 81 83 +2
xrtnl_open 163 161 -2
parse_rtattr 89 87 -2
ipaddr_list_or_flush 2176 2174 -2
addattr_l 91 88 -3
flush_update 116 108 -8
iproute_list_or_flush 1285 1263 -22
iproute_get 878 852 -26
print_route 1913 1752 -161
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 9/8 up/down: 97/-226) Total: -129 bytes
2008-06-29 06:22:40 +00:00
Bernhard Reutner-Fischer
9de4622055
- make the first arg of the filter function passed to rtnl_dump_filter constant
...
to match normal iproute. No obj-code changes.
2008-06-12 15:54:49 +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
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
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
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
98ee06d3d4
stop using __u32 etc. uint32_t is there for a reason
2006-12-31 18:57:37 +00:00
Bernhard Reutner-Fischer
921f5df25f
- add 'ip rule' support. First take..
...
text data bss dec hex filename
2999 0 0 2999 bb7 networking/libiproute/iprule.o
2006-11-21 15:36:08 +00:00
Denis Vlasenko
d3d004dd35
last nail into error_msg() (de)capitalization
2006-10-27 09:02:31 +00:00
Denis Vlasenko
ea62077b85
add open_read_close() and similar stuff
2006-10-14 02:23:43 +00:00
"Robert P. J. Day"
63fc1a9e08
Standardize on the vi editing directives being on the first line.
2006-07-02 19:47:05 +00:00
Rob Landley
ecae66ac16
Header cleanup: don't #include headers that libbb.h already includes.
2006-06-02 20:53:38 +00:00
Eric Andersen
cbd1c85744
Kill off some unused code that was wasting several k, as noticed by
...
Denis Vlasenko when building with -ffunction-sections -fdata-sections
2006-03-03 18:37:39 +00:00
Eric Andersen
d78aea8b8e
sort out yet more type issues
2006-01-30 18:00:02 +00:00
Eric Andersen
6c8161d69f
Steve Grubb writes:
...
Hello,
Last November a bug was found in iproute. CAN-2003-0856 has more information.
Basically, netlink packets can come from any user. If a program performs action
based on netlink packets, they must be examined to make sure they came from the
place they are expected (the kernel).
Attached is a patch against pre8. Please apply this before releasing 1.00 final.
All users of busy box may be vulnerable to local attacks without it.
Best Regards,
Steve Grubb
2004-05-05 07:05:32 +00:00
Eric Andersen
c7bda1ce65
Remove trailing whitespace. Update copyright to include 2004.
2004-03-15 08:29:22 +00:00
Eric Andersen
0f08e53535
Patch from Lars Kellogg-Stedman:
...
I'm building BusyBox using a development kit for MontaVista Hardhat Linux
(PPC) -- which, at least in this instance, is based around kernel 2.2.14.
I've had to massage a few files in networking/libiproute/ to make it
compile. Specifically:
(1) Added a #include <sys/uio.h> for the iovec structure in
libnetlink.c,
(2) Put ifdefs in ll_types.c and ll_proto.c around various
constants (ETH_P_xxx and ARPHRD_xxx) that weren't defined,
(3) Make do_changename() in iplink.c require a kernel >=
2.4.0 -- the ifr structure in my environment doesn't
have the ifr_name attribute. I've assumed this is
a kernel dependency -- let me know if I ought to be
checking something else.
In the absence of the correct kernel, do_changename()
always returns 0.
Attached is a patch against the current CVS that will make these changes.
-- Lars
2003-06-20 09:05:00 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Glenn L McGrath
275be87be7
Only included headers that are used.
2002-12-16 07:37:21 +00:00
Glenn L McGrath
d4de975cd2
Cleanup error messages
2002-11-28 12:35:46 +00:00
Glenn L McGrath
9a2d27249c
IP applet by Bastian Blank <waldi@debian.org>
2002-11-10 01:33:55 +00:00