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 */ /* set the KEEPALIVE option to cull dead connections */
on = 1; on = 1;
setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (void *)&on, sizeof(on)); setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (void *)&on, sizeof(on));
#if !DEBUG
if (fork() == 0) if (DEBUG || fork() == 0) {
#endif /* child */
{
/* This is the spawned thread */
#if ENABLE_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP #if ENABLE_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
/* protect reload config, may be confuse checking */ /* protect reload config, may be confuse checking */
signal(SIGHUP, SIG_IGN); signal(SIGHUP, SIG_IGN);
#endif #endif
handleIncoming(); handleIncoming();
#if !DEBUG if (!DEBUG)
exit(0); exit(0);
#endif
} }
close(s); close(s);
} // while (1) } /* while (1) */
return 0; return 0;
} }

View File

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

View File

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

View File

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

View File

@ -1,3 +1,7 @@
#
#
CONFIG_HAVE_DOT_CONFIG=y
# #
# Busybox Settings # Busybox Settings
# #
@ -7,6 +11,9 @@
# #
# CONFIG_NITPICK is not set # CONFIG_NITPICK is not set
# CONFIG_DESKTOP 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_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEATURE_COMPRESS_USAGE=y CONFIG_FEATURE_COMPRESS_USAGE=y
@ -14,6 +21,7 @@ CONFIG_FEATURE_INSTALLER=y
CONFIG_LOCALE_SUPPORT=y CONFIG_LOCALE_SUPPORT=y
CONFIG_GETOPT_LONG=y CONFIG_GETOPT_LONG=y
CONFIG_FEATURE_DEVPTS=y CONFIG_FEATURE_DEVPTS=y
# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_SUID=y CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SYSLOG=y CONFIG_FEATURE_SYSLOG=y
CONFIG_FEATURE_SUID_CONFIG=y CONFIG_FEATURE_SUID_CONFIG=y
@ -26,6 +34,8 @@ CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
# #
# CONFIG_STATIC is not set # CONFIG_STATIC is not set
# CONFIG_BUILD_LIBBUSYBOX 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_LFS=y
# CONFIG_BUILD_AT_ONCE is not set # CONFIG_BUILD_AT_ONCE is not set
@ -33,6 +43,10 @@ CONFIG_LFS=y
# Debugging Options # Debugging Options
# #
# CONFIG_DEBUG is not set # 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 CONFIG_DEBUG_YANK_SUSv2=y
# #
@ -63,6 +77,7 @@ CONFIG_BUNZIP2=y
CONFIG_CPIO=y CONFIG_CPIO=y
# CONFIG_DPKG is not set # CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set # CONFIG_DPKG_DEB is not set
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
CONFIG_GUNZIP=y CONFIG_GUNZIP=y
CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
CONFIG_GZIP=y CONFIG_GZIP=y
@ -87,6 +102,9 @@ CONFIG_UNZIP=y
# Common options for cpio and tar # Common options for cpio and tar
# #
CONFIG_FEATURE_UNARCHIVE_TAPE=y 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 # Coreutils
@ -227,7 +245,10 @@ CONFIG_LOADFONT=y
CONFIG_LOADKMAP=y CONFIG_LOADKMAP=y
CONFIG_OPENVT=y CONFIG_OPENVT=y
CONFIG_RESET=y CONFIG_RESET=y
# CONFIG_RESIZE is not set
# CONFIG_FEATURE_RESIZE_PRINT is not set
CONFIG_SETCONSOLE=y CONFIG_SETCONSOLE=y
# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
CONFIG_SETKEYCODES=y CONFIG_SETKEYCODES=y
CONFIG_SETLOGCONS=y CONFIG_SETLOGCONS=y
@ -332,6 +353,8 @@ CONFIG_FSCK=y
CONFIG_LSATTR=y CONFIG_LSATTR=y
# CONFIG_MKE2FS is not set # CONFIG_MKE2FS is not set
# CONFIG_TUNE2FS is not set # CONFIG_TUNE2FS is not set
# CONFIG_E2LABEL is not set
# CONFIG_FINDFS is not set
# #
# Linux Module Utilities # Linux Module Utilities
@ -355,6 +378,7 @@ CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
CONFIG_FEATURE_CHECK_TAINTED_MODULE=y CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
CONFIG_FEATURE_2_4_MODULES=y CONFIG_FEATURE_2_4_MODULES=y
CONFIG_FEATURE_2_6_MODULES=y CONFIG_FEATURE_2_6_MODULES=y
# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
# #
# Linux System Utilities # Linux System Utilities
@ -428,6 +452,9 @@ CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
CONFIG_CRONTAB=y CONFIG_CRONTAB=y
CONFIG_DC=y CONFIG_DC=y
# CONFIG_DEVFSD is not set # 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_FEATURE_DEVFS is not set
CONFIG_EJECT=y CONFIG_EJECT=y
CONFIG_LAST=y CONFIG_LAST=y
@ -473,9 +500,8 @@ CONFIG_FTPPUT=y
CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
CONFIG_HOSTNAME=y CONFIG_HOSTNAME=y
CONFIG_HTTPD=y CONFIG_HTTPD=y
CONFIG_FEATURE_HTTPD_WITHOUT_INETD=y # CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP=y # CONFIG_FEATURE_HTTPD_SETUID is not set
CONFIG_FEATURE_HTTPD_SETUID=y
CONFIG_FEATURE_HTTPD_BASIC_AUTH=y CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
CONFIG_FEATURE_HTTPD_AUTH_MD5=y CONFIG_FEATURE_HTTPD_AUTH_MD5=y
CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES=y CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES=y
@ -492,6 +518,7 @@ CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
CONFIG_IFUPDOWN=y CONFIG_IFUPDOWN=y
CONFIG_FEATURE_IFUPDOWN_IP=y CONFIG_FEATURE_IFUPDOWN_IP=y
CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
CONFIG_FEATURE_IFUPDOWN_IPV4=y CONFIG_FEATURE_IFUPDOWN_IPV4=y
CONFIG_FEATURE_IFUPDOWN_IPV6=y CONFIG_FEATURE_IFUPDOWN_IPV6=y
CONFIG_FEATURE_IFUPDOWN_IPX=y CONFIG_FEATURE_IFUPDOWN_IPX=y
@ -538,10 +565,11 @@ CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y CONFIG_FEATURE_TFTP_BLOCKSIZE=y
# CONFIG_DEBUG_TFTP is not set # CONFIG_DEBUG_TFTP is not set
CONFIG_TRACEROUTE=y CONFIG_TRACEROUTE=y
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y # CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y # CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
CONFIG_APP_UDHCPD=y CONFIG_APP_UDHCPD=y
# CONFIG_APP_DHCPRELAY is not set
CONFIG_APP_DUMPLEASES=y CONFIG_APP_DUMPLEASES=y
CONFIG_APP_UDHCPC=y CONFIG_APP_UDHCPC=y
CONFIG_FEATURE_UDHCP_SYSLOG=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_MSH is not set
CONFIG_FEATURE_SH_IS_NONE=y CONFIG_FEATURE_SH_IS_NONE=y
# CONFIG_ASH is not set # 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_HUSH is not set
# CONFIG_LASH is not set # CONFIG_LASH is not set
# CONFIG_MSH 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 # System Logging Utilities
@ -602,6 +653,10 @@ CONFIG_LOGGER=y
# #
# Runit Utilities # 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_CHPST=y
CONFIG_SETUIDGID=y CONFIG_SETUIDGID=y
CONFIG_ENVUIDGID=y CONFIG_ENVUIDGID=y