From: Tomek Mrugalski Date: Tue, 20 Aug 2013 12:52:24 +0000 (+0200) Subject: [2983] Server now handles v4 packet without message type option correctly. X-Git-Tag: bind10-1.2.0beta1-release~246^2~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=949fc23ebbadfc8a9beaee6fdefb1dfc661d819c;p=thirdparty%2Fkea.git [2983] Server now handles v4 packet without message type option correctly. --- diff --git a/src/bin/dhcp4/dhcp4_messages.mes b/src/bin/dhcp4/dhcp4_messages.mes index 1d445d316d..9fae3135b1 100644 --- a/src/bin/dhcp4/dhcp4_messages.mes +++ b/src/bin/dhcp4/dhcp4_messages.mes @@ -158,6 +158,10 @@ This is a general catch-all message indicating that the processing of a received packet failed. The reason is given in the message. The server will not send a response but will instead ignore the packet. +% DHCP4_PACKET_DROP_NO_TYPE dropped packet received on interface %1: does not have msg-type option +THis is a debug message informing that incoming DHCPv4 packet did not +have mandatory DHCP message type option and thus was dropped. + % DHCP4_PACKET_RECEIVED %1 (type %2) packet received on interface %3 A debug message noting that the server has received the specified type of packet on the specified interface. Note that a packet marked as UNKNOWN diff --git a/src/bin/dhcp4/dhcp4_srv.cc b/src/bin/dhcp4/dhcp4_srv.cc index e238253d83..6a4943cb18 100644 --- a/src/bin/dhcp4/dhcp4_srv.cc +++ b/src/bin/dhcp4/dhcp4_srv.cc @@ -241,12 +241,14 @@ Dhcpv4Srv::run() { int type = -1; try { type = query->getType(); - } catch (const std::exception& e) { - + } catch (...) { + LOG_DEBUG(dhcp4_logger, DBG_DHCP4_DETAIL, DHCP4_PACKET_DROP_NO_TYPE) + .arg(query->getIface()); + continue; } LOG_DEBUG(dhcp4_logger, DBG_DHCP4_DETAIL, DHCP4_PACKET_RECEIVED) - .arg(serverReceivedPacketName(query->getType())) + .arg(serverReceivedPacketName(type)) .arg(type) .arg(query->getIface()); LOG_DEBUG(dhcp4_logger, DBG_DHCP4_DETAIL_DATA, DHCP4_QUERY_DATA)