httpd: slight reduction of #ifdef forest

few other applets: #ifdef CONFIG_ -> #if ENABLE_
traceroute: fix exposed bugs
defconfig: update
This commit is contained in:
Denis Vlasenko 2006-11-21 10:15:25 +00:00
parent 3eb91c2e35
commit 04291bc5ae
6 changed files with 117 additions and 67 deletions

View File

@ -1756,22 +1756,19 @@ static int miniHttpd(int server)
/* set the KEEPALIVE option to cull dead connections */
on = 1;
setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (void *)&on, sizeof(on));
#if !DEBUG
if (fork() == 0)
#endif
{
/* This is the spawned thread */
if (DEBUG || fork() == 0) {
/* child */
#if ENABLE_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
/* protect reload config, may be confuse checking */
signal(SIGHUP, SIG_IGN);
#endif
handleIncoming();
#if !DEBUG
exit(0);
#endif
if (!DEBUG)
exit(0);
}
close(s);
} // while (1)
} /* while (1) */
return 0;
}

View File

@ -60,7 +60,7 @@ static const char *const tftp_bb_error_msg[] = {
#endif
#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
#if ENABLE_FEATURE_TFTP_BLOCKSIZE
static int tftp_blocksize_check(int blocksize, int bufsize)
{
@ -204,7 +204,7 @@ static int tftp(const int cmd, const struct hostent *host,
memcpy(cp, MODE_OCTET, MODE_OCTET_LEN);
cp += MODE_OCTET_LEN;
#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
#if ENABLE_FEATURE_TFTP_BLOCKSIZE
len = tftp_bufsize - 4; /* data block size */
@ -261,7 +261,7 @@ static int tftp(const int cmd, const struct hostent *host,
len = cp - buf;
#ifdef CONFIG_DEBUG_TFTP
#if ENABLE_DEBUG_TFTP
fprintf(stderr, "sending %u bytes\n", len);
for (cp = buf; cp < &buf[len]; cp++)
fprintf(stderr, "%02x ", (unsigned char) *cp);
@ -337,7 +337,7 @@ static int tftp(const int cmd, const struct hostent *host,
opcode = ntohs(*((unsigned short *) buf));
tmp = ntohs(*((unsigned short *) &buf[2]));
#ifdef CONFIG_DEBUG_TFTP
#if ENABLE_DEBUG_TFTP
fprintf(stderr, "received %d bytes: %04x %04x\n", len, opcode, tmp);
#endif
@ -359,7 +359,7 @@ static int tftp(const int cmd, const struct hostent *host,
break;
}
#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
#if ENABLE_FEATURE_TFTP_BLOCKSIZE
if (want_option_ack) {
want_option_ack = 0;
@ -382,7 +382,7 @@ static int tftp(const int cmd, const struct hostent *host,
} else {
opcode = TFTP_ACK;
}
#ifdef CONFIG_DEBUG_TFTP
#if ENABLE_DEBUG_TFTP
fprintf(stderr, "using %s %u\n", OPTION_BLOCKSIZE,
blksize);
#endif
@ -448,7 +448,7 @@ static int tftp(const int cmd, const struct hostent *host,
}
}
#ifdef CONFIG_FEATURE_CLEAN_UP
#if ENABLE_FEATURE_CLEAN_UP
close(socketfd);
free(buf);
#endif
@ -470,7 +470,7 @@ int tftp_main(int argc, char **argv)
/* figure out what to pass to getopt */
#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
#if ENABLE_FEATURE_TFTP_BLOCKSIZE
char *sblocksize = NULL;
#define BS "b:"
@ -480,7 +480,7 @@ int tftp_main(int argc, char **argv)
#define BS_ARG
#endif
#ifdef CONFIG_FEATURE_TFTP_GET
#if ENABLE_FEATURE_TFTP_GET
#define GET "g"
#define GET_COMPL ":g"
#else
@ -488,7 +488,7 @@ int tftp_main(int argc, char **argv)
#define GET_COMPL
#endif
#ifdef CONFIG_FEATURE_TFTP_PUT
#if ENABLE_FEATURE_TFTP_PUT
#define PUT "p"
#define PUT_COMPL ":p"
#else
@ -505,16 +505,16 @@ int tftp_main(int argc, char **argv)
cmd = getopt32(argc, argv, GET PUT "l:r:" BS, &localfile, &remotefile BS_ARG);
cmd &= (tftp_cmd_get | tftp_cmd_put);
#ifdef CONFIG_FEATURE_TFTP_GET
#if ENABLE_FEATURE_TFTP_GET
if (cmd == tftp_cmd_get)
flags = O_WRONLY | O_CREAT | O_TRUNC;
#endif
#ifdef CONFIG_FEATURE_TFTP_PUT
#if ENABLE_FEATURE_TFTP_PUT
if (cmd == tftp_cmd_put)
flags = O_RDONLY;
#endif
#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
#if ENABLE_FEATURE_TFTP_BLOCKSIZE
if (sblocksize) {
blocksize = xatoi_u(sblocksize);
if (!tftp_blocksize_check(blocksize, 0)) {
@ -542,7 +542,7 @@ int tftp_main(int argc, char **argv)
host = xgethostbyname(argv[optind]);
port = bb_lookup_port(argv[optind + 1], "udp", 69);
#ifdef CONFIG_DEBUG_TFTP
#if ENABLE_DEBUG_TFTP
fprintf(stderr, "using server \"%s\", remotefile \"%s\", "
"localfile \"%s\".\n",
inet_ntoa(*((struct in_addr *) host->h_addr)),

View File

@ -196,12 +196,15 @@
* Tue Dec 20 03:50:13 PST 1988
*/
#undef CONFIG_FEATURE_TRACEROUTE_VERBOSE
#define TRACEROUTE_SO_DEBUG 0
/* TODO: undefs were uncommented - ??! we have config system for that! */
/* probably ok to remove altogether */
//#undef CONFIG_FEATURE_TRACEROUTE_VERBOSE
//#define CONFIG_FEATURE_TRACEROUTE_VERBOSE
#undef CONFIG_FEATURE_TRACEROUTE_SO_DEBUG /* not in documentation man */
#undef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
//#undef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
//#define CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#undef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
//#undef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
//#define CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#include "inet_common.h"
@ -284,17 +287,17 @@ struct IFADDRLIST {
static const char route[] = "/proc/net/route";
/* last inbound (icmp) packet */
static unsigned char packet[512] ATTRIBUTE_ALIGNED(32);
static unsigned char packet[512] ATTRIBUTE_ALIGNED(32);
static struct ip *outip; /* last output (udp) packet */
static struct udphdr *outudp; /* last output (udp) packet */
static struct outdata *outdata; /* last output (udp) packet */
#ifdef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
static struct icmp *outicmp; /* last output (icmp) packet */
#endif
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
/* Maximum number of gateways (include room for one noop) */
#define NGATEWAYS ((int)((MAX_IPOPTLEN - IPOPT_MINOFF - 1) / sizeof(u_int32_t)))
/* loose source route gateway list (including room for final destination) */
@ -320,16 +323,16 @@ static int waittime = 5; /* time to wait for response (in seconds)
static int nflag; /* print addresses numerically */
static int doipcksum = 1; /* calculate ip checksums by default */
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
static int optlen; /* length of ip options */
#else
#define optlen 0
#endif
#ifdef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
static int useicmp; /* use icmp echo instead of udp packets */
#endif
#ifdef CONFIG_FEATURE_TRACEROUTE_VERBOSE
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE
static int verbose;
#endif
@ -596,14 +599,14 @@ send_probe(int seq, int ttl, struct timeval *tp)
outdata->ttl = ttl;
memcpy(&outdata->tv, tp, sizeof(outdata->tv));
#ifdef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
if (useicmp)
outicmp->icmp_seq = htons(seq);
else
#endif
outudp->dest = htons(port + seq);
#ifdef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
if (useicmp) {
/* Always calculate checksum for icmp packets */
outicmp->icmp_cksum = 0;
@ -631,7 +634,7 @@ send_probe(int seq, int ttl, struct timeval *tp)
*outip = tip;
}
#ifdef CONFIG_FEATURE_TRACEROUTE_VERBOSE
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE
/* XXX undocumented debugging hack */
if (verbose > 1) {
const u_short *sp;
@ -684,7 +687,7 @@ deltaT(struct timeval *t1p, struct timeval *t2p)
return dt;
}
#ifdef CONFIG_FEATURE_TRACEROUTE_VERBOSE
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE
/*
* Convert an ICMP "type" field to a printable string.
*/
@ -717,7 +720,7 @@ packet_ok(unsigned char *buf, int cc, struct sockaddr_in *from, int seq)
ip = (struct ip *) buf;
hlen = ip->ip_hl << 2;
if (cc < hlen + ICMP_MINLEN) {
#ifdef CONFIG_FEATURE_TRACEROUTE_VERBOSE
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE
if (verbose)
printf("packet too short (%d bytes) from %s\n", cc,
inet_ntoa(from->sin_addr));
@ -741,7 +744,7 @@ packet_ok(unsigned char *buf, int cc, struct sockaddr_in *from, int seq)
hip = &icp->icmp_ip;
hlen = hip->ip_hl << 2;
#ifdef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
if (useicmp) {
struct icmp *hicmp;
@ -770,7 +773,7 @@ packet_ok(unsigned char *buf, int cc, struct sockaddr_in *from, int seq)
return (type == ICMP_TIMXCEED ? -1 : code + 1);
}
}
#ifdef CONFIG_FEATURE_TRACEROUTE_VERBOSE
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE
if (verbose) {
int i;
u_int32_t *lp = (u_int32_t *)&icp->icmp_ip;
@ -821,7 +824,7 @@ print(unsigned char *buf, int cc, struct sockaddr_in *from)
cc -= hlen;
inetname(from);
#ifdef CONFIG_FEATURE_TRACEROUTE_VERBOSE
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE
if (verbose)
printf(" %d bytes to %s", cc, inet_ntoa (ip->ip_dst));
#endif
@ -869,7 +872,7 @@ freehostinfo(struct hostinfo *hi)
free((char *)hi);
}
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
static void
getaddr(u_int32_t *ap, const char *host)
{
@ -899,7 +902,7 @@ traceroute_main(int argc, char *argv[])
char *source = NULL;
unsigned long op;
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
int lsrr = 0;
#endif
u_short off = 0;
@ -915,12 +918,12 @@ traceroute_main(int argc, char *argv[])
char *pausemsecs_str = NULL;
int first_ttl = 1;
char *first_ttl_str = NULL;
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
llist_t *sourse_route_list = NULL;
#endif
opterr = 0;
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
opt_complementary = "x-x:g::";
#else
opt_complementary = "x-x";
@ -936,23 +939,23 @@ traceroute_main(int argc, char *argv[])
#define USAGE_OP_VERBOSE (1<<6) /* v */
#define USAGE_OP_IP_CHKSUM (1<<7) /* x */
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
"g:"
#endif
, &tos_str, &device, &max_ttl_str, &port_str, &nprobes_str,
&source, &waittime_str, &pausemsecs_str, &first_ttl_str
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
, &sourse_route_list
#endif
);
if (op & USAGE_OP_DONT_FRAGMNT)
off = IP_DF;
#ifdef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
useicmp = op & USAGE_OP_USE_ICMP;
#endif
nflag = op & USAGE_OP_ADDR_NUM;
#ifdef CONFIG_FEATURE_TRACEROUTE_VERBOSE
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE
verbose = op & USAGE_OP_VERBOSE;
#endif
if (op & USAGE_OP_IP_CHKSUM) {
@ -981,7 +984,7 @@ traceroute_main(int argc, char *argv[])
if (first_ttl_str)
first_ttl = xatoul_range(first_ttl_str, 1, 255);
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
if (sourse_route_list) {
llist_t *l_sr;
@ -1006,7 +1009,7 @@ traceroute_main(int argc, char *argv[])
minpacket = sizeof(*outip) + sizeof(*outdata) + optlen;
#ifdef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
if (useicmp)
minpacket += 8; /* XXX magic number */
else
@ -1044,7 +1047,7 @@ traceroute_main(int argc, char *argv[])
s = xsocket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
#ifdef CONFIG_FEATURE_TRACEROUTE_SO_DEBUG
#if TRACEROUTE_SO_DEBUG
if (op & USAGE_OP_DEBUG)
(void)setsockopt(s, SOL_SOCKET, SO_DEBUG, (char *)&on,
sizeof(on));
@ -1055,7 +1058,7 @@ traceroute_main(int argc, char *argv[])
sndsock = xsocket(AF_INET, SOCK_RAW, IPPROTO_RAW);
#ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
#if defined(IP_OPTIONS)
if (lsrr > 0) {
unsigned char optlist[MAX_IPOPTLEN];
@ -1101,7 +1104,7 @@ traceroute_main(int argc, char *argv[])
}
#endif
#endif
#ifdef CONFIG_FEATURE_TRACEROUTE_SO_DEBUG
#if TRACEROUTE_SO_DEBUG
if (op & USAGE_OP_DEBUG)
(void)setsockopt(sndsock, SOL_SOCKET, SO_DEBUG, (char *)&on,
sizeof(on));
@ -1126,7 +1129,7 @@ traceroute_main(int argc, char *argv[])
outip->ip_hl = (outp - (unsigned char *)outip) >> 2;
ident = (getpid() & 0xffff) | 0x8000;
#ifdef CONFIG_FEATURE_TRACEROUTE_USE_ICMP
#if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
if (useicmp) {
outip->ip_p = IPPROTO_ICMP;

View File

@ -79,7 +79,7 @@ uint32_t reservedIp(struct static_lease *lease_struct, uint32_t ip)
return return_val;
}
#ifdef CONFIG_FEATURE_UDHCP_DEBUG
#if ENABLE_FEATURE_UDHCP_DEBUG
/* Print out static leases just to check what's going on */
/* Takes the address of the pointer to the static_leases linked list */
void printStaticLeases(struct static_lease **arg)

View File

@ -24,14 +24,9 @@
// - link status monitoring (restart on link-up; stop on link-down)
#include "busybox.h"
#include <errno.h>
#include <string.h>
#include <syslog.h>
#include <poll.h>
#include <time.h>
#include <sys/wait.h>
#include <netinet/ether.h>
#include <net/ethernet.h>
#include <net/if.h>

View File

@ -1,3 +1,7 @@
#
#
CONFIG_HAVE_DOT_CONFIG=y
#
# Busybox Settings
#
@ -7,6 +11,9 @@
#
# CONFIG_NITPICK is not set
# CONFIG_DESKTOP is not set
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEATURE_COMPRESS_USAGE=y
@ -14,6 +21,7 @@ CONFIG_FEATURE_INSTALLER=y
CONFIG_LOCALE_SUPPORT=y
CONFIG_GETOPT_LONG=y
CONFIG_FEATURE_DEVPTS=y
# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SYSLOG=y
CONFIG_FEATURE_SUID_CONFIG=y
@ -26,6 +34,8 @@ CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
#
# CONFIG_STATIC is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y
# CONFIG_BUILD_AT_ONCE is not set
@ -33,6 +43,10 @@ CONFIG_LFS=y
# Debugging Options
#
# CONFIG_DEBUG is not set
# CONFIG_DEBUG_PESSIMIZE is not set
# CONFIG_NO_DEBUG_LIB is not set
# CONFIG_DMALLOC is not set
# CONFIG_EFENCE is not set
CONFIG_DEBUG_YANK_SUSv2=y
#
@ -63,6 +77,7 @@ CONFIG_BUNZIP2=y
CONFIG_CPIO=y
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
CONFIG_GUNZIP=y
CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
CONFIG_GZIP=y
@ -87,6 +102,9 @@ CONFIG_UNZIP=y
# Common options for cpio and tar
#
CONFIG_FEATURE_UNARCHIVE_TAPE=y
# CONFIG_FEATURE_DEB_TAR_GZ is not set
# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
# CONFIG_FEATURE_DEB_TAR_LZMA is not set
#
# Coreutils
@ -227,7 +245,10 @@ CONFIG_LOADFONT=y
CONFIG_LOADKMAP=y
CONFIG_OPENVT=y
CONFIG_RESET=y
# CONFIG_RESIZE is not set
# CONFIG_FEATURE_RESIZE_PRINT is not set
CONFIG_SETCONSOLE=y
# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
CONFIG_SETKEYCODES=y
CONFIG_SETLOGCONS=y
@ -332,6 +353,8 @@ CONFIG_FSCK=y
CONFIG_LSATTR=y
# CONFIG_MKE2FS is not set
# CONFIG_TUNE2FS is not set
# CONFIG_E2LABEL is not set
# CONFIG_FINDFS is not set
#
# Linux Module Utilities
@ -355,6 +378,7 @@ CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
CONFIG_FEATURE_2_4_MODULES=y
CONFIG_FEATURE_2_6_MODULES=y
# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
#
# Linux System Utilities
@ -428,6 +452,9 @@ CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
CONFIG_CRONTAB=y
CONFIG_DC=y
# CONFIG_DEVFSD is not set
# CONFIG_DEVFSD_MODLOAD is not set
# CONFIG_DEVFSD_FG_NP is not set
# CONFIG_DEVFSD_VERBOSE is not set
# CONFIG_FEATURE_DEVFS is not set
CONFIG_EJECT=y
CONFIG_LAST=y
@ -473,9 +500,8 @@ CONFIG_FTPPUT=y
CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
CONFIG_HOSTNAME=y
CONFIG_HTTPD=y
CONFIG_FEATURE_HTTPD_WITHOUT_INETD=y
CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP=y
CONFIG_FEATURE_HTTPD_SETUID=y
# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
# CONFIG_FEATURE_HTTPD_SETUID is not set
CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
CONFIG_FEATURE_HTTPD_AUTH_MD5=y
CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES=y
@ -492,6 +518,7 @@ CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
CONFIG_IFUPDOWN=y
CONFIG_FEATURE_IFUPDOWN_IP=y
CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
CONFIG_FEATURE_IFUPDOWN_IPV4=y
CONFIG_FEATURE_IFUPDOWN_IPV6=y
CONFIG_FEATURE_IFUPDOWN_IPX=y
@ -538,10 +565,11 @@ CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
# CONFIG_DEBUG_TFTP is not set
CONFIG_TRACEROUTE=y
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
CONFIG_APP_UDHCPD=y
# CONFIG_APP_DHCPRELAY is not set
CONFIG_APP_DUMPLEASES=y
CONFIG_APP_UDHCPC=y
CONFIG_FEATURE_UDHCP_SYSLOG=y
@ -582,9 +610,32 @@ CONFIG_UPTIME=y
# CONFIG_FEATURE_SH_IS_MSH is not set
CONFIG_FEATURE_SH_IS_NONE=y
# CONFIG_ASH is not set
# CONFIG_ASH_JOB_CONTROL is not set
# CONFIG_ASH_READ_NCHARS is not set
# CONFIG_ASH_READ_TIMEOUT is not set
# CONFIG_ASH_ALIAS is not set
# CONFIG_ASH_MATH_SUPPORT is not set
# CONFIG_ASH_MATH_SUPPORT_64 is not set
# CONFIG_ASH_GETOPTS is not set
# CONFIG_ASH_BUILTIN_ECHO is not set
# CONFIG_ASH_BUILTIN_TEST is not set
# CONFIG_ASH_CMDCMD is not set
# CONFIG_ASH_MAIL is not set
# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set
# CONFIG_ASH_RANDOM_SUPPORT is not set
# CONFIG_ASH_EXPAND_PRMT is not set
# CONFIG_HUSH is not set
# CONFIG_LASH is not set
# CONFIG_MSH is not set
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
# CONFIG_FEATURE_COMMAND_EDITING is not set
# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
CONFIG_FEATURE_COMMAND_HISTORY=
# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
# CONFIG_FEATURE_COMMAND_TAB_COMPLETION is not set
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
# CONFIG_FEATURE_SH_FANCY_PROMPT is not set
#
# System Logging Utilities
@ -602,6 +653,10 @@ CONFIG_LOGGER=y
#
# Runit Utilities
#
# CONFIG_RUNSV is not set
# CONFIG_RUNSVDIR is not set
# CONFIG_SV is not set
# CONFIG_SVLOGD is not set
CONFIG_CHPST=y
CONFIG_SETUIDGID=y
CONFIG_ENVUIDGID=y