Add CONFIG_FEATURE_SYSLOG which controls whether

bb_xx_msg will ever try to send output to syslog.
Add "select CONFIG_FEATURE_SYSLOG" to relevant applets.
This allows to omit syslog code if we do not have
any syslog-capable applets in the build.
This commit is contained in:
Denis Vlasenko 2006-09-07 06:02:39 +00:00
parent b7d8dd9ab1
commit 049d6b8c08
9 changed files with 26 additions and 12 deletions

View File

@ -150,6 +150,13 @@ config CONFIG_FEATURE_SUID
are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs, are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs,
and vlock. and vlock.
config CONFIG_FEATURE_SYSLOG
bool "Support for syslog"
default n
help
This option is auto-selected when you select any applet which may
send its output to syslog. You do not need to select it manually.
config CONFIG_FEATURE_SUID_CONFIG config CONFIG_FEATURE_SUID_CONFIG
bool "Runtime SUID/SGID configuration via /etc/busybox.conf" bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
default n if CONFIG_FEATURE_SUID default n if CONFIG_FEATURE_SUID

View File

@ -8,6 +8,7 @@ menu "Init Utilities"
config CONFIG_INIT config CONFIG_INIT
bool "init" bool "init"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
init is the first program run when the system boots. init is the first program run when the system boots.

View File

@ -32,7 +32,7 @@ void bb_verror_msg(const char *s, va_list p, const char* strerr)
else else
fprintf(stderr, ": %s\n", strerr); fprintf(stderr, ": %s\n", strerr);
} }
if (logmode & LOGMODE_SYSLOG) { if (ENABLE_FEATURE_SYSLOG & (logmode & LOGMODE_SYSLOG)) {
if (!strerr) if (!strerr)
vsyslog(LOG_ERR, s, p2); vsyslog(LOG_ERR, s, p2);
else { else {

View File

@ -24,7 +24,7 @@ void bb_vinfo_msg(const char *s, va_list p)
vprintf(s, p); vprintf(s, p);
putchar('\n'); putchar('\n');
} }
if (logmode & LOGMODE_SYSLOG) if (ENABLE_FEATURE_SYSLOG & (logmode & LOGMODE_SYSLOG))
vsyslog(LOG_INFO, s, p2); vsyslog(LOG_INFO, s, p2);
va_end(p2); va_end(p2);
} }

View File

@ -80,6 +80,7 @@ config CONFIG_DELUSER
config CONFIG_GETTY config CONFIG_GETTY
bool "getty" bool "getty"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
getty lets you log in on a tty, it is normally invoked by init. getty lets you log in on a tty, it is normally invoked by init.
@ -103,6 +104,7 @@ config CONFIG_LOGIN
bool "login" bool "login"
default n default n
select CONFIG_FEATURE_SUID select CONFIG_FEATURE_SUID
select CONFIG_FEATURE_SYSLOG
help help
login is used when signing onto a system. login is used when signing onto a system.
@ -122,6 +124,7 @@ config CONFIG_PASSWD
bool "passwd" bool "passwd"
default n default n
select CONFIG_FEATURE_SUID select CONFIG_FEATURE_SUID
select CONFIG_FEATURE_SYSLOG
help help
passwd changes passwords for user and group accounts. A normal user passwd changes passwords for user and group accounts. A normal user
may only change the password for his/her own account, the super user may only change the password for his/her own account, the super user
@ -135,6 +138,7 @@ config CONFIG_SU
bool "su" bool "su"
default n default n
select CONFIG_FEATURE_SUID select CONFIG_FEATURE_SUID
select CONFIG_FEATURE_SYSLOG
help help
su is used to become another user during a login session. su is used to become another user during a login session.
Invoked without a username, su defaults to becoming the super user. Invoked without a username, su defaults to becoming the super user.
@ -152,6 +156,7 @@ config CONFIG_SU_SYSLOG
config CONFIG_SULOGIN config CONFIG_SULOGIN
bool "sulogin" bool "sulogin"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
sulogin is invoked when the system goes into single user sulogin is invoked when the system goes into single user
mode (this is done through an entry in inittab). mode (this is done through an entry in inittab).

View File

@ -23,6 +23,7 @@ config CONFIG_CROND
bool "crond" bool "crond"
default n default n
select CONFIG_FEATURE_SUID select CONFIG_FEATURE_SUID
select CONFIG_FEATURE_SYSLOG
help help
Crond is a background daemon that parses individual crontab Crond is a background daemon that parses individual crontab
files and executes commands on behalf of the users in question. files and executes commands on behalf of the users in question.
@ -66,6 +67,7 @@ config CONFIG_DC
config CONFIG_DEVFSD config CONFIG_DEVFSD
bool "devfsd (obsolete)" bool "devfsd (obsolete)"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
This is deprecated, and will be removed at the end of 2008. This is deprecated, and will be removed at the end of 2008.

View File

@ -33,6 +33,7 @@ config CONFIG_ETHER_WAKE
config CONFIG_FAKEIDENTD config CONFIG_FAKEIDENTD
bool "fakeidentd" bool "fakeidentd"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
fakeidentd listens on the ident port and returns a predefined fakeidentd listens on the ident port and returns a predefined
fake value on any query. fake value on any query.
@ -288,6 +289,7 @@ config CONFIG_FEATURE_IFUPDOWN_MAPPING
config CONFIG_INETD config CONFIG_INETD
bool "inetd" bool "inetd"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
Internet superserver daemon Internet superserver daemon
@ -428,6 +430,7 @@ config CONFIG_FEATURE_IPCALC_LONG_OPTIONS
config CONFIG_NAMEIF config CONFIG_NAMEIF
bool "nameif" bool "nameif"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
nameif is used to rename network interface by its MAC address. nameif is used to rename network interface by its MAC address.
Renamed interfaces MUST be in the down state. Renamed interfaces MUST be in the down state.
@ -539,6 +542,7 @@ config CONFIG_FEATURE_TELNET_AUTOLOGIN
config CONFIG_TELNETD config CONFIG_TELNETD
bool "telnetd" bool "telnetd"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
A daemon for the TELNET protocol, allowing you to log onto the host A daemon for the TELNET protocol, allowing you to log onto the host
running the daemon. Please keep in mind that the TELNET protocol running the daemon. Please keep in mind that the TELNET protocol
@ -701,6 +705,7 @@ config CONFIG_FEATURE_WGET_LONG_OPTIONS
config CONFIG_ZCIP config CONFIG_ZCIP
bool "zcip" bool "zcip"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927. ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
It's a daemon that allocates and defends a dynamically assigned It's a daemon that allocates and defends a dynamically assigned

View File

@ -6,6 +6,7 @@
config CONFIG_APP_UDHCPD config CONFIG_APP_UDHCPD
bool "udhcp Server (udhcpd)" bool "udhcp Server (udhcpd)"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
uDHCPd is a DHCP server geared primarily toward embedded systems, uDHCPd is a DHCP server geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant. while striving to be fully functional and RFC compliant.
@ -26,6 +27,7 @@ config CONFIG_APP_DUMPLEASES
config CONFIG_APP_UDHCPC config CONFIG_APP_UDHCPC
bool "udhcp Client (udhcpc)" bool "udhcp Client (udhcpc)"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
uDHCPc is a DHCP client geared primarily toward embedded systems, uDHCPc is a DHCP client geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant. while striving to be fully functional and RFC compliant.
@ -35,16 +37,6 @@ config CONFIG_APP_UDHCPC
See http://udhcp.busybox.net for further details. See http://udhcp.busybox.net for further details.
config CONFIG_FEATURE_UDHCP_SYSLOG
bool "Log udhcp messages to syslog (instead of stdout)"
default n
depends on CONFIG_APP_UDHCPD || CONFIG_APP_UDHCPC
help
If selected, udhcpd will log all its messages to syslog, otherwise,
it will attempt to log them to stdout.
See http://udhcp.busybox.net for further details.
config CONFIG_FEATURE_UDHCP_DEBUG config CONFIG_FEATURE_UDHCP_DEBUG
bool "Compile udhcp with noisy debugging messages" bool "Compile udhcp with noisy debugging messages"
default n default n

View File

@ -89,6 +89,7 @@ config CONFIG_KLOGD
bool "klogd" bool "klogd"
default n default n
depends on CONFIG_SYSLOGD depends on CONFIG_SYSLOGD
select CONFIG_FEATURE_SYSLOG
help help
klogd is a utility which intercepts and logs all klogd is a utility which intercepts and logs all
messages from the Linux kernel and sends the messages messages from the Linux kernel and sends the messages
@ -99,6 +100,7 @@ config CONFIG_KLOGD
config CONFIG_LOGGER config CONFIG_LOGGER
bool "logger" bool "logger"
default n default n
select CONFIG_FEATURE_SYSLOG
help help
The logger utility allows you to send arbitrary text The logger utility allows you to send arbitrary text
messages to the system log (i.e. the 'syslogd' utility) so messages to the system log (i.e. the 'syslogd' utility) so