Add CONFIG_FEATURE_SYSLOG which controls whether
authorDenis Vlasenko <vda.linux@googlemail.com>
Thu, 7 Sep 2006 06:02:39 +0000 (06:02 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Thu, 7 Sep 2006 06:02:39 +0000 (06:02 -0000)
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
init/Config.in
libbb/verror_msg.c
libbb/vinfo_msg.c
loginutils/Config.in
miscutils/Config.in
networking/Config.in
networking/udhcp/Config.in
sysklogd/Config.in

index e6acf4971621121aa0513cd0c6527ccd1d7fd4a8..d8f77ad315340fb4f6fdf20be530a93a71e4a6ff 100644 (file)
--- 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
index 8b9179124554289b5b72fc5fa2084cf5e6d9ee40..2a39d50e578384686aa12e010f9a4df375e7db52 100644 (file)
@@ -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.
 
index 237547d1da3b9fd77d361911718e22c565eeea69..be206e4771aeefafc9772390d92e36fcb78e22cb 100644 (file)
@@ -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  {
index e8776e5f4523c4d52fa64bffcb2b328d5c70fd72..84825bc76665ae0c9f09a5f00a6bb18af5f8c91e 100644 (file)
@@ -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);
 }
index 99265519ed1951b1d868c79b950a3a6f903d179d..71e0a3ae16af43b3cf54fc661ad8baa1081b0dd5 100644 (file)
@@ -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).
index 9ad3421511a369bbd1d1aa188044421cea717def..dc3da6f9ae4540c2384e811f919bcbf177d89462 100644 (file)
@@ -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.
 
index e5eb11caa03043fce2779bae9ec45f779d2fd0af..2dff021a8d820f03ae9ce4d36e5a6736d3ab6730 100644 (file)
@@ -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
index 01b2902ee9b63e87f69c2d9eaaf994f373adc3cf..773293744923b6e247d9896a42a196eca838d064 100644 (file)
@@ -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
index 05983b68d41e372b7222b4839ef43eccd0859327..399315208b4e36e48c93f2a44dd7db511bbd3975 100644 (file)
@@ -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