Remove dhcp_extra_opt name after first newline character
Passing newline as extra dhcp option name to the DHCP agent causes
issues with configuration of the dnsmasq process for the network.
This patch removes everything what is after first newline character
in the dhcp_extra_opt's name before building dnsmasq's config.
Closes-bug: #1943930
Change-Id: Iab2832e750ff5ef09c5dcacae4dbff4f9e62bc2d
(cherry picked from commit 5abd1fb610
)
This commit is contained in:
parent
ef693000d4
commit
41ed4d7f43
|
@ -1312,6 +1312,7 @@ class Dnsmasq(DhcpLocalProcess):
|
|||
def _format_option(self, ip_version, tag, option, *args):
|
||||
"""Format DHCP option by option name or code."""
|
||||
option = str(option)
|
||||
option = option.split("\n", 1)[0]
|
||||
pattern = "(tag:(.*),)?(.*)$"
|
||||
matches = re.match(pattern, option)
|
||||
extra_tag = matches.groups()[0]
|
||||
|
|
|
@ -230,7 +230,7 @@ class FakeV6PortExtraOpt(object):
|
|||
DhcpOpt(opt_name='dns-server',
|
||||
opt_value='ffea:3ba5:a17a:4ba3::100',
|
||||
ip_version=constants.IP_VERSION_6),
|
||||
DhcpOpt(opt_name='malicious-option',
|
||||
DhcpOpt(opt_name='malicious-option\nwith-new-line',
|
||||
opt_value='aaa\nbbb.ccc\n',
|
||||
ip_version=constants.IP_VERSION_6)]
|
||||
|
||||
|
|
Loading…
Reference in New Issue