BIND 10 #1186: libdhcp implementation - DHCPv6 part
BIND 10 Development
do-not-reply at isc.org
Wed Oct 12 16:21:17 UTC 2011
#1186: libdhcp implementation - DHCPv6 part
-------------------------------------+-------------------------------------
Reporter: tomek | Owner: stephen
Type: | Status: reviewing
enhancement | Milestone: Sprint-
Priority: major | DHCP-20111011
Component: dhcp | Resolution:
Keywords: | Sensitive: 0
Defect Severity: N/A | Sub-Project: DHCP
Feature Depending on Ticket: 878 | Estimated Difficulty: 0
Add Hours to Ticket: 0 | Total Hours: 0
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by tomek):
* owner: tomek => stephen
Comment:
Replying to [comment:6 stephen]:
> = Review of commit f56892b514cedb0538c37db808ec543d7a4fcfaf - part 2
(cont) =
> One other thing...
>
> '''src/lib/asiolink/tests/io_address_unittest.cc'''[[BR]]
> This fails to compile. The from_bytes test includes the line
> {{{
> EXPECT_EQ(addr, IOAddress("192.0.2.3"));
> }}}
> This fails to compile because IOAddress does not support operator<<
(used for error messages). It needs to be changed to
> {{{
> EXPECT_TRUE(addr == IOAddress("192.0.2.3"));
> }}}
>
> '''src/lib/dhcp/tests/libdhcp_unittest.cc'''[[BR]]
> Fails to compile for a similar reason. Lines of the form:
> {{{
> ASSERT_NE(x, options.end());
> EXPECT_EQ(x, options.end());
> }}}
> Need to be changed to
> {{{
> ASSERT_FALSE(x == options.end());
> EXPECT_TRUE(x == options.end());
> }}}
>
> '''src/lib/dhcp/tests/option6_iaaddr_unittest.cc'''[[BR]]
> Compilation fails with the message:
> {{{
> option6_iaaddr_unittest.cc:79: error: this decimal constant is unsigned
only in ISO C90
> }}}
> (The constant in question is 3000000000, which is larger than the
maximum signed positive 32-bit integer.)
>
> '''src/lib/dhcp/tests/option6_ia_unittest.cc'''[[BR]]
> Compilation fails with the message:
> {{{
> option6_ia_unittest.cc: In member function ‘virtual
void<unnamed>::Option6IATest_suboptions_unpack_Test::TestBody()’:
> option6_ia_unittest.cc:214: error: ‘ia’ may be used uninitialized in
this function
> }}}
>
> '''src/lib/dhcp/iface_mgr.cc'''[[BR]]
> Fails to compile:
> {{{
> iface_mgr.cc: In member function ‘int isc::IfaceMgr::openSocket(const
std::string&, const isc::asiolink::IOAddress&, int)’:
> iface_mgr.cc:256: error: dereferencing pointer ‘addr6’ does break
strict-aliasing rules
> iface_mgr.cc:254: error: dereferencing pointer ‘addr6’ does break
strict-aliasing rules
> iface_mgr.cc:255: error: dereferencing pointer ‘addr6’ does break
strict-aliasing rules
> iface_mgr.cc:253: note: initialized from here
> }}}
>
> (There may be other compilation errors, but I didn't check further.)
I cannot reproduce this problem. It compiles ok on my Ubuntu 11.04 x64
box, with gcc 4.5.2:
g++ (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2.
make check for dhcp succeeds (currently it fails in DatabaseClientTest for
unrelated reasons).
In my opinion the code is ready for second review.
--
Ticket URL: <http://bind10.isc.org/ticket/1186#comment:12>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list