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