From: Marcin Siodelski Date: Thu, 20 Dec 2012 11:41:39 +0000 (+0100) Subject: [2545] Trim strings representing option field value. X-Git-Tag: bind10-1.0.0-rc-release~99^2~21^2~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6eb4014782afae7660dbdc291c315a211e5ceed5;p=thirdparty%2Fkea.git [2545] Trim strings representing option field value. --- diff --git a/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc b/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc index a15c13dab1..7b8c1cfe63 100644 --- a/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc +++ b/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc @@ -340,9 +340,8 @@ TEST_F(Dhcpv6SrvTest, advertiseOptions) { " \"option-data\": [ {" " \"name\": \"OPTION_DNS_SERVERS\"," " \"code\": 23," - " \"data\": \"2001 0DB8 1234 FFFF 0000 0000 0000 0001" - "2001 0DB8 1234 FFFF 0000 0000 0000 0002\"," - " \"csv-format\": False" + " \"data\": \"2001:db8:1234:FFFF::1, 2001:db8:1234:FFFF::2\"," + " \"csv-format\": True" " }," " {" " \"name\": \"OPTION_FOO\"," diff --git a/src/lib/dhcp/option_definition.cc b/src/lib/dhcp/option_definition.cc index e1d7cb6829..d97ca71d0b 100644 --- a/src/lib/dhcp/option_definition.cc +++ b/src/lib/dhcp/option_definition.cc @@ -22,6 +22,7 @@ #include #include #include +#include using namespace std; using namespace isc::util; @@ -176,10 +177,10 @@ OptionDefinition::optionFactory(Option::Universe u, uint16_t type, if (values.empty()) { isc_throw(InvalidOptionValue, "no option value specified"); } - writeToBuffer(values[0], type_, buf); + writeToBuffer(util::str::trim(values[0]), type_, buf); } else if (array_type_ && type_ != OPT_RECORD_TYPE) { for (size_t i = 0; i < values.size(); ++i) { - writeToBuffer(values[i], type_, buf); + writeToBuffer(util::str::trim(values[i]), type_, buf); } } else if (type_ == OPT_RECORD_TYPE) { const RecordFieldsCollection& records = getRecordFields(); @@ -189,7 +190,8 @@ OptionDefinition::optionFactory(Option::Universe u, uint16_t type, << " provided."); } for (size_t i = 0; i < records.size(); ++i) { - writeToBuffer(values[i], records[i], buf); + writeToBuffer(util::str::trim(values[i]), + records[i], buf); } } return (optionFactory(u, type, buf.begin(), buf.end()));