Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DHCP fixes #548

Merged
merged 10 commits into from
Oct 18, 2021
Merged

DHCP fixes #548

merged 10 commits into from
Oct 18, 2021

Conversation

Dirbaio
Copy link
Member

@Dirbaio Dirbaio commented Oct 14, 2021

Several fixes, including one that fixes DHCP not working with some routers.

See individual commit messages for details.

This fixes DHCP on Linksys WRT1900AC. With 0x0001, it would not reply to
DISCOVERs at all, probably because seeing an unknown reserved flag being set.
With 0x8000, it works fine.
Reasons:
1. We were already accidentally not setting the BROADCAST flag due to it being the wrong bit (see previous commit).
2. Major OSes don't set it.
3. rfc1542 section 3.1.1 states it's discouraged, and the issue it's supposed to workaround doesn't apply to smoltcp.

    Unfortunately, some client implementations are
    unable to receive such unicast IP datagrams until they know their own
    IP address
    (..)
    This addition to the protocol is a workaround for old host
    implementations.  Such implementations SHOULD be modified so
    that they may receive unicast BOOTREPLY messages, thus making
    use of this workaround unnecessary.  In general, the use of
    this mechanism is discouraged.
This is a minor security improvement against blind packet spoofing, since
it adds more entropy to the packets.
@Dirbaio Dirbaio marked this pull request as ready for review October 14, 2021 23:14
This workarounds a known broken Vodafone Fiber router which replies
with both NAK and ACK:

![screenshot-2021-10-19_01-18-41](https://user-images.githubusercontent.com/1247578/137819133-a8f9ab28-8bc5-4cca-9c91-2eac15d88070.png)
@Dirbaio
Copy link
Member Author

Dirbaio commented Oct 18, 2021

bors r+

@bors
Copy link
Contributor

bors bot commented Oct 18, 2021

Build succeeded:

@bors bors bot merged commit 247e8d4 into master Oct 18, 2021
@bors bors bot deleted the dhcp-fixes branch October 18, 2021 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant