Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sebastian Schrader
Kea
Commits
bceb259d
Commit
bceb259d
authored
Oct 08, 2014
by
Marcin Siodelski
Browse files
[3537] Kea logs that the packet contains invalid giaddr/hops combination.
parent
728359ea
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/bin/dhcp4/dhcp4_messages.mes
View file @
bceb259d
...
...
@@ -158,6 +158,13 @@ This debug message is issued when the client being in the INIT-REBOOT state
requested an address which is not assigned to him. The server will respond
to this client with DHCPNAK.
% DHCP4_INVALID_RELAY_INFO malformed packet received from client-id %1, hwaddr %2: %3
This message is logged when the client sends invalid combination of
values in the giaddr and hops fields. If the packet is relayed it should
contain non-zero values in both fields. If the packet is sent from the
directly connected client, both values should be set to zero. All other
combinations are invalid and trigger packet drop.
% DHCP4_LEASE_ADVERT lease %1 advertised (client client-id %2, hwaddr %3)
This debug message indicates that the server successfully advertised
a lease. It is up to the client to choose one server out of othe advertised
...
...
src/bin/dhcp4/dhcp4_srv.cc
View file @
bceb259d
...
...
@@ -1632,10 +1632,21 @@ Dhcpv4Srv::accept(const Pkt4Ptr& query) const {
bool
Dhcpv4Srv
::
acceptDirectRequest
(
const
Pkt4Ptr
&
pkt
)
const
{
try
{
// This is the first call to the isRelayed function for this packet,
// so we have to catch exceptions which will be emitted if the
// packet contains invalid combination of hops and giaddr. For all
// other invocations of isRelayed function we will not catch
// exceptions because we eliminate malformed packets here.
if
(
pkt
->
isRelayed
())
{
return
(
true
);
}
}
catch
(
const
Exception
&
ex
)
{
OptionPtr
client_id
=
pkt
->
getOption
(
DHO_DHCP_CLIENT_IDENTIFIER
);
HWAddrPtr
hwaddr
=
pkt
->
getHWAddr
();
LOG_INFO
(
dhcp4_logger
,
DHCP4_INVALID_RELAY_INFO
)
.
arg
(
client_id
?
client_id
->
toText
()
:
"(no client-id)"
)
.
arg
(
hwaddr
?
hwaddr
->
toText
()
:
"(no hwaddr info)"
)
.
arg
(
ex
.
what
());
return
(
false
);
}
// The source address must not be zero for the DHCPINFORM message from
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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