refactor: crypto doesn't need to be a generic overlay feature

This commit is contained in:
Matthias Radestock committed 2015-11-07 16:14:31 +00:00
1 parent 006262ed8f
commit f3f23b43b5
2 files changed
+10 -11

No files matched your search

-7
View File
@@ -61,13 +61,6 @@ type ForwarderParams struct {
// to decode the frame.
type OverlayConsumer func(ForwardPacketKey) FlowOp
// Crypto settings for a forwarder.
type OverlayCrypto struct {
Dec Decryptor
Enc Encryptor
EncDF Encryptor
}
// All of the machinery to forward packets to a particular peer
type OverlayForwarder interface {
// Forward a packet across the connection. May be called as
+10 -4
View File
@@ -273,6 +273,12 @@ func (sleeve *SleeveOverlay) send(msg []byte, raddr *net.UDPAddr) error {
return err
}
type sleeveCrypto struct {
Dec Decryptor
Enc Encryptor
EncDF Encryptor
}
type sleeveForwarder struct {
// Immutable
sleeve *SleeveOverlay
@@ -303,7 +309,7 @@ type sleeveForwarder struct {
stackFrag bool
// State only used within the forwarder goroutine
crypto OverlayCrypto
crypto sleeveCrypto
senderDF *udpSenderDF
maxPayload int
@@ -345,15 +351,15 @@ type controlMessage struct {
func (sleeve *SleeveOverlay) MakeForwarder(params ForwarderParams) (OverlayForwarder, error) {
name := sleeve.localPeer.NameByte
var crypto OverlayCrypto
var crypto sleeveCrypto
if params.SessionKey != nil {
crypto = OverlayCrypto{
crypto = sleeveCrypto{
Dec: NewNaClDecryptor(params.SessionKey, params.Outbound),
Enc: NewNaClEncryptor(name, params.SessionKey, params.Outbound, false),
EncDF: NewNaClEncryptor(name, params.SessionKey, params.Outbound, true),
}
} else {
crypto = OverlayCrypto{
crypto = sleeveCrypto{
Dec: NewNonDecryptor(),
Enc: NewNonEncryptor(name),
EncDF: NewNonEncryptor(name),