Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sebastian Schrader
Kea
Commits
fdce9eb7
Commit
fdce9eb7
authored
Dec 19, 2012
by
Marcin Siodelski
Browse files
[2544] Changes as a result of a code review.
parent
393c70b7
Changes
6
Hide whitespace changes
Inline
Side-by-side
src/bin/dhcp4/config_parser.cc
View file @
fdce9eb7
...
...
@@ -466,12 +466,12 @@ private:
///
/// This parser parses configuration entries that specify value of
/// a single option. These entries include option name, option code
/// and data carried by the option. If parsing is successful th
a
n an
/// and data carried by the option. If parsing is successful th
e
n an
/// instance of an option is created and added to the storage provided
/// by the calling class.
///
/// @todo This class parses and validates the option name. However it is
/// not used anywhere util support for option spaces is implemented
/// not used anywhere u
n
til support for option spaces is implemented
/// (see tickets #2319, #2314). When option spaces are implemented
/// there will be a way to reference the particular option using
/// its type (code) or option name.
...
...
@@ -827,26 +827,21 @@ public:
// a setStorage and build methods are invoked.
// Try uint32 type parser.
if
(
buildParser
<
Uint32Parser
,
Uint32Storage
>
(
parser
,
uint32_values_
,
param
.
second
))
{
// Storage set, build invoked on the parser, proceed with
// next configuration element.
continue
;
}
// Try string type parser.
if
(
buildParser
<
StringParser
,
StringStorage
>
(
parser
,
string_values_
,
param
.
second
))
{
continue
;
}
// Try pools parser.
if
(
buildParser
<
PoolParser
,
PoolStorage
>
(
parser
,
pools_
,
param
.
second
))
{
continue
;
}
// Try option data parser.
if
(
buildParser
<
OptionDataListParser
,
OptionStorage
>
(
parser
,
options_
,
param
.
second
))
{
continue
;
if
(
!
buildParser
<
Uint32Parser
,
Uint32Storage
>
(
parser
,
uint32_values_
,
param
.
second
)
&&
// Try string type parser.
!
buildParser
<
StringParser
,
StringStorage
>
(
parser
,
string_values_
,
param
.
second
)
&&
// Try pool parser.
!
buildParser
<
PoolParser
,
PoolStorage
>
(
parser
,
pools_
,
param
.
second
)
&&
// Try option data parser.
!
buildParser
<
OptionDataListParser
,
OptionStorage
>
(
parser
,
options_
,
param
.
second
))
{
// Appropriate parsers are created in the createSubnet6ConfigParser
// and they should be limited to those that we check here for. Thus,
// if we fail to find a matching parser here it is a programming error.
isc_throw
(
Dhcp4ConfigError
,
"failed to find suitable parser"
);
}
}
// Ok, we now have subnet parsed
...
...
src/bin/dhcp4/dhcp4_messages.mes
View file @
fdce9eb7
...
...
@@ -45,9 +45,9 @@ This is an informational message reporting that the configuration has
been extended to include the specified IPv4 subnet.
% DHCP4_CONFIG_OPTION_DUPLICATE multiple options with the code: %1 added to the subnet: %2
This warning message is issued on attempt to configure multiple options with the
This warning message is issued on
an
attempt to configure multiple options with the
same option code for the particular subnet. Adding multiple options is uncommon
for DHCPv4,
ye
t it is not prohibited.
for DHCPv4,
bu
t it is not prohibited.
% DHCP4_CONFIG_COMPLETE DHCPv4 server has completed configuration: %1
This is an informational message announcing the successful processing of a
...
...
src/bin/dhcp4/tests/config_parser_unittest.cc
View file @
fdce9eb7
// Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
...
...
@@ -205,9 +204,10 @@ public:
ASSERT_EQ
(
buf
.
getLength
()
-
option_desc
.
option
->
getHeaderLen
(),
expected_data_len
);
}
// Verify that the data is correct.
However d
o not verify suboptions.
// Verify that the data is correct.
D
o not verify suboptions
and a header
.
const
uint8_t
*
data
=
static_cast
<
const
uint8_t
*>
(
buf
.
getData
());
EXPECT_TRUE
(
memcmp
(
expected_data
,
data
,
expected_data_len
));
EXPECT_EQ
(
0
,
memcmp
(
expected_data
,
data
+
option_desc
.
option
->
getHeaderLen
(),
expected_data_len
));
}
/// @brief Reset configuration database.
...
...
@@ -239,14 +239,15 @@ public:
<<
ex
.
what
()
<<
std
::
endl
;
}
// returned value should be 0 (configuration success)
// status object must not be NULL
if
(
!
status
)
{
FAIL
()
<<
"Fatal error: unable to reset configuration database"
<<
" after the test. Configuration function returned"
<<
" NULL pointer"
<<
std
::
endl
;
}
comment_
=
parseAnswer
(
rcode_
,
status
);
// returned value should be 0 (configuration success)
if
(
rcode_
!=
0
)
{
FAIL
()
<<
"Fatal error: unable to reset configuration database"
<<
" after the test. Configuration function returned"
...
...
src/bin/dhcp6/config_parser.cc
View file @
fdce9eb7
...
...
@@ -496,12 +496,12 @@ private:
///
/// This parser parses configuration entries that specify value of
/// a single option. These entries include option name, option code
/// and data carried by the option. If parsing is successful th
a
n an
/// and data carried by the option. If parsing is successful th
e
n an
/// instance of an option is created and added to the storage provided
/// by the calling class.
///
/// @todo This class parses and validates the option name. However it is
/// not used anywhere util support for option spaces is implemented
/// not used anywhere u
n
til support for option spaces is implemented
/// (see tickets #2319, #2314). When option spaces are implemented
/// there will be a way to reference the particular option using
/// its type (code) or option name.
...
...
@@ -857,26 +857,21 @@ public:
// a setStorage and build methods are invoked.
// Try uint32 type parser.
if
(
buildParser
<
Uint32Parser
,
Uint32Storage
>
(
parser
,
uint32_values_
,
param
.
second
))
{
// Storage set, build invoked on the parser, proceed with
// next configuration element.
continue
;
}
// Try string type parser.
if
(
buildParser
<
StringParser
,
StringStorage
>
(
parser
,
string_values_
,
param
.
second
))
{
continue
;
}
// Try pools parser.
if
(
buildParser
<
PoolParser
,
PoolStorage
>
(
parser
,
pools_
,
param
.
second
))
{
continue
;
}
// Try option data parser.
if
(
buildParser
<
OptionDataListParser
,
OptionStorage
>
(
parser
,
options_
,
param
.
second
))
{
continue
;
if
(
!
buildParser
<
Uint32Parser
,
Uint32Storage
>
(
parser
,
uint32_values_
,
param
.
second
)
||
// Try string type parser.
!
buildParser
<
StringParser
,
StringStorage
>
(
parser
,
string_values_
,
param
.
second
)
||
// Try pool parser.
!
buildParser
<
PoolParser
,
PoolStorage
>
(
parser
,
pools_
,
param
.
second
)
||
// Try option data parser.
!
buildParser
<
OptionDataListParser
,
OptionStorage
>
(
parser
,
options_
,
param
.
second
))
{
// Appropriate parsers are created in the createSubnet6ConfigParser
// and they should be limited to those that we check here for. Thus,
// if we fail to find a matching parser here it is a programming error.
isc_throw
(
Dhcp6ConfigError
,
"failed to find suitable parser"
);
}
}
// Ok, we now have subnet parsed
...
...
src/bin/dhcp6/dhcp6_messages.mes
View file @
fdce9eb7
...
...
@@ -47,9 +47,9 @@ This is an informational message reporting that the configuration has
been extended to include the specified subnet.
% DHCP6_CONFIG_OPTION_DUPLICATE multiple options with the code: %1 added to the subnet: %2
This warning message is issued on attempt to configure multiple options with the
This warning message is issued on
an
attempt to configure multiple options with the
same option code for the particular subnet. Adding multiple options is uncommon
for DHCPv6,
ye
t it is not prohibited.
for DHCPv6,
bu
t it is not prohibited.
% DHCP6_CONFIG_START DHCPv6 server is processing the following configuration: %1
This is a debug message that is issued every time the server receives a
...
...
src/bin/dhcp6/tests/config_parser_unittest.cc
View file @
fdce9eb7
...
...
@@ -144,14 +144,14 @@ public:
<<
ex
.
what
()
<<
std
::
endl
;
}
// returned value should be 0 (configuration success)
// status object must not be NULL
if
(
!
status
)
{
FAIL
()
<<
"Fatal error: unable to reset configuration database"
<<
" after the test. Configuration function returned"
<<
" NULL pointer"
<<
std
::
endl
;
}
comment_
=
parseAnswer
(
rcode_
,
status
);
// returned value should be 0 (configuration success)
if
(
rcode_
!=
0
)
{
FAIL
()
<<
"Fatal error: unable to reset configuration database"
<<
" after the test. Configuration function returned"
...
...
@@ -215,9 +215,10 @@ public:
ASSERT_EQ
(
buf
.
getLength
()
-
option_desc
.
option
->
getHeaderLen
(),
expected_data_len
);
}
// Verify that the data is correct.
However d
o not verify suboptions.
// Verify that the data is correct.
D
o not verify suboptions
and a header
.
const
uint8_t
*
data
=
static_cast
<
const
uint8_t
*>
(
buf
.
getData
());
EXPECT_TRUE
(
memcmp
(
expected_data
,
data
,
expected_data_len
));
EXPECT_EQ
(
0
,
memcmp
(
expected_data
,
data
+
option_desc
.
option
->
getHeaderLen
(),
expected_data_len
));
}
Dhcpv6Srv
srv_
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment