diff --git a/CHANGELOG.md b/CHANGELOG.md index c66c37619..21b220e4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -180,7 +180,6 @@ controller and add new peers normally with `ziti ops cluster add`. ### End-to-End Encryption (e2ee) Improvements -* Add support for negotiating e2ee scheme during Dial/Accept handshake * Allow hosting-side crypto material to be generated on per connection basis (instead of per terminator) diff --git a/router/xgress_edge/dialer.go b/router/xgress_edge/dialer.go index 551fb1673..89dc8d0f2 100644 --- a/router/xgress_edge/dialer.go +++ b/router/xgress_edge/dialer.go @@ -132,10 +132,6 @@ func (dialer *dialer) Dial(params xgress_router.DialParams) (xt.PeerData, error) dialRequest.Headers[edgeSdk.PublicKeyHeader] = pk } - if meth, ok := circuitId.Data[uint32(edgeSdk.CryptoMethodHeader)]; ok { - dialRequest.Headers[edgeSdk.CryptoMethodHeader] = meth - } - if marker, ok := circuitId.Data[uint32(edgeSdk.ConnectionMarkerHeader)]; ok { dialRequest.Headers[edgeSdk.ConnectionMarkerHeader] = marker } @@ -234,10 +230,6 @@ func (dialer *dialer) dialSdkXgress(terminator *edgeTerminator, params xgress_ro dialRequest.Headers[edgeSdk.PublicKeyHeader] = pk } - if meth, ok := circuitId.Data[uint32(edgeSdk.CryptoMethodHeader)]; ok { - dialRequest.Headers[edgeSdk.CryptoMethodHeader] = meth - } - if marker, ok := circuitId.Data[uint32(edgeSdk.ConnectionMarkerHeader)]; ok { dialRequest.Headers[edgeSdk.ConnectionMarkerHeader] = marker } @@ -334,9 +326,6 @@ func (dialer *dialer) dialLegacy(terminator *edgeTerminator, params xgress_route if pk, ok := circuitId.Data[uint32(edgeSdk.PublicKeyHeader)]; ok { dialRequest.Headers[edgeSdk.PublicKeyHeader] = pk } - if meth, ok := circuitId.Data[uint32(edgeSdk.CryptoMethodHeader)]; ok { - dialRequest.Headers[edgeSdk.CryptoMethodHeader] = meth - } if marker, ok := circuitId.Data[uint32(edgeSdk.ConnectionMarkerHeader)]; ok { dialRequest.Headers[edgeSdk.ConnectionMarkerHeader] = marker diff --git a/router/xgress_edge/listener.go b/router/xgress_edge/listener.go index bb04e56ff..91e879939 100644 --- a/router/xgress_edge/listener.go +++ b/router/xgress_edge/listener.go @@ -58,9 +58,12 @@ import ( "google.golang.org/protobuf/types/known/timestamppb" ) +// CryptoMethodHeader is deliberately absent. The Go and C SDKs encode it differently under the same +// header id, a numeric enum byte versus a string method id, so handing a client's value to a host +// running the other SDK fails that host's method check. Unmapped, each end keeps its own default. +// Restore it once the SDKs agree on one encoding. var peerHeaderRequestMappings = map[uint32]uint32{ uint32(sdkedge.PublicKeyHeader): uint32(sdkedge.PublicKeyHeader), - uint32(sdkedge.CryptoMethodHeader): uint32(sdkedge.CryptoMethodHeader), uint32(sdkedge.CallerIdHeader): uint32(sdkedge.CallerIdHeader), uint32(sdkedge.AppDataHeader): uint32(sdkedge.AppDataHeader), uint32(sdkedge.ConnectionMarkerHeader): uint32(sdkedge.ConnectionMarkerHeader),