Optimization of boost:asio code is now disabled when building with
BOOST_ERROR_CODE_HEADER_ONLY under GCC versions 5.2.0 through 5.3.0.
src/lib/asiolink/asio_wrapper.h
New file which wraps boost/asio/asio.hpp around compilation
logic to suppress optimization under GNU 5.2.0 thru 5.3.0.
The remaining changes either removed the inclusion of <asio/asio.hpp> or
replaced it with the inclusion of <<asiolink/asio_wrapper.h>. Inclusion
file order was also altered to better comply with our coding guidelines.
Changed dhcp_ddns::NameChangeSender to kick-start send process if there are
messages in the queue when startSending is called. Prior to this it required
the queuing of a new message via sendRequest().
Rememebering the io_service in use and how to run ready IO handlers was
pushed down from D2ClientMgr into NameChangeSender. NameChangeSender stop
logic was altered so it will now cleanly complete the last send as well
as interrupting the daisy-chain of instigating the next send upon
completion of the current send.
Made behavior of dhcp_ddns::WatchSocket a bit more robust in handling
programmatic abuse.
Cleaned up addresses used in ncr_upd_unittest.cc, added specific test
for client side address if 0.0.0.0/port 0.
Updated copyrights as appropriate and other cosmetics.
Integrated use of WatchSocket to NameChangeSender and NameChangeUDPSender.
Added addtional methods for accessing sender's send queue.
Created include and source for common dhcp_ddns lib test components.
Removed configuration parameter allow-client-update.
It was deemed to really just be the inverse of override-client-update.
Renamed convenience method isDhcpDdns to ddnsEnabled.
Made enum to string converion functions case insenstive.
Updated copyright dates and other cosmetic changes.
Added configuration paramters to dhcp4 and its spec file to support DHCP-DDNS.
Created new classes D2ClientMgr, D2ClientConfig, and D2CientConfigParser in the
libdhcpsrv. The new parameters are parsed, validated, and stored but do
not yet affect behavior. That will be implemented as a seperate ticket.
Added main process event loop to D2Process which is the
primary application "object" in b10-dchp-ddns.
Along the way it was necessary to adjust D2QueueManager to treat
stopping as an asyncrhonous event when IO is pending. This
requied a change in lib-dchp-ddns to have awareness of when
IO is pending.
Fixed a bug in D2 configuration parsing in which parsing a
a subsequent configuration caused duplicate TSIGKeyInfo
entries.