ifupdown.c: allow options to udhcpc to be configurable from .config
No binary (build failed)
—
(log yok)
| @@ -858,6 +858,15 @@ config FEATURE_TRACEROUTE_USE_ICMP | |
| source networking/udhcp/Config.in | |
| + | config IFUPDOWN_UDHCPC_CMD_OPTIONS |
| + | string "ifup udhcpc command line options" |
| + | default "-R -n" |
| + | depends on IFUPDOWN && APP_UDHCPC |
| + | help |
| + | Command line options to pass to udhcpc from ifup. |
| + | Intended to alter options not available in /etc/network/interfaces. |
| + | (IE: --syslog --background etc...) |
| + | |
| config VCONFIG | |
| bool "vconfig" | |
| default n | |
| @@ -31,6 +31,8 @@ | |
| #define MAX_INTERFACE_LENGTH 10 | |
| #endif | |
| + | #define UDHCPC_CMD_OPTIONS CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS |
| + | |
| #define debug_noise(args...) /*fprintf(stderr, args)*/ | |
| /* Forward declaration */ | |
| @@ -487,7 +489,7 @@ static const struct dhcp_client_t ext_dhcp_clients[] = { | |
| "pump -i %iface% -k", | |
| }, | |
| { "udhcpc", | |
| - | "udhcpc -R -n -p /var/run/udhcpc.%iface%.pid -i %iface%[[ -H %hostname%]][[ -c %clientid%]]" |
| + | "udhcpc " UDHCPC_CMD_OPTIONS " -p /var/run/udhcpc.%iface%.pid -i %iface%[[ -H %hostname%]][[ -c %clientid%]]" |
| "[[ -s %script%]][[ %udhcpc_opts%]]", | |
| "kill `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", | |
| }, | |
| @@ -526,7 +528,7 @@ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec) | |
| if (!execute("ifconfig %iface%[[ hw %hwaddress%]] up", ifd, exec)) | |
| return 0; | |
| #endif | |
| - | return execute("udhcpc -R -n -p /var/run/udhcpc.%iface%.pid " |
| + | return execute("udhcpc " UDHCPC_CMD_OPTIONS " -p /var/run/udhcpc.%iface%.pid " |
| "-i %iface%[[ -H %hostname%]][[ -c %clientid%]][[ -s %script%]][[ %udhcpc_opts%]]", | |
| ifd, exec); | |
| } | |