#
8415e52b |
| 11-Jul-2017 |
reyk <reyk@openbsd.org> |
Handle DHCPINFORM from clients behind a DHCP relay.
The dhcpinform() function has assumed that ciaddr matches the packet's IP source address and didn't consider a relay, such as dhcrelay(8) - indica
Handle DHCPINFORM from clients behind a DHCP relay.
The dhcpinform() function has assumed that ciaddr matches the packet's IP source address and didn't consider a relay, such as dhcrelay(8) - indicated by giaddr, has forwarded the request.
Tested by landry@ OK krw@
show more ...
|
#
a51e9872 |
| 24-Apr-2017 |
krw <krw@openbsd.org> |
Add 'echo-client-id' statment, so that RFC 6842 behaviour can be turned off for those clients and networks that find it impossible to move past RFC 2131. Modelled on the same statement in recent ISC
Add 'echo-client-id' statment, so that RFC 6842 behaviour can be turned off for those clients and networks that find it impossible to move past RFC 2131. Modelled on the same statement in recent ISC versions, though we default to 'on' (a.k.a. RFC 6842) rather that 'off' (a.k.a. RFC 2131).
Problems reported by Bastien Durel (Xerox Phaser 6022 printer) and Bryan Vyhmeister (Hon Hai Precision router) via misc@. Thanks!
show more ...
|
#
0438cf0a |
| 13-Feb-2017 |
krw <krw@openbsd.org> |
Eliminate pointless'%m' (a.k.a. hand rolled strerror()) by using fatal() and log_warn(). Zap a couple of explicit 'syslog()' calls.
|
#
35318e8f |
| 13-Feb-2017 |
krw <krw@openbsd.org> |
Adjust some long lines.
|
#
c525a185 |
| 13-Feb-2017 |
krw <krw@openbsd.org> |
Switch from old errwarn.c logging to shiny new log.[ch].
ok benno@
|
#
7e041c99 |
| 24-Oct-2016 |
krw <krw@openbsd.org> |
Compare server-identifiers and reject packets only *after* applying value specified in dhcpd.conf.
i.e. don't assume it is always the primary address of the interface the packet arrived on.
Fixes i
Compare server-identifiers and reject packets only *after* applying value specified in dhcpd.conf.
i.e. don't assume it is always the primary address of the interface the packet arrived on.
Fixes issues with redundant dhcpd servers and CARP'd interfaces.
Issue reported and fix tested by Johan Huldtgren
show more ...
|
#
8d148acd |
| 12-Oct-2016 |
krw <krw@openbsd.org> |
client_identifier is not a string so using strlen() on it is inappropriate. Which is why client_identifier_len exists.
Replace copy&pasted strlen() with client_identifier_len.
Symptoms (crash) and
client_identifier is not a string so using strlen() on it is inappropriate. Which is why client_identifier_len exists.
Replace copy&pasted strlen() with client_identifier_len.
Symptoms (crash) and cause (bad c&p) spotted by sthen@.
tested & ok sthen@
show more ...
|
#
a82310c0 |
| 10-Oct-2016 |
krw <krw@openbsd.org> |
Stop pretending we use RFC 3046/Option 82/Relay Agent Information.
RFC 3042 says servers that do not understand the option will not echo it.
Plus, our desultory attempt at echoing was almost certai
Stop pretending we use RFC 3046/Option 82/Relay Agent Information.
RFC 3042 says servers that do not understand the option will not echo it.
Plus, our desultory attempt at echoing was almost certainly broken for OFFERs (use after free of packet data) and not even attempted for NACKs.
ok millert@
show more ...
|
#
2c9b957a |
| 06-Oct-2016 |
krw <krw@openbsd.org> |
Add support for RFC 6842. RFC 2131 said the server MUST NOT echo the client-identifier value. RFC 6842 says the server MUST echo it.
Echoing the information disambiguates packets for relays and clie
Add support for RFC 6842. RFC 2131 said the server MUST NOT echo the client-identifier value. RFC 6842 says the server MUST echo it.
Echoing the information disambiguates packets for relays and clients when chaddr is 0. Similar to what dhcpv6 does.
show more ...
|
#
9e601734 |
| 05-Oct-2016 |
krw <krw@openbsd.org> |
Use consistant idiom (intermediate variable 'i' rather than repeated uses of very long #define names) to access option data in nak_lease() and ack_lease().
Shortens a lot of lines, which allows a nu
Use consistant idiom (intermediate variable 'i' rather than repeated uses of very long #define names) to access option data in nak_lease() and ack_lease().
Shortens a lot of lines, which allows a number of line splits to be eliminates.
Makes some upcoming diffs easier to integrate.
No intentional functional change.
show more ...
|
#
d10ef319 |
| 04-Oct-2016 |
krw <krw@openbsd.org> |
Zap stray whitespace.
|
#
94bf53e6 |
| 05-Aug-2016 |
krw <krw@openbsd.org> |
Don't leak the option data of non-DHCPINFORM messages received on the udp socket.
Found by David Carlier.
ok yasuoka@
|
#
837cddff |
| 06-Feb-2016 |
krw <krw@openbsd.org> |
Eliminate #include inside *.h files and include only needed headers in each *.c file.
Inspired by mention of header silliness by Edgar Pettijohn and mmcc@ on tech@.
|
#
0582c210 |
| 21-Dec-2015 |
mmcc <mmcc@openbsd.org> |
remove NULL-checks before free()
|
#
35de856e |
| 20-Aug-2015 |
deraadt <deraadt@openbsd.org> |
stdlib.h is in scope; do not cast malloc/calloc/realloc* ok millert krw
|
#
d7503dcf |
| 15-Apr-2015 |
krw <krw@openbsd.org> |
Avoid using inet_ntoa() twice in a single printf() parameter list by caching the results from excess inet_ntoa() calls before doing the printf(). Should improve usefullness (?) of DHCPRELEASE log ent
Avoid using inet_ntoa() twice in a single printf() parameter list by caching the results from excess inet_ntoa() calls before doing the printf(). Should improve usefullness (?) of DHCPRELEASE log entries by actually printing ciaddr and giaddr correctly when dhcprelays stand between servers and clients.
Looks good to dlg@.
show more ...
|
#
c9109787 |
| 11-Nov-2014 |
krw <krw@openbsd.org> |
Tweak the the DHCPACK to DHCPINFORM log entry so that it is less threatening and more informative.
e.g.
DHCPACK on <null address> to 5c:51:4f:56:81:c3 via em0
changes to
DHCPACK to 192.168.19.62
Tweak the the DHCPACK to DHCPINFORM log entry so that it is less threatening and more informative.
e.g.
DHCPACK on <null address> to 5c:51:4f:56:81:c3 via em0
changes to
DHCPACK to 192.168.19.62 (3c:97:0e:0c:0c:d7) via em0
Issue noted and diff tested by Marc Peters. Thanks!
ok yasuoka@ millert@
show more ...
|
#
6b03e9c2 |
| 10-Nov-2014 |
krw <krw@openbsd.org> |
Typo: consitent -> consistent.
|
#
41b6b05b |
| 11-Aug-2014 |
tobias <tobias@openbsd.org> |
validate len field for proper length, not just "not zero."
ok krw@
|
#
fc9106f9 |
| 11-Jul-2014 |
yasuoka <yasuoka@openbsd.org> |
Fix DHCPINFORM not to lookup the lease database, not to fill the yiaddr field and not to include the lease time parameters.
ok krw
|
#
84d8c049 |
| 11-Jul-2014 |
yasuoka <yasuoka@openbsd.org> |
Add -u option to bind UDP port as a socket to answer DHCPINFORM from the clients on non ethernet interfaces (eg. tun(4) or pppx(4)).
input krw ok krw
|
#
1a4d4b6b |
| 05-Apr-2013 |
krw <krw@openbsd.org> |
send_packet() and writev() return ssize_t, not int. Use correct type to store the returned value. From dhill.
|
#
3fd9b174 |
| 22-Mar-2013 |
krw <krw@openbsd.org> |
RFC 2131 4.3.1 seems clear that a server MUST NOT include the client-identifier option in OFFER or ACK messages. So stop doing so.
|
#
09a99a61 |
| 11-Mar-2013 |
krw <krw@openbsd.org> |
RFC 2131 says don't ACK any REQUEST messages that contain a server-identifier option that specifies a different dhcp server.
So don't.
Pointed put and fix tested by Andy via bugs@
|
#
e4a7785e |
| 14-Feb-2013 |
krw <krw@openbsd.org> |
Obey RFC 2131 and when the broadcast flag is set send reply back via udp broadcast and link-local broadcast. Not udp broadcast to link address of client. Fixes at least some switches who use the broa
Obey RFC 2131 and when the broadcast flag is set send reply back via udp broadcast and link-local broadcast. Not udp broadcast to link address of client. Fixes at least some switches who use the broadcast flag.
Bug submitted by Andy via bugs@, and fix tested by same. Thanks!
ok beck@
show more ...
|