Commit Graph

39 Commits

Author SHA1 Message Date
Stefan Agner
2adaa90534 ifplugd: if SIOCSIFFLAGS fails with EADDRNOTAVAIL, don't die
When using ifplugd on a RNDIS interface with monitor mode, using
SIOCSIFFLAGS seems to fail with EADDRNOTAVAIL. Treat it the same
as if iface disappeared again.

This has been observed on a Tegra TK1 using Linux 4.14. There seem
to be a race when the kernel is creating the device:
  ifplugd(usb0): started: BusyBox v1.24.1 (2018-03-27 09:47:48 CEST)
  ifplugd(usb0): interface doesn't exist, waiting
  ifplugd(usb0): interface appeared
  ifplugd(usb0): upping interface
  ifplugd(usb0): setting interface flags failed: Cannot assign requested address
  <exit>

With this patch ifplugd is successful in upping the device the second
time around:

  ifplugd(usb0): upping interface
  ifplugd(usb0): using SIOCETHTOOL detection mode
  ifplugd(usb0): interface appeared
  ifplugd(usb0): upping interface
  ifplugd(usb0): setting interface flags failed: Cannot assign requested address
  ifplugd(usb0): interface appeared
  ifplugd(usb0): upping interface
  ifplugd(usb0): using SIOCETHTOOL detection mode
  ifplugd(usb0): link is up
  ifplugd(usb0): executing '/etc/ifplugd/ifplugd.usb.action usb0 up'
  ifplugd up
  ifplugd(usb0): exit code: 0

