udhcpc: make hostname sanitization optional. Closes 3979
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
9aa6ffb22b
commit
85090c162b
@ -84,6 +84,17 @@ config FEATURE_UDHCPC_ARPING
|
|||||||
will DHCPDECLINE the offer if the address is in use,
|
will DHCPDECLINE the offer if the address is in use,
|
||||||
and restart the discover process.
|
and restart the discover process.
|
||||||
|
|
||||||
|
config FEATURE_UDHCPC_SANITIZEOPT
|
||||||
|
bool "Do not pass malformed host and domain names"
|
||||||
|
default y
|
||||||
|
depends on UDHCPC
|
||||||
|
help
|
||||||
|
If selected, udhcpc will check some options (such as option 12 -
|
||||||
|
hostname) and if they don't look like valid hostnames
|
||||||
|
(for example, if they start with dash or contain spaces),
|
||||||
|
they will be replaced with string "bad" when exporting
|
||||||
|
to the environment.
|
||||||
|
|
||||||
config FEATURE_UDHCP_PORT
|
config FEATURE_UDHCP_PORT
|
||||||
bool "Enable '-P port' option for udhcpd and udhcpc"
|
bool "Enable '-P port' option for udhcpd and udhcpc"
|
||||||
default n
|
default n
|
||||||
|
@ -136,6 +136,7 @@ static int mton(uint32_t mask)
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_FEATURE_UDHCPC_SANITIZEOPT
|
||||||
/* Check if a given label represents a valid DNS label
|
/* Check if a given label represents a valid DNS label
|
||||||
* Return pointer to the first character after the label upon success,
|
* Return pointer to the first character after the label upon success,
|
||||||
* NULL otherwise.
|
* NULL otherwise.
|
||||||
@ -192,6 +193,9 @@ static int good_hostname(const char *name)
|
|||||||
name++;
|
name++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
# define good_hostname(name) 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Create "opt_name=opt_value" string */
|
/* Create "opt_name=opt_value" string */
|
||||||
static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_optflag *optflag, const char *opt_name)
|
static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_optflag *optflag, const char *opt_name)
|
||||||
|
Loading…
Reference in New Issue
Block a user