httpd: slight reduction of #ifdef forest
few other applets: #ifdef CONFIG_ -> #if ENABLE_ traceroute: fix exposed bugs defconfig: update
This commit is contained in:
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)),
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
@ -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>
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user