function                                             old     new   delta
up_iface                                             120     127      +7

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-03-29 18:45:11 +02:00
Denys Vlasenko
e4f6bfd6fe zcip: fix slow environment leak
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-22 03:04:20 +02:00
Denys Vlasenko
72089cf6b4 config: deindent all help texts
Those two spaces after tab have no effect, and always a nuisance when editing.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-21 09:50:55 +02:00
Denys Vlasenko
4eed2c6c50 Update menuconfig items with approximate applet sizes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-18 22:01:24 +02:00
Denys Vlasenko
47367e1d50 Convert all networking/* applets to "new style" applet definitions
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-23 09:05:14 +01:00
Denys Vlasenko
b11be131b7 ifplugd: if SIOCSIFFLAGS fails with ENODEV, don't die
Some user managed to hit a race where iface is gone between SIOCGIFFLAGS
and SIOCSIFFLAGS (!). If SIOCSIFFLAGS fails, treat it the same as failed
SIOCGIFFLAGS

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-08-16 20:39:52 +02:00
Denys Vlasenko
237bedd499 getopt32: add new syntax of 'o:+' and 'o:*' for -o NUM and -o LIST
In many cases, this aqllows to drop use of opt_complementary.
Approximately -400 bytes:

function                                             old     new   delta
getopt32                                            1423    1502     +79
opt_string                                            17      18      +1
OPT_STR                                               24      25      +1
uniq_main                                            416     406     -10
timeout_main                                         279     269     -10
sulogin_main                                         270     260     -10
readprofile_main                                    1825    1815     -10
ps_main                                              543     533     -10
pidof_main                                           245     235     -10
pgrep_main                                           611     601     -10
od_main                                             2600    2590     -10
mkfs_minix_main                                     2684    2674     -10
mkfs_ext2_main                                      2603    2593     -10
microcom_main                                        712     702     -10
makemime_main                                        315     305     -10
ionice_main                                          282     272     -10
inetd_main                                          2074    2064     -10
ifplugd_main                                        1144    1134     -10
halt_main                                            353     343     -10
getopt_main                                          636     626     -10
fdisk_main                                          2854    2844     -10
env_main                                             206     196     -10
dmesg_main                                           319     309     -10
conspy_main                                         1214    1204     -10
awk_main                                             981     971     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/22 up/down: 81/-220)         Total: -139 bytes
   text	   data	    bss	    dec	    hex	filename
 919373	    906	  14060	 934339	  e41c3	busybox_old
 918969	    906	  14060	 933935	  e402f	busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-07-06 21:58:02 +02:00
Denys Vlasenko
4271698fea ifplugd: discovered why it needed net/ethernet.h: just for ETH_ALEN
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 02:02:56 +02:00
Denys Vlasenko
5fa6d1a632 Aboriginal linux/musl build fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 11:15:43 +02:00
Denys Vlasenko
50e4cc29f5 ifplugd: code shrink
function                                             old     new   delta
ifplugd_main                                        1161    1144     -17

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-10 09:51:03 +01:00
Tito Ragusa
da331d779c ifplugd: use a larger netlink buffer
function                                             old     new   delta
check_existence_through_netlink                      310     321     +11

Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-04 18:10:26 +02:00
Denys Vlasenko
216e952fb8 ifplugd: make -k send SIGINT, not SIGQUIT
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 12:50:09 +01:00
Anthony G. Basile
12677acf0a CONFIG_PID_FILE_PATH: new configuration option for pidfile paths
We set a default path for the directory where pidfiles are create
when FEATURE_PIDFILE is selected.  The default has no effect on
applets which must specify a pidfile path on the command line to
run, and it can be overridden by applets which optionally allow
the user to specify the pidfile path.

We also add pidfile write/remove support for klogd, ntpd and watchdog.
For syslogd, we add a missing remove_pidfile() for better cleanup
on daemon exit.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-12-19 15:53:33 -05:00
Denys Vlasenko
21f620f6e5 ifplugd: tweak help text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-03 10:26:16 +02:00
Dan Fandrich
f533ec8767 *: simplify Ethernet header includes
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-10 05:17:59 +02:00
Denys Vlasenko
66426760be *: remove "Options:" string from help texts
function                                             old     new   delta
packed_usage                                       28706   28623     -83

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-05 03:58:28 +02:00
Pere Orga
5bc8c005a8 move remaining help text from include/usage.src.h
Signed-off-by: Pere Orga <gotrunks@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-11 03:29:49 +02:00
Denys Vlasenko
b3b6c8bdf2 eliminate aliasing warning in networking/route.c
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-20 11:29:00 +01:00
Denys Vlasenko
53f30b41ec ifplugd: eliminate aliasing warnings
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-20 01:20:36 +01:00
Denys Vlasenko
0ef64bdb40 *: make GNU licensing statement forms more regular
This change retains "or later" state! No licensing _changes_ here,
only form is adjusted (article, space between "GPL" and "v2" and so on).

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16 20:14:46 +02:00
Maksym Kryzhanovskyy
4f0279bd93 ifplugd: code shrink
function                                             old     new   delta
ifplugd_main                                        1089    1161     +72
method_table                                           -      40     +40
detect_link                                          221     207     -14
static.method                                         40       -     -40
netlink_open                                          79       -     -79
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 1/1 up/down: 112/-133)          Total: -21 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-22 02:18:05 +02:00
Maksym Kryzhanovskyy
9388b4e720 ifplugd: code shrink
function                                             old     new   delta
detect_link                                          122     221     +99
api_modes                                              -       7      +7
maybe_up_new_iface                                    27      33      +6
ifplugd_main                                        1143    1089     -54
detect_link_auto                                     117       -    -117
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/1 up/down: 112/-171)          Total: -59 bytes

Signed-off-by: Maksym Kryzhanovskyy <xmaks@email.cz>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-08 02:47:25 +02:00
Denys Vlasenko
78d035f796 ifplugd: fix typo in prev commit
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-11 04:37:13 +02:00
Denys Vlasenko
19afe848ec ifplugd: replace potentially-leaking setenv with malloc/putenv/free
text    data     bss     dec     hex filename
 842657     453    6828  849938   cf812 busybox_old
 842722     453    6828  850003   cf853 busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-08 23:26:16 +02:00
Denys Vlasenko
37201213ca ifplugd: more robust interface name match check
function                                             old     new   delta
check_existence_through_netlink                      278     308     +30

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-02 07:04:44 +02:00
Maxim Kryzhanovsky
2004fa1bc8 ifplugd: code shrink; expanded comments
Signed-off-by: Maxim Kryzhanovsky <xmaks@email.cz>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-30 15:49:57 +02:00
Maxim Kryzhanovsky
fcb84c8bd2 ifplugd: code shrink
text    data     bss     dec     hex filename
 840048     453    6828  847329   cede1 busybox_old
 839915     453    6828  847196   ced5c busybox_unstripped

Signed-off-by: Maxim Kryzhanovsky <xmaks@email.cz>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-29 09:09:05 +02:00
Denys Vlasenko
651a2697f7 *: merge some common strings
text   data    bss    dec    hexfilename
 838650   8009      0 846659  ceb43busybox_old
 838519   8009      0 846528  ceac0busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-23 16:25:17 +01:00
Denys Vlasenko
8531d76a15 *: code shrink and better "died from signal" reporting from wait4pid
function                                             old     new   delta
parse                                                964     967      +3
udhcp_run_script                                     670     665      -5
singlemount                                          911     906      -5
mount_it_now                                         360     355      -5
inotifyd_main                                        521     516      -5
xspawn                                                21       -     -21
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/4 up/down: 3/-41)             Total: -38 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-18 22:44:00 +01:00
Denys Vlasenko
f422a722bb ifplugd: restore auto-ifup unless -a; make iff method less iffy :D
function                                             old     new   delta
up_iface                                               -     112    +112
network_ioctl                                         13      38     +25
detect_link_iff                                       58      71     +13
detect_link                                          143     152      +9
ifplugd_main                                        1107    1109      +2
detect_link_wlan                                     131     125      -6
detect_link_ethtool                                   71      65      -6
detect_link_priv                                      88      80      -8
detect_link_mii                                       88      80      -8
maybe_up_new_iface                                   144      27    -117
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/5 up/down: 161/-145)           Total: 16 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-08 12:28:47 +01:00
Denys Vlasenko
79ae534ac7 ifplugd: simplify run_script()
function                                             old     new   delta
packed_usage                                       26505   26518     +13
run_script                                           158     112     -46

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-06 12:27:18 +01:00
Denys Vlasenko
5a34d021cb ifplugd: small optimization
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-07 17:30:14 +01:00
Denys Vlasenko
337a31b074 ifplugd: fix compile error
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-23 18:31:02 +02:00
Denys Vlasenko
0568b6e45a randomconfig fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-08 03:20:12 +02:00
Denys Vlasenko
9c35a1cfb6 ifplugd: fix warnings 2009-05-01 09:04:25 +02:00
Denis Vlasenko
1fd3b38fd1 *: bb_error_msg's messages should not be capitalized 2009-04-29 12:02:57 +00:00
Denis Vlasenko
80e57eb7d5 ifplugd: tiny shrink 2009-04-26 01:43:36 +00:00
Denis Vlasenko
f4e4563fe7 ifplugd: add copyright 2009-04-26 01:17:44 +00:00
Denis Vlasenko
71c165780a ifplugd: new applet by Maksym Kryzhanovskyy (xmaks AT email.cz)
+3k code and 0.5k in messages. Most of the bloat due to compat :(
2009-04-26 01:08:51 +00:00