From 98c81b92bbd85d5e9e04567837c64b4f234d74b2 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sun, 3 Dec 2023 10:48:33 -0800 Subject: [PATCH] Helper function to remove address from ClientInfo (#2288) --- .../staticconfiguration.go | 5 ++- pkg/rtc/participant.go | 1 - pkg/utils/protocol.go | 32 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 pkg/utils/protocol.go diff --git a/pkg/clientconfiguration/staticconfiguration.go b/pkg/clientconfiguration/staticconfiguration.go index e0309c26c..4fb67bae4 100644 --- a/pkg/clientconfiguration/staticconfiguration.go +++ b/pkg/clientconfiguration/staticconfiguration.go @@ -17,6 +17,7 @@ package clientconfiguration import ( "google.golang.org/protobuf/proto" + "github.com/livekit/livekit-server/pkg/utils" "github.com/livekit/protocol/livekit" "github.com/livekit/protocol/logger" ) @@ -40,7 +41,9 @@ func (s *StaticClientConfigurationManager) GetConfiguration(clientInfo *livekit. for _, c := range s.confs { matched, err := c.Match.Match(clientInfo) if err != nil { - logger.Errorw("matchrule failed", err, "clientInfo", logger.Proto(clientInfo)) + logger.Errorw("matchrule failed", err, + "clientInfo", logger.Proto(utils.ClientInfoWithoutAddress(clientInfo)), + ) continue } if !matched { diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index fd2d251ca..af4540a7f 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -742,7 +742,6 @@ func (p *ParticipantImpl) Close(sendLeave bool, reason types.ParticipantCloseRea "sendLeave", sendLeave, "reason", reason.String(), "isExpectedToResume", isExpectedToResume, - "clientInfo", logger.Proto(p.params.ClientInfo), ) p.clearDisconnectTimer() p.clearMigrationTimer() diff --git a/pkg/utils/protocol.go b/pkg/utils/protocol.go new file mode 100644 index 000000000..23844742f --- /dev/null +++ b/pkg/utils/protocol.go @@ -0,0 +1,32 @@ +/* + * Copyright 2023 LiveKit, Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package utils + +import ( + "google.golang.org/protobuf/proto" + + "github.com/livekit/protocol/livekit" +) + +func ClientInfoWithoutAddress(c *livekit.ClientInfo) *livekit.ClientInfo { + if c == nil { + return nil + } + clone := proto.Clone(c).(*livekit.ClientInfo) + clone.Address = "" + return clone +}