summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-09-07 06:02:39 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-09-07 06:02:39 +0000
commit049d6b8c0812b20c024d714a9008cc94713a6175 (patch)
treeaf95f506cc36561eef6204a1bd915bc0467cdc24
parentb7d8dd9ab18c5001b5a86127c94a07e3ee0125c7 (diff)
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.
-rw-r--r--Config.in7
-rw-r--r--init/Config.in1
-rw-r--r--libbb/verror_msg.c2
-rw-r--r--libbb/vinfo_msg.c2
-rw-r--r--loginutils/Config.in5
-rw-r--r--miscutils/Config.in2
-rw-r--r--networking/Config.in5
-rw-r--r--networking/udhcp/Config.in12
-rw-r--r--sysklogd/Config.in2
9 files changed, 26 insertions, 12 deletions
diff --git a/Config.in b/Config.in
index e6acf4971..d8f77ad31 100644
--- a/Config.in
+++ b/Config.in
@@ -150,6 +150,13 @@ config CONFIG_FEATURE_SUID
are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs,
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
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
default n if CONFIG_FEATURE_SUID
diff --git a/init/Config.in b/init/Config.in
index 8b9179124..2a39d50e5 100644
--- a/init/Config.in
+++ b/init/Config.in
@@ -8,6 +8,7 @@ menu "Init Utilities"
config CONFIG_INIT
bool "init"
default n
+ select CONFIG_FEATURE_SYSLOG
help
init is the first program run when the system boots.
diff --git a/libbb/verror_msg.c b/libbb/verror_msg.c
index 237547d1d..be206e477 100644
--- a/libbb/verror_msg.c
+++ b/libbb/verror_msg.c
@@ -32,7 +32,7 @@ void bb_verror_msg(const char *s, va_list p, const char* strerr)
else
fprintf(stderr, ": %s\n", strerr);
}
- if (logmode & LOGMODE_SYSLOG) {
+ if (ENABLE_FEATURE_SYSLOG & (logmode & LOGMODE_SYSLOG)) {
if (!strerr)
vsyslog(LOG_ERR, s, p2);
else {
diff --git a/libbb/vinfo_msg.c b/libbb/vinfo_msg.c
index e8776e5f4..84825bc76 100644
--- a/libbb/vinfo_msg.c
+++ b/libbb/vinfo_msg.c
@@ -24,7 +24,7 @@ void bb_vinfo_msg(const char *s, va_list p)
vprintf(s, p);
putchar('\n');
}
- if (logmode & LOGMODE_SYSLOG)
+ if (ENABLE_FEATURE_SYSLOG & (logmode & LOGMODE_SYSLOG))
vsyslog(LOG_INFO, s, p2);
va_end(p2);
}
diff --git a/loginutils/Config.in b/loginutils/Config.in
index 99265519e..71e0a3ae1 100644
--- a/loginutils/Config.in
+++ b/loginutils/Config.in
@@ -80,6 +80,7 @@ config CONFIG_DELUSER
config CONFIG_GETTY
bool "getty"
default n
+ select CONFIG_FEATURE_SYSLOG
help
getty lets you log in on a tty, it is normally invoked by init.
@@ -103,6 +104,7 @@ config CONFIG_LOGIN
bool "login"
default n
select CONFIG_FEATURE_SUID
+ select CONFIG_FEATURE_SYSLOG
help
login is used when signing onto a system.
@@ -122,6 +124,7 @@ config CONFIG_PASSWD
bool "passwd"
default n
select CONFIG_FEATURE_SUID
+ select CONFIG_FEATURE_SYSLOG
help
passwd changes passwords for user and group accounts. A normal user
may only change the password for his/her own account, the super user
@@ -135,6 +138,7 @@ config CONFIG_SU
bool "su"
default n
select CONFIG_FEATURE_SUID
+ select CONFIG_FEATURE_SYSLOG
help
su is used to become another user during a login session.
Invoked without a username, su defaults to becoming the super user.
@@ -152,6 +156,7 @@ config CONFIG_SU_SYSLOG
config CONFIG_SULOGIN
bool "sulogin"
default n
+ select CONFIG_FEATURE_SYSLOG
help
sulogin is invoked when the system goes into single user
mode (this is done through an entry in inittab).
diff --git a/miscutils/Config.in b/miscutils/Config.in
index 9ad342151..dc3da6f9a 100644
--- a/miscutils/Config.in
+++ b/miscutils/Config.in
@@ -23,6 +23,7 @@ config CONFIG_CROND
bool "crond"
default n
select CONFIG_FEATURE_SUID
+ select CONFIG_FEATURE_SYSLOG
help
Crond is a background daemon that parses individual crontab
files and executes commands on behalf of the users in question.
@@ -66,6 +67,7 @@ config CONFIG_DC
config CONFIG_DEVFSD
bool "devfsd (obsolete)"
default n
+ select CONFIG_FEATURE_SYSLOG
help
This is deprecated, and will be removed at the end of 2008.
diff --git a/networking/Config.in b/networking/Config.in
index e5eb11caa..2dff021a8 100644
--- a/networking/Config.in
+++ b/networking/Config.in
@@ -33,6 +33,7 @@ config CONFIG_ETHER_WAKE
config CONFIG_FAKEIDENTD
bool "fakeidentd"
default n
+ select CONFIG_FEATURE_SYSLOG
help
fakeidentd listens on the ident port and returns a predefined
fake value on any query.
@@ -288,6 +289,7 @@ config CONFIG_FEATURE_IFUPDOWN_MAPPING
config CONFIG_INETD
bool "inetd"
default n
+ select CONFIG_FEATURE_SYSLOG
help
Internet superserver daemon
@@ -428,6 +430,7 @@ config CONFIG_FEATURE_IPCALC_LONG_OPTIONS
config CONFIG_NAMEIF
bool "nameif"
default n
+ select CONFIG_FEATURE_SYSLOG
help
nameif is used to rename network interface by its MAC address.
Renamed interfaces MUST be in the down state.
@@ -539,6 +542,7 @@ config CONFIG_FEATURE_TELNET_AUTOLOGIN
config CONFIG_TELNETD
bool "telnetd"
default n
+ select CONFIG_FEATURE_SYSLOG
help
A daemon for the TELNET protocol, allowing you to log onto the host
running the daemon. Please keep in mind that the TELNET protocol
@@ -701,6 +705,7 @@ config CONFIG_FEATURE_WGET_LONG_OPTIONS
config CONFIG_ZCIP
bool "zcip"
default n
+ select CONFIG_FEATURE_SYSLOG
help
ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
It's a daemon that allocates and defends a dynamically assigned
diff --git a/networking/udhcp/Config.in b/networking/udhcp/Config.in
index 01b2902ee..773293744 100644
--- a/networking/udhcp/Config.in
+++ b/networking/udhcp/Config.in
@@ -6,6 +6,7 @@
config CONFIG_APP_UDHCPD
bool "udhcp Server (udhcpd)"
default n
+ select CONFIG_FEATURE_SYSLOG
help
uDHCPd is a DHCP server geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant.
@@ -26,6 +27,7 @@ config CONFIG_APP_DUMPLEASES
config CONFIG_APP_UDHCPC
bool "udhcp Client (udhcpc)"
default n
+ select CONFIG_FEATURE_SYSLOG
help
uDHCPc is a DHCP client geared primarily toward embedded systems,
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.
-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
bool "Compile udhcp with noisy debugging messages"
default n
diff --git a/sysklogd/Config.in b/sysklogd/Config.in
index 05983b68d..399315208 100644
--- a/sysklogd/Config.in
+++ b/sysklogd/Config.in
@@ -89,6 +89,7 @@ config CONFIG_KLOGD
bool "klogd"
default n
depends on CONFIG_SYSLOGD
+ select CONFIG_FEATURE_SYSLOG
help
klogd is a utility which intercepts and logs all
messages from the Linux kernel and sends the messages
@@ -99,6 +100,7 @@ config CONFIG_KLOGD
config CONFIG_LOGGER
bool "logger"
default n
+ select CONFIG_FEATURE_SYSLOG
help
The logger utility allows you to send arbitrary text
messages to the system log (i.e. the 'syslogd' utility) so