summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4
AgeCommit message (Collapse)Author
2018-11-21rfc1035label: using a structure to hold original dataAndrea Barberio
2018-11-19dhcpv4: run on unconfigured interfaces (#198)insomniac
2018-11-13Consolidated v6 and v4 server handlers (#196)insomniac
* Uniformed DHCPv6 and DHCPv4 servers * Reverted main goroutine * Reverted example code too * Added conn fix
2018-11-12add OptRelayAgentInformation (#193)insomniac
2018-11-12OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-12OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-12OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-12OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-12OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-12Make server handlers asyncAndrea Barberio
2018-11-12server: do not skip network errors in ActivateAndServeAndrea Barberio
2018-11-11OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-11OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-11OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-11OptRelayAgentInformation: remove extra linePablo Mazzini
2018-11-11OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-11OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-11OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-11OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-11OptRelayAgentInformation: increase coveragePablo Mazzini
2018-11-11OptRelayAgentInformation: fix commentPablo Mazzini
2018-11-11add OptRelayAgentInformationPablo Mazzini
2018-11-09address commentsPablo Mazzini
2018-11-09add additional testPablo Mazzini
2018-11-09update commentsPablo Mazzini
2018-11-09return nil vendor dataPablo Mazzini
2018-11-09return nil vendor dataPablo Mazzini
2018-11-09fix typo #2Pablo Mazzini
2018-11-09fix typoPablo Mazzini
2018-11-09parse only option 60Pablo Mazzini
2018-11-06[ztp] add Opt60 (vc) and Opt124 (vico) parsingPablo Mazzini
2018-11-06[WIP] Added DHCPv4 server (#178)insomniac
* Added DHCPv4 server * Added more modifiers * Fixed some bugs
2018-10-18Make listening port for dhcpv4 client configurable (#179)Gianni Vialetto
2018-10-17Custom client/server addresses/ports for DHCPv4 client (#172)Gianni Vialetto
2018-10-15Added String methods for types (#175)Pablo Mazzini
2018-10-08dhcpv4: fix but in Exchange where a nil packet is returned if send failsAndrea Barberio
2018-10-07DHCPv4: syscall -> x/sys/unixSean Karlage
Fixes #156 Build a simple client like so: ``` package main import ( "fmt" "time" "github.com/insomniacslk/dhcp/dhcpv4" ) func main() { client := dhcpv4.Client{ReadTimeout: 5 * time.Second, WriteTimeout: 5 * time.Second} conversation, err := client.Exchange("en0", nil) if err != nil { fmt.Println(err) } for _, m := range conversation { fmt.Println(m.Summary()) } } ``` and run: ``` $ sudo ./main Password: DHCPv4 opcode=BootRequest hwtype=Ethernet hwaddrlen=6 hopcount=0 transactionid=0xabfad715 numseconds=0 flags=Broadcast (0x8000) clientipaddr=0.0.0.0 youripaddr=0.0.0.0 serveripaddr=0.0.0.0 gatewayipaddr=0.0.0.0 clienthwaddr=8c:85:90:20:2e:33 serverhostname= bootfilename= options= DHCP Message Type -> DISCOVER Parameter Request List -> [Subnet Mask, Router, Domain Name, Domain Name Server] End -> [] DHCPv4 opcode=BootReply hwtype=Ethernet hwaddrlen=6 hopcount=0 transactionid=0xabfad715 numseconds=0 flags=Broadcast (0x8000) clientipaddr=0.0.0.0 youripaddr=192.168.0.105 serveripaddr=0.0.0.0 gatewayipaddr=0.0.0.0 clienthwaddr=8c:85:90:20:2e:33 serverhostname= bootfilename= options= DHCP Message Type -> OFFER Server Identifier -> 192.168.0.1 IP Addresses Lease Time -> 5648 Subnet Mask -> ffffff00 Routers -> 192.168.0.1 Domain Name Servers -> 8.8.8.8, 8.8.4.4 End -> [] DHCPv4 opcode=BootRequest hwtype=Ethernet hwaddrlen=6 hopcount=0 transactionid=0xabfad715 numseconds=0 flags=Broadcast (0x8000) clientipaddr=0.0.0.0 youripaddr=0.0.0.0 serveripaddr=192.168.0.1 gatewayipaddr=0.0.0.0 clienthwaddr=8c:85:90:20:2e:33 serverhostname= bootfilename= options= DHCP Message Type -> REQUEST Requested IP Address -> 192.168.0.105 Server Identifier -> 192.168.0.1 End -> [] DHCPv4 opcode=BootReply hwtype=Ethernet hwaddrlen=6 hopcount=0 transactionid=0xabfad715 numseconds=0 flags=Broadcast (0x8000) clientipaddr=0.0.0.0 youripaddr=192.168.0.105 serveripaddr=0.0.0.0 gatewayipaddr=0.0.0.0 clienthwaddr=8c:85:90:20:2e:33 serverhostname= bootfilename= options= DHCP Message Type -> ACK Server Identifier -> 192.168.0.1 IP Addresses Lease Time -> 7200 Subnet Mask -> ffffff00 Routers -> 192.168.0.1 Domain Name Servers -> 8.8.8.8, 8.8.4.4 End -> [] ```
2018-10-03dhcpv4: Add OptRootPath (#163)Sean Karlage
* dhcpv4: Add OptRootPath Adds a root path option that supports DHCPv4 option 17 * Add root path parsing to giant option parsing switch
2018-10-03BSDP: Fix MessageTypeFromPacket to return a pointerSean Karlage
As @insomiacslk pointed out in #161, it's probably better to return a pointer rather than a (MessageType, bool) combo.
2018-10-01add commentSean Karlage
2018-10-01BSDP: Add MessageTypeFromPacket helperSean Karlage
This is a helper function to extract the BSDP message type from a given `dhcpv4.DHCPv4` packet structure. It's useful in helping to identify what kind of BSDP packet you're dealing with (since the distinction is only made in one of the vendor-specific options encapsulated in Option 43).
2018-09-29BSDP: Fix parsing offset for boot image listsSean Karlage
While parsing boot images, the current code reads to the end of the data stream; however, this could lead to reading past the boot image option and reading into the next option. Instead, contain how far the option parsing code reads by only looking at the max length specified in the option.
2018-08-24DHCPv4 relay modifier (#149)Mikołaj Walczak
2018-08-22Requested Options modifier for DHCPv4 (#147)Mikołaj Walczak
2018-08-21fix ParseOptVIVC (#146)Pablo Mazzini
2018-08-20Async DHCPv4 client (#134)Mikołaj Walczak
2018-08-19Added String methods for types (#140)insomniac
* Added String methods for types * Reverted change on bsdp.OptionCode
2018-08-15refactor tests to take advantage of new helper functionsSean Karlage
2018-08-15Merge branch 'master' into bsdp-acksSean Karlage
2018-08-15Put back NewInformListForInterface to maintain compatSean Karlage