diff options
author | Hu Jun <hujun.work@gmail.com> | 2020-06-23 17:13:04 -0700 |
---|---|---|
committer | Hu Jun <hujun.work@gmail.com> | 2020-06-23 17:13:04 -0700 |
commit | 53863bbc3e1a9321931fe2d1187eb04f67ab75f4 (patch) | |
tree | a34bffdc80721c45d68acbd2060b23bf98efa203 /dhcpv4/dhcpv4.go | |
parent | 5461cb587315d93b3e9ba193d594df681e05b220 (diff) | |
parent | d74cd86ad5b8d0fbef8217631f7968bd7bab0d72 (diff) |
Merge branch 'master' of https://github.com/insomniacslk/dhcp into dhcpv4_release
Diffstat (limited to 'dhcpv4/dhcpv4.go')
-rw-r--r-- | dhcpv4/dhcpv4.go | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/dhcpv4/dhcpv4.go b/dhcpv4/dhcpv4.go index ff72c9e..e85fc60 100644 --- a/dhcpv4/dhcpv4.go +++ b/dhcpv4/dhcpv4.go @@ -144,6 +144,7 @@ func New(modifiers ...Modifier) (*DHCPv4, error) { d := DHCPv4{ OpCode: OpcodeBootRequest, HWType: iana.HWTypeEthernet, + ClientHWAddr: make(net.HardwareAddr, 6), HopCount: 0, TransactionID: xid, NumSeconds: 0, @@ -476,9 +477,6 @@ func (d *DHCPv4) ToBytes() []byte { // HwAddrLen hlen := uint8(len(d.ClientHWAddr)) - if hlen == 0 && d.HWType == iana.HWTypeEthernet { - hlen = 6 - } buf.Write8(hlen) buf.Write8(d.HopCount) buf.WriteBytes(d.TransactionID[:]) @@ -492,13 +490,11 @@ func (d *DHCPv4) ToBytes() []byte { copy(buf.WriteN(16), d.ClientHWAddr) var sname [64]byte - copy(sname[:], []byte(d.ServerHostName)) - sname[len(d.ServerHostName)] = 0 + copy(sname[:63], []byte(d.ServerHostName)) buf.WriteBytes(sname[:]) var file [128]byte - copy(file[:], []byte(d.BootFileName)) - file[len(d.BootFileName)] = 0 + copy(file[:127], []byte(d.BootFileName)) buf.WriteBytes(file[:]) // The magic cookie. |