libbb: new option FEATURE_ETC_SERVICES: if off, /etc/services reads often avoided

In practice, "wget http://host.com/" always uses port 80.
People explicitly set non-standard ports via options or parameters
("telnet 1.2.3.4 567" or "telnet 1.2.3.4 ftp") instead of modifying
/etc/services.

function                                             old     new   delta
telnet_main                                         1466    1464      -2
rdate_main                                           215     198     -17
fakeidentd_main                                      269     252     -17
parse_url                                            459     392     -67
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-103)           Total: -103 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2018-04-17 12:43:54 +02:00
parent 816d8d7a66
commit 2aeb201c97
6 changed files with 25 additions and 7 deletions

View File

@@ -76,6 +76,18 @@ config FEATURE_ETC_NETWORKS
a rarely used feature which allows you to use names
instead of IP/mask pairs in route command.
config FEATURE_ETC_SERVICES
bool "Consult /etc/services even for well-known ports"
default n
help
Look up e.g. "telnet" and "http" in /etc/services file
instead of assuming ports 23 and 80.
This is almost never necessary (everybody uses standard ports),
and it makes sense to avoid reading this file.
If you disable this option, in the cases where port is explicitly
specified as a service name (e.g. "telnet HOST PORTNAME"),
it will still be looked up in /etc/services.
config FEATURE_EDITING
bool "Command line editing"
default y