@@ -776,16 +776,17 @@ private void Parse()
776
776
var invalidPercentPattern = @"%$|%.$|%[^0-9a-fA-F]|%[0-9a-fA-F][^0-9a-fA-F]" ;
777
777
if ( Regex . IsMatch ( _originalConnectionString , invalidPercentPattern ) )
778
778
{
779
- var message = string . Format ( "The connection string '{0}' contains an invalid '%' escape sequence." ,
780
- _originalConnectionString ) ;
779
+ var protectedConnectionString = protectConnectionString ( _originalConnectionString ) ;
780
+ var message = $ "The connection string ' { protectedConnectionString } ' contains an invalid '%' escape sequence." ;
781
781
throw new MongoConfigurationException ( message ) ;
782
782
}
783
783
}
784
784
785
785
var match = Regex . Match ( _originalConnectionString , pattern ) ;
786
786
if ( ! match . Success )
787
787
{
788
- var message = string . Format ( "The connection string '{0}' is not valid." , _originalConnectionString ) ;
788
+ var protectedConnectionString = protectConnectionString ( _originalConnectionString ) ;
789
+ var message = $ "The connection string '{ protectedConnectionString } ' is not valid.";
789
790
throw new MongoConfigurationException ( message ) ;
790
791
}
791
792
@@ -799,6 +800,12 @@ private void Parse()
799
800
{
800
801
throw new MongoConfigurationException ( "This is an invalid w and journal pair." ) ;
801
802
}
803
+
804
+ string protectConnectionString ( string connectionString )
805
+ {
806
+ var protectedString = Regex . Replace ( connectionString , @"(?<=://)[^/]*(?=@)" , "<hidden>" ) ;
807
+ return protectedString ;
808
+ }
802
809
}
803
810
804
811
private void ParseOption ( string name , string value )
0 commit comments