CopyFrom pattern for DNS and use it for Cookie

This commit is contained in:
soypat
2025-06-25 09:32:35 -03:00
parent 1fcde05284
commit 23212d8dc6
6 changed files with 81 additions and 12 deletions
+14 -7
View File
@@ -134,12 +134,13 @@ func run() (err error) {
}
type Stack struct {
link internet.StackEthernet
ip internet.StackIP
arp internet.NodeARP
udps internet.StackPorts
dhcp dhcpv4.Client
dns dns.Client
link internet.StackEthernet
ip internet.StackIP
arp internet.NodeARP
udps internet.StackPorts
dhcp dhcpv4.Client
dns dns.Client
lookup dns.Message
}
func (s *Stack) Demux(b []byte, _ int) error {
@@ -196,7 +197,7 @@ func (s *Stack) Reset(mac [6]byte, addr netip.Addr, mtu uint16) error {
return nil
}
func (s *Stack) StartLookupNetIP(host string) error {
func (s *Stack) StartLookupIP(host string) error {
name, err := dns.NewName(host)
if err != nil {
return err
@@ -224,6 +225,12 @@ func (s *Stack) StartLookupNetIP(host string) error {
return nil
}
func (s *Stack) ResultLookupIP() ([]netip.Addr, error) {
s.dns.MessageCopyTo()
// s.dns.Answers()
return nil, nil
}
func (s *Stack) BeginDHCPRequest() error {
addr4 := s.ip.Addr().As4()
var buf [4]byte