summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4
AgeCommit message (Collapse)Author
2022-07-27dhcpv4: add unit tests for NewRenewFromOfferDennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-07-27dhcpv4: add a client method to facilitate lease renewalsDennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-07-15dhcpv4: enable deletion of options and add modifier for itDennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-05-03Documentation: Description is inverse of realitykayos
Signed-off-by: kayos@tcp.direct <kayos@tcp.direct>
2022-01-19nclient4: support BSDsChris Koch
mdlayher/raw supports them, so why don't we support them, too. Signed-off-by: Chris Koch <chrisko@google.com>
2021-12-13fix: check IP/UDP header size before trying to access itAndrey Smirnov
This should fix the panic we've seen with the malformed packets on the wire. Remaining buffer size should be checked before trying to access the data, otherwise Go might panic on out of bounds slice operation. Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-09dhcpv4: remove server IP from REQUEST messagesChris Koch
RFC 2131 Section 4.4.1 specifies that REQUEST messages should set 'siaddr' to 0. Signed-off-by: Chris Koch <chrisko@google.com>
2021-10-26use iana EntIDPablo Mazzini
2021-10-26[ztpv4] typo and NITsPablo Mazzini
2021-10-25Fix buffer end location (#447)noiz
Fix payload buffer to end at actual payload end. UDP header length includes the 8 bytes of the header so we do not want the +8 at the end of the buffer. Signed-off-by: noiz <noiz@users.noreply.github.com> Co-authored-by: Pablo Mazzini <pmazzini@gmail.com>
2021-10-25Adding support for parsing Ciena attributes in DHCPv4 (#450)Emanuele Fia
* Adding support for Ciena DHCPv4 Signed-off-by: Emanuele Fia <name29@fb.com>
2021-10-25Fix nil check to prevent a panic by trying to dereference a nil pointer (#451)noiz
Signed-off-by: noiz <noiz@users.noreply.github.com>
2021-08-27[ztpv4][cisco firepower] Check to ensure serial number in Opt 61 is not ↵Hariharakumar Narasimhakumar
empty (#444) * Adding check for empty serial number in opt 61
2021-08-27dhcpv4: Add RelaySourcePortSubOption constantAnatole Denis
As described in RFC8357 this is a 0-length suboption used to indicate that the relay supports the arbitrary UDP port behavior from RFC8357 Since this is 0-length the constant is enough to handle the full behavior Signed-off-by: Anatole Denis <natolumin@unverle.fr>
2021-08-26Adding support to parse vendor data for cisco firepower (#443)Hariharakumar Narasimhakumar
* Adding support to parse vendor data for cisco firepower
2021-06-08Make server4 package compile on Windows (#428)Guillaume Rose
2021-05-28Break circular dependency on u-rootChris Koch
u-root -> dhcp -> u-root is the circular dependency. Which is fine, except we messed up modules in u-root big time. We need to break the circular dep for now. Signed-off-by: Chris Koch <chrisko@google.com>
2021-04-28[dhcpv4] remove NewOffer commentPablo Mazzini
2021-04-27Add dhcp Opt 124(vivc) parsing to ztp (#425)Hariharakumar Narasimhakumar
* Add dhcp Opt 124(vivc) parsing to ztp Signed-off-by: Hariharakumar Narasimhakumar <hhkumar@fb.com>
2021-04-20rearrange parse_circuitid test cases (#419)Hariharakumar Narasimhakumar
Signed-off-by: Hariharakumar Narasimhakumar <hhkumar@fb.com> Co-authored-by: Hariharakumar Narasimhakumar <hhkumar@fb.com>
2021-04-20Adding xe interface format for Juniper qfx to list of circuit regexes (#418)Hariharakumar Narasimhakumar
* Adding xe interface format for Juniper qfx to list of circuit regexes Signed-off-by: Hariharakumar Narasimhakumar <hhkumar@fb.com> * Consolidating regexes for et and xe into one entry Signed-off-by: Hariharakumar Narasimhakumar <hhkumar@fb.com> Co-authored-by: Hariharakumar Narasimhakumar <hhkumar@fb.com>
2021-03-14nclient4: fix buildChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2021-03-13nclient4: Ensure server identifier matches (#410)Moritz Fischer
Ensure server identifier matches the offer server identifier when looking for ACKs or NAKs. This protects against rogue DHCP servers NAKing requests the shouldn't. Signed-off-by: Moritz Fischer <moritzf@google.com> Co-authored-by: Moritz Fischer <moritzf@google.com>
2021-03-10Improve ipv4 compatibilityEugene Burkov
Signed-off-by: Eugene Burkov <e.burkov@adguard.com>
2021-03-06Fix tests to match the change packetMarcel Moolenaar
Signed-off-by: Marcel Moolenaar <mmoolena@amazon.com>
2021-03-06Pad packets after the 'end' option to be more conformantMarcel Moolenaar
RFC 2131 gives two examples of padding in section 4.1. For both the examples, the 'end' option preceeds the padding with the 'pad' option. These examples relate to overloading pre-defined fields for options, not padding the packet for a minimal size. Older versions of the U-Boot firmware support DHCP, but do not expect the 'pad' option. The firmware logs the following warning for each occurence: *** Unhandled DHCP Option in OFFER/ACK: 0 This warning disappears when the 'end' option preceeds the 'pad' option. Signed-off-by: Marcel Moolenaar <mmoolena@amazon.com>
2021-01-20nclient4: WithUnicast default port should be 68 (#403)Canwu Yao
Signed-off-by: yaocw2020 <yaocanwu@gmail.com>
2020-09-20- rename raiValue to raiSubOptionValue to avoid confusion, and move it next ↵Hu Jun
to raiSubOptionCode - a few minor changes to address latest feedback Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-09-20Merge branch 'master' of https://github.com/insomniacslk/dhcpHu Jun
2020-09-16nclients: export serverAddr and ifaceHWAddrChris Koch
For any users to write their own Discover or Request methods, they need access to the ifaceHWAddr and serverAddr. Discovered while trying to move pinterest/bender to nclients. Signed-off-by: Chris Koch <chrisko@google.com>
2020-09-16nclient4: respect NAKsChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-09-16nclient4: remove unused functionsChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-09-16docs: fix package commentsChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-09-16nclient4: unexport unnecessarily exported symbolsChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-09-05- restore OptionGeneric.String()Hu Jun
- add raiValue in option_relay_agent_information.go to implement fmt.Stringer - change test cases accordingly Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-08-31- fixed some test cases broken by this PRHu Jun
- add a space in OptionGeneric.String() - move the indenting "\n" from OptionHumanizer.Stringify to RelayOptions.String() Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-08-09- fix relayHumanizer.CodeHumanizer so it uses raiSubOptionCodeHu Jun
- update OptionHumanizer.Stringify so it include an additional newline for option82 - update OptionGeneric.String so it include a string output in addition to existing byte slice output Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-07-18- change to WithOptionCopied in NewReleaseFromACKHu Jun
Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-07-18move NewReleaseFromAck to where all NewXXFromYY areHu Jun
Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-07-17fix doc of NewReleaseFromACKHu Jun
Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-07-17- change NewRleaseFromLease to NewRleaseFromACK, and move it to dhcpv4Hu Jun
Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-07-16- remove Lease.IDOptions and update corresponding struct / functionHu Jun
- add NewReleaseFromLease and update Client.Release() accordingly - update lease_test.go accordingly - remove example_lease_test.go Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-07-14- fix a lint error in lease.goHu Jun
- fix a data race in lease_test.go Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-07-14- use modifiers to build release msg in Client.Release()Hu Jun
- update lease_test.go make sure server side error is caught - some minor fixes based on PR discussion Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-07-10- add Offer into LeaseHu Jun
- change Client.Request so it now only return Lease - change test case and example accordingly Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-06-27remove a unused func in lease_test.goHu Jun
Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-06-27remove timeout code from Release(), since it is unnecessary after some more ↵Hu Jun
testing Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-06-27fix a broken test in server_test.go, caused by update of Client.Request() ↵Hu Jun
which now returns a lease instead of ack Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-06-26- Client.Release() now use existing conn to send packetHu Jun
- update example_lease_test.go accordingly - add lease_test.go, which contain some test cases for lease&release, using socketpair Signed-off-by: Hu Jun <hujun.work@gmail.com>
2020-06-24fix example_lease_test.go that caused import loopHu Jun
Signed-off-by: Hu Jun <hujun.work@gmail.com>