diff options
author | obscuren <geffobscura@gmail.com> | 2015-01-04 21:20:16 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-01-04 21:20:16 +0800 |
commit | 09841b1c9b2553a4572590128580df37c8fa83ad (patch) | |
tree | 42a846801bde7d8f7edc5ec07ccbba7806261128 /p2p | |
parent | bd0c267cbe9db805b5a272d29ef8860c62ddafe5 (diff) | |
download | dexon-09841b1c9b2553a4572590128580df37c8fa83ad.tar.gz dexon-09841b1c9b2553a4572590128580df37c8fa83ad.tar.zst dexon-09841b1c9b2553a4572590128580df37c8fa83ad.zip |
Cleaned up some of that util
Diffstat (limited to 'p2p')
-rw-r--r-- | p2p/client_identity.go | 4 | ||||
-rw-r--r-- | p2p/nat.go | 23 |
2 files changed, 25 insertions, 2 deletions
diff --git a/p2p/client_identity.go b/p2p/client_identity.go index bc865b63b..f15fd01bf 100644 --- a/p2p/client_identity.go +++ b/p2p/client_identity.go @@ -17,10 +17,10 @@ type SimpleClientIdentity struct { customIdentifier string os string implementation string - pubkey string + pubkey []byte } -func NewSimpleClientIdentity(clientIdentifier string, version string, customIdentifier string, pubkey string) *SimpleClientIdentity { +func NewSimpleClientIdentity(clientIdentifier string, version string, customIdentifier string, pubkey []byte) *SimpleClientIdentity { clientIdentity := &SimpleClientIdentity{ clientIdentifier: clientIdentifier, version: version, diff --git a/p2p/nat.go b/p2p/nat.go new file mode 100644 index 000000000..9b771c3e8 --- /dev/null +++ b/p2p/nat.go @@ -0,0 +1,23 @@ +package p2p + +import ( + "fmt" + "net" +) + +func ParseNAT(natType string, gateway string) (nat NAT, err error) { + switch natType { + case "UPNP": + nat = UPNP() + case "PMP": + ip := net.ParseIP(gateway) + if ip == nil { + return nil, fmt.Errorf("cannot resolve PMP gateway IP %s", gateway) + } + nat = PMP(ip) + case "": + default: + return nil, fmt.Errorf("unrecognised NAT type '%s'", natType) + } + return +} |