From 049d6b8c0812b20c024d714a9008cc94713a6175 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Thu, 7 Sep 2006 06:02:39 +0000 Subject: 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. --- Config.in | 7 +++++++ init/Config.in | 1 + libbb/verror_msg.c | 2 +- libbb/vinfo_msg.c | 2 +- loginutils/Config.in | 5 +++++ miscutils/Config.in | 2 ++ networking/Config.in | 5 +++++ networking/udhcp/Config.in | 12 ++---------- sysklogd/Config.in | 2 ++ 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 -- cgit v1.2.3