# These are auto-selected by other options
config FEATURE_SYSLOG
- bool "Support for logging to syslog"
+ bool #No description makes it a hidden option
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.
+ #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 FEATURE_HAVE_RPC
- bool "RPC support"
+ bool #No description makes it a hidden option
default n
- help
- This is automatically selected if any of enabled applets need it.
- You do not need to select it manually.
+ #help
+ # This is automatically selected if any of enabled applets need it.
+ # You do not need to select it manually.
endmenu
CONFIG_FEATURE_CHAT_CLR_ABORT=y
CONFIG_CHRT=y
CONFIG_CROND=y
-CONFIG_DEBUG_CROND_OPTION=y
+CONFIG_FEATURE_CROND_D=y
CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
CONFIG_CRONTAB=y
CONFIG_DC=y
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_DEBUG_TFTP=y
+CONFIG_TFTP_DEBUG=y
CONFIG_TRACEROUTE=y
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
CONFIG_APP_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
CONFIG_FEATURE_UDHCP_PORT=y
-CONFIG_FEATURE_UDHCP_DEBUG=y
-CONFIG_FEATURE_RFC3397=y
-CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
+CONFIG_UDHCP_DEBUG=y
+CONFIG_FEATURE_UDHCP_RFC3397=y
+CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_VCONFIG=y
CONFIG_WGET=y
PARSE_GREEDY = 0x00040000, // last token takes entire remainder of the line
PARSE_MIN_DIE = 0x00100000, // die if < min tokens found
// keep a copy of current line
- PARSE_KEEP_COPY = 0x00200000 * ENABLE_DEBUG_CROND_OPTION,
+ PARSE_KEEP_COPY = 0x00200000 * ENABLE_FEATURE_CROND_D,
// PARSE_ESCAPE = 0x00400000, // process escape sequences in tokens
// NORMAL is:
// * remove leading and trailing delimiters and collapse
"\n F Input from file" \
#define crond_trivial_usage \
- "-fbS -l N " USE_DEBUG_CROND_OPTION("-d N ") "-L LOGFILE -c DIR"
+ "-fbS -l N " USE_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR"
#define crond_full_usage "\n\n" \
" -f Foreground" \
"\n -b Background (default)" \
"\n -S Log to syslog (default)" \
"\n -l Set log level. 0 is the most verbose, default 8" \
- USE_DEBUG_CROND_OPTION( \
+ USE_FEATURE_CROND_D( \
"\n -d Set log level, log to stderr" \
) \
"\n -L Log to file" \
"\n -C,--clientid-none Suppress default client identifier" \
"\n -p,--pidfile=file Create pidfile" \
"\n -r,--request=IP IP address to request" \
- "\n -s,--script=file Run file at DHCP events (default "CONFIG_DHCPC_DEFAULT_SCRIPT")" \
+ "\n -s,--script=file Run file at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \
"\n -t,--retries=N Send up to N request packets" \
"\n -T,--timeout=N Try to get a lease for N seconds (default 3)" \
"\n -A,--tryagain=N Wait N seconds (default 20) after failure" \
"\n -C Suppress default client identifier" \
"\n -p file Create pidfile" \
"\n -r IP IP address to request" \
- "\n -s file Run file at DHCP events (default "CONFIG_DHCPC_DEFAULT_SCRIPT")" \
+ "\n -s file Run file at DHCP events (default "CONFIG_UDHCPC_DEFAULT_SCRIPT")" \
"\n -t N Send up to N request packets" \
"\n -T N Try to get a lease for N seconds (default 3)" \
"\n -A N Wait N seconds (default 20) after failure" \
# Run daily cron jobs at 4:40 every day:
40 4 * * * /etc/cron/daily > /dev/null 2>&1
-config DEBUG_CROND_OPTION
+config FEATURE_CROND_D
bool "Support option -d to redirect output to stderr"
depends on CROND
default n
OPT_b = (1 << 3),
OPT_S = (1 << 4),
OPT_c = (1 << 5),
- OPT_d = (1 << 6) * ENABLE_DEBUG_CROND_OPTION,
+ OPT_d = (1 << 6) * ENABLE_FEATURE_CROND_D,
};
-#if ENABLE_DEBUG_CROND_OPTION
+#if ENABLE_FEATURE_CROND_D
#define DebugOpt (option_mask32 & OPT_d)
#else
#define DebugOpt 0
INIT_G();
/* "-b after -f is ignored", and so on for every pair a-b */
- opt_complementary = "f-b:b-f:S-L:L-S" USE_DEBUG_CROND_OPTION(":d-l")
+ opt_complementary = "f-b:b-f:S-L:L-S" USE_FEATURE_CROND_D(":d-l")
":l+:d+"; /* -l and -d have numeric param */
- opt = getopt32(argv, "l:L:fbSc:" USE_DEBUG_CROND_OPTION("d:"),
+ opt = getopt32(argv, "l:L:fbSc:" USE_FEATURE_CROND_D("d:"),
&LogLevel, &LogFile, &CDir
- USE_DEBUG_CROND_OPTION(,&LogLevel));
+ USE_FEATURE_CROND_D(,&LogLevel));
/* both -d N and -l N set the same variable: LogLevel */
if (!(opt & OPT_f)) {
Allow tftp to specify block size, and tftpd to understand
"blksize" option.
-config DEBUG_TFTP
+config TFTP_DEBUG
bool "Enable debug"
default n
depends on TFTP
bb_error_msg("bad blocksize '%s'", blksize_str);
return -1;
}
-#if ENABLE_DEBUG_TFTP
+#if ENABLE_TFTP_DEBUG
bb_error_msg("using blksize %u", blksize);
#endif
return blksize;
waittime_ms = TFTP_TIMEOUT_MS;
send_again:
-#if ENABLE_DEBUG_TFTP
+#if ENABLE_TFTP_DEBUG
fprintf(stderr, "sending %u bytes\n", send_len);
for (cp = xbuf; cp < &xbuf[send_len]; cp++)
fprintf(stderr, "%02x ", (unsigned char) *cp);
/* Process recv'ed packet */
opcode = ntohs( ((uint16_t*)rbuf)[0] );
recv_blk = ntohs( ((uint16_t*)rbuf)[1] );
-#if ENABLE_DEBUG_TFTP
+#if ENABLE_TFTP_DEBUG
fprintf(stderr, "received %d bytes: %04x %04x\n", len, opcode, recv_blk);
#endif
if (opcode == TFTP_ERROR) {
port = bb_lookup_port(argv[1], "udp", 69);
peer_lsa = xhost2sockaddr(argv[0], port);
-#if ENABLE_DEBUG_TFTP
+#if ENABLE_TFTP_DEBUG
fprintf(stderr, "using server '%s', remote_file '%s', local_file '%s'\n",
xmalloc_sockaddr2dotted(&peer_lsa->u.sa),
remote_file, local_file);
At the cost of ~300 bytes, enables -P port option.
This feature is typically not needed.
-config FEATURE_UDHCP_DEBUG
+config UDHCP_DEBUG
bool "Compile udhcp with noisy debugging messages"
default n
depends on APP_UDHCPD || APP_UDHCPC
help
If selected, udhcpd will output extra debugging output.
-config FEATURE_RFC3397
+config FEATURE_UDHCP_RFC3397
bool "Support for RFC3397 domain search (experimental)"
default n
depends on APP_UDHCPD || APP_UDHCPC
If selected, both client and server will support passing of domain
search lists via option 119, specified in RFC3397.
-config DHCPC_DEFAULT_SCRIPT
+config UDHCPC_DEFAULT_SCRIPT
string "Absolute path to config script"
default "/usr/share/udhcpc/default.script"
depends on APP_UDHCPC
lib-$(CONFIG_APP_DUMPLEASES) += dumpleases.o
lib-$(CONFIG_APP_DHCPRELAY) += dhcprelay.o
-lib-$(CONFIG_FEATURE_RFC3397) += domain_codec.o
+lib-$(CONFIG_FEATURE_UDHCP_RFC3397) += domain_codec.o
# pragma GCC visibility push(hidden)
#endif
-#define DEFAULT_SCRIPT CONFIG_DHCPC_DEFAULT_SCRIPT
+#define DEFAULT_SCRIPT CONFIG_UDHCPC_DEFAULT_SCRIPT
extern const uint8_t MAC_BCAST_ADDR[6]; /* six all-ones */
/* Returns 1 if no reply received */
int arpping(uint32_t test_ip, uint32_t from_ip, uint8_t *from_mac, const char *interface) FAST_FUNC;
-#if ENABLE_FEATURE_UDHCP_DEBUG
+#if ENABLE_UDHCP_DEBUG
# define DEBUG(str, args...) bb_info_msg("### " str, ## args)
#else
# define DEBUG(str, args...) do {;} while (0)
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
#include "common.h"
#include "options.h"
return dname;
}
-#endif /* ENABLE_FEATURE_RFC3397 */
+#endif /* ENABLE_FEATURE_UDHCP_RFC3397 */
if (!existing) {
DEBUG("Attaching option %02x to list", option->code);
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
if ((option->flags & TYPE_MASK) == OPTION_STR1035)
/* reuse buffer and length for RFC1035-formatted string */
buffer = (char *)dname_enc(NULL, 0, buffer, &length);
new->next = *curr;
*curr = new;
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
if ((option->flags & TYPE_MASK) == OPTION_STR1035 && buffer != NULL)
free(buffer);
#endif
/* add it to an existing option */
DEBUG("Attaching option %02x to existing member of list", option->code);
if (option->flags & OPTION_LIST) {
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
if ((option->flags & TYPE_MASK) == OPTION_STR1035)
/* reuse buffer and length for RFC1035-formatted string */
buffer = (char *)dname_enc(existing->data + 2,
memcpy(existing->data + existing->data[OPT_LEN] + 2, buffer, length);
existing->data[OPT_LEN] += length;
} /* else, ignore the data, we could put this in a second option in the future */
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
if ((option->flags & TYPE_MASK) == OPTION_STR1035 && buffer != NULL)
free(buffer);
#endif
retval = read_ip(val, buffer + 4);
break;
case OPTION_STRING:
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
case OPTION_STR1035:
#endif
length = strlen(val);
addStaticLease(arg, mac_bytes, ip);
- if (ENABLE_FEATURE_UDHCP_DEBUG) printStaticLeases(arg);
+ if (ENABLE_UDHCP_DEBUG) printStaticLeases(arg);
return 1;
}
{ OPTION_STRING , 0x42 }, /* tftp */
{ OPTION_STRING , 0x43 }, /* bootfile */
{ OPTION_STRING , 0x4D }, /* userclass */
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
{ OPTION_STR1035 | OPTION_LIST , 0x77 }, /* search */
#endif
/* MSIE's "Web Proxy Autodiscovery Protocol" support */
"tftp" "\0"
"bootfile" "\0"
"userclass" "\0"
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
"search" "\0"
#endif
/* MSIE's "Web Proxy Autodiscovery Protocol" support */
[OPTION_IP_PAIR] = 8,
[OPTION_BOOLEAN] = 1,
[OPTION_STRING] = 1,
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
[OPTION_STR1035] = 1,
#endif
[OPTION_U8] = 1,
OPTION_IP = 1,
OPTION_IP_PAIR,
OPTION_STRING,
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
OPTION_STR1035, /* RFC1035 compressed domain name list */
#endif
OPTION_BOOLEAN,
int end_option(uint8_t *optionptr) FAST_FUNC;
int add_option_string(uint8_t *optionptr, uint8_t *string) FAST_FUNC;
int add_simple_option(uint8_t *optionptr, uint8_t code, uint32_t data) FAST_FUNC;
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
char *dname_dec(const uint8_t *cstr, int clen, const char *pre) FAST_FUNC;
uint8_t *dname_enc(const uint8_t *cstr, int clen, const char *src, int *retlen) FAST_FUNC;
#endif
[OPTION_IP] = sizeof("255.255.255.255 "),
[OPTION_IP_PAIR] = sizeof("255.255.255.255 ") * 2,
[OPTION_STRING] = 1,
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
[OPTION_STR1035] = 1,
#endif
[OPTION_BOOLEAN] = sizeof("yes "),
memcpy(dest, option, len);
dest[len] = '\0';
return ret; /* Short circuit this case */
-#if ENABLE_FEATURE_RFC3397
+#if ENABLE_FEATURE_UDHCP_RFC3397
case OPTION_STR1035:
/* unpack option into dest; use ret for prefix (i.e., "optname=") */
dest = dname_dec(option, len, ret);
return return_val;
}
-#if ENABLE_FEATURE_UDHCP_DEBUG
+#if ENABLE_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 FAST_FUNC printStaticLeases(struct static_lease **arg)
# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
CONFIG_CHRT=y
CONFIG_CROND=y
-# CONFIG_DEBUG_CROND_OPTION is not set
+# CONFIG_FEATURE_CROND_D is not set
CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
CONFIG_CRONTAB=y
CONFIG_DC=y
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-# CONFIG_DEBUG_TFTP is not set
+# CONFIG_TFTP_DEBUG is not set
CONFIG_TRACEROUTE=y
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
CONFIG_APP_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
# CONFIG_FEATURE_UDHCP_PORT is not set
-# CONFIG_FEATURE_UDHCP_DEBUG is not set
-CONFIG_FEATURE_RFC3397=y
-CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
+# CONFIG_UDHCP_DEBUG is not set
+CONFIG_FEATURE_UDHCP_RFC3397=y
+CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_VCONFIG=y
CONFIG_WGET=y
unable to move the cursor.
config VOLUMEID
- bool "Routines for detecting label and uuid on common filesystems"
+ bool #No description makes it a hidden option
default n
- help
- TODO
config FEATURE_VOLUMEID_EXT
bool "Ext filesystem"