mirror of
https://github.com/openziti/ziti.git
synced 2026-09-10 00:35:41 +00:00
Stop forwarding the crypto method header to hosting SDKs
- removes CryptoMethodHeader from the router's peer header request mappings, so a dialing client's value no longer reaches circuit data - removes the matching forwarding from all three xgress_edge dial paths - drops the changelog entry for e2ee scheme negotiation, which this un-ships
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user