Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-03-05 | v6: simplify GetTransactionID | Chris Koch | |
Signed-off-by: Chris Koch <chrisko@google.com> | |||
2020-03-05 | dhcpv6: intro Getters for Options | Chris Koch | |
Allow the Options type to have getters for each specific options, in order to avoid users having to cast options to their specific type. This commit introduces a getter for exactly one option: the ClientArchType. i.e. users can replace archTypes := msg.GetOneOption(OptionClientArchType).(*OptClientArchType) with archTypes := msg.Options.ArchTypes() Because a few message types and options embed options (normal message, relay message, IANA/IATA option) and each have a restricted set of options that can be used inside them, we'll introduce at least 3 or more Options subtypes: - MessageOptions - RelayOptions - IdentityOptions Perhaps others will join at a later time, such as VendorOptions or AddressOptions for the IAAddress options field. Signed-off-by: Chris Koch <chrisko@google.com> | |||
2019-10-08 | dhcpv6: Add error checks to message parsers | Anatole Denis | |
There were missing error checks in the Message and RelayMessage parsers, so that truncated headers would be incorrectly accepted as valid messages. For example the single byte "0" (0x30) would be accepted as a valid message, then reserialized to 0x30,0x00,0x00,0x00,0x00 Signed-off-by: Anatole Denis <natolumin@unverle.fr> | |||
2019-10-08 | dhcpv6: Reject empty messages | Anatole Denis | |
The uio library doesn't report errors on a per-operation basis, but accumulates them so they can be checked after a batch of operations in a separate Error() function. Unfortunately this makes it easy to forget, thus parse incorrect messages go-fuzz found immediately that an empty message would be parsed without error, and reserialize to a different message (one with some bytes of zeros) Signed-off-by: Anatole Denis <natolumin@unverle.fr> | |||
2019-04-04 | client6: new async DHCPv6 client like #250. | Christopher Koch | |
- Race-condition-averse. - Supports multiple concurrent requests. - Tested. - Requires a fully compatible net.PacketConn. Signed-off-by: Christopher Koch <chrisko@google.com> | |||
2019-03-11 | dhcpv6: standardize GetInnerMessage | Christopher Koch | |
2019-03-11 | dhcpv6: remove setters and getters. | Christopher Koch | |
- Make members directly accessible. | |||
2019-03-11 | dhcpv6: add explicit unmarshaling functions. | Christopher Koch | |
2019-03-11 | dhcpv6: rename stuttering types. | Christopher Koch | |
dhcpv6.DHCPv6Message -> dhcpv6.Message dhcpv6.DHCPv6Relay -> dhcpv6.RelayMessage | |||
2019-01-26 | dhcpv6: remove unnecessary Length function | Christopher Koch | |
2019-01-26 | dhcpv6: use uio buffer in DHCPv6 message parsing | Christopher Koch | |
2019-01-26 | dhcpv6: introduce TransactionID type | Christopher Koch | |
2019-01-26 | dhcpv6: introduce options type. | Christopher Koch | |
2018-08-13 | rebase | Pablo Mazzini | |
2018-08-12 | IsOptionRequested method of DHCPv6Message | Pablo Mazzini | |
2018-08-10 | rename IsRequested to IsRequestedOption | Pablo Mazzini | |
2018-07-30 | DHCPv6: Rename Option constants to CamelCase | Sean Karlage | |
To appease linters | |||
2018-07-29 | DHCPv6: Fix message type constants | Sean Karlage | |
Renames DHCPv6 constants for message types to CamelCase | |||
2018-07-14 | return error if index < -1 | Pablo Mazzini | |
2018-07-14 | add DecapsulateRelayIndex | Pablo Mazzini | |
2018-07-14 | extend DecapsulateRelay | Pablo Mazzini | |
2018-07-08 | add DelOption to OptIANA (#77) | Pablo Mazzini | |
2018-05-02 | NewMessage now accepts modifiers (#54) | insomniac | |
2018-05-02 | UpdateOption is now part of the DHCPv6 interface (#53) | insomniac | |
2018-04-27 | fix EncapsulateRelay (#48) | Pablo Mazzini | |
2018-04-20 | dhcpv6: added modifiers (#41) | insomniac | |
dhcpv6: added modifiers Added support for packet modifiers, i.e. functions that can arbitrarily manipulate a DHCPv6 packet. These modifiers are used by NewMessage, NewSolicitForInterface, NewRequestForAdvertise, and can be used by other packet creation functions. A bunch of sample modifiers have been added under modifiers.go , too. With the introduction of modifiers I also removed some options that should not necessarily be in a standard DHCPv6 message. | |||
2017-12-22 | Added SetOptions and AddOption to the DHCPv6 interface; Added ↵ | Andrea Barberio | |
EncapsulateRelay; refactored decapsulation | |||
2017-12-10 | Added GetOption, GetOneOption and IsRelay methods to DHCPv6 interface | Andrea Barberio | |
2017-12-10 | Added DHCPv6.Option() to interface, and implemented where missing | Andrea Barberio | |
2017-12-08 | Added String() to DHCPv6 interface and implemented in DHCPv6Relay | Andrea Barberio | |
2017-12-08 | Added DHCPv6.Length() and improved relay msg parsing | Andrea Barberio | |
2017-12-07 | Refactored options into the dhcpv6 package to resolve circular imports. Sadly. | Andrea Barberio | |
2017-12-07 | Relay message options instead of a raw byte sequence | Andrea Barberio | |
2017-12-06 | Added raw payload processing for DHCPv6Relay | Andrea Barberio | |
2017-12-06 | Added support for DHCP relay and refactored into multiple files | Andrea Barberio | |
2017-12-06 | Added Relay message stub in decoder | Andrea Barberio | |
2017-12-06 | DHCPv6 is now an interface; DHCPv6Message and DHCPv6RelayMessage are ↵ | Andrea Barberio | |
implementations | |||
2017-12-05 | Initial commit | Andrea Barberio | |