From 7dc15f1f39b5125c29bdb1b975873228bf2cb155 Mon Sep 17 00:00:00 2001 From: Jim Date: Thu, 25 May 2023 17:38:15 -0400 Subject: [PATCH] fix(Upstream Msg): limit types supported in toMsgType(...) --- .../handlers/upstream_message_service_worker.go | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/internal/daemon/cluster/handlers/upstream_message_service_worker.go b/internal/daemon/cluster/handlers/upstream_message_service_worker.go index bd89ac930..0c6548c5d 100644 --- a/internal/daemon/cluster/handlers/upstream_message_service_worker.go +++ b/internal/daemon/cluster/handlers/upstream_message_service_worker.go @@ -216,22 +216,17 @@ func ctMsg(ctx context.Context, keySource nodeenrollment.X25519KeyProducer, msgT }, nil } +var entMsgTypeResolver func(ctx context.Context, m proto.Message) (pbs.MsgType, error) + func toMsgType(ctx context.Context, m proto.Message) (pbs.MsgType, error) { const op = "handlers.toMsgType" switch t := m.(type) { case *pbs.EchoUpstreamMessageRequest, *pbs.EchoUpstreamMessageResponse: return pbs.MsgType_MSG_TYPE_ECHO, nil - case *pbs.UnwrapKeysRequest, *pbs.UnwrapKeysResponse: - return pbs.MsgType_MSG_TYPE_UNWRAP_KEYS, nil - case *pbs.VerifySignatureRequest, *pbs.VerifySignatureResponse: - return pbs.MsgType_MSG_TYPE_VERIFY_SIGNATURE, nil - case *pbs.CloseSessionRecordingRequest, *pbs.CloseSessionRecordingResponse: - return pbs.MsgType_MSG_TYPE_CLOSE_SESSION_RECORDING, nil - case *pbs.CloseConnectionRecordingRequest, *pbs.CloseConnectionRecordingResponse: - return pbs.MsgType_MSG_TYPE_CLOSE_CONNECTION_RECORDING, nil - case *pbs.CreateChannelRecordingRequest, *pbs.CreateChannelRecordingResponse: - return pbs.MsgType_MSG_TYPE_CREATE_CHANNEL_RECORDING, nil default: + if entMsgTypeResolver != nil { + return entMsgTypeResolver(ctx, m) + } return pbs.MsgType_MSG_TYPE_UNSPECIFIED, errors.New(ctx, errors.InvalidParameter, op, fmt.Sprintf("%q is an unknown msg type", t)) } }