p2p/nat: simplify

This commit is contained in:
Felix Lange 2025-04-01 13:38:07 +02:00
parent 7befd0ef47
commit 85e6606d4d

View file

@ -94,20 +94,15 @@ func (n *upnp) AddMapping(protocol string, extport, intport int, desc string, li
if err == nil { if err == nil {
return uint16(extport), nil return uint16(extport), nil
} }
// Try addAnyPortMapping if mapping specified port didn't work.
var newExtport uint16
err = n.withRateLimit(func() error { err = n.withRateLimit(func() error {
p, err := n.addAnyPortMapping(protocol, extport, intport, ip, desc, lifetimeS) p, err := n.addAnyPortMapping(protocol, extport, intport, ip, desc, lifetimeS)
if err == nil { if err == nil {
newExtport = p extport = int(p)
} }
return err return err
}) })
return uint16(extport), err
if err != nil {
return uint16(extport), err
}
return newExtport, nil
} }
func (n *upnp) addAnyPortMapping(protocol string, extport, intport int, ip net.IP, desc string, lifetimeS uint32) (uint16, error) { func (n *upnp) addAnyPortMapping(protocol string, extport, intport int, ip net.IP, desc string, lifetimeS uint32) (uint16, error) {