@@ -31,9 +31,31 @@ def get_topics_list() -> List[str]:
3131def mask_sensitive (k : str , v : Any ) -> Any :
3232 """Mask sensitive configuration values."""
3333 sensitive_patterns = [
34+ # Existing patterns
3435 "password" , "sasl.jaas.config" , "basic.auth.user.info" ,
3536 "ssl.key" , "ssl.cert" , "ssl.truststore" , "ssl.keystore" ,
36- "sasl.kerberos.keytab" , "sasl.kerberos.principal"
37+ "sasl.kerberos.keytab" , "sasl.kerberos.principal" ,
38+
39+ # Additional SSL properties
40+ "ssl.cafile" , "ssl.certfile" , "ssl.keyfile" ,
41+ "ssl.certificate.location" , "ssl.certificate.pem" ,
42+ "ssl.ca.location" , "ssl.ca.pem" ,
43+ "ssl.ca.certificate.stores" , "ssl.crl.location" ,
44+ "ssl.providers" , "ssl.context" ,
45+
46+ # Additional SASL properties
47+ "sasl.username" , "sasl.password" ,
48+ "sasl.plain.username" , "sasl.plain.password" ,
49+ "sasl.oauthbearer.config" , "sasl.oauthbearer.client.secret" ,
50+ "sasl.oauthbearer.extensions" ,
51+
52+ # OAuth callback configurations
53+ "sasl.oauth.token.provider" , "oauth_cb" , "sasl_oauth_token_provider" ,
54+
55+ # Library-specific variations
56+ "sasl_plain_username" , "sasl_plain_password" ,
57+ "ssl_cafile" , "ssl_certfile" , "ssl_keyfile" ,
58+ "sasl_oauth_token_provider"
3759 ]
3860 return "[MASKED]" if any (pattern in k .lower () for pattern in sensitive_patterns ) else v
3961
@@ -129,6 +151,13 @@ def copy_client_configuration_properties(src: Dict[str, Any], dst: Dict[str, Any
129151 lib_key = _JAVA_TO_LIB_MAPPING [lib_name ].get (java_key , java_key )
130152 if lib_key in src and lib_key not in dst :
131153 dst [lib_key ] = src [lib_key ]
154+
155+ # Debug log to show config comparison
156+ # Mask sensitive data before logging
157+ src_masked = {k : mask_sensitive (k , v ) for k , v in src .items ()}
158+ dst_masked = {k : mask_sensitive (k , v ) for k , v in dst .items ()}
159+
160+ logger .debug ("copy_client_configuration_properties - Source config: {}, Destination config: {}" , src_masked , dst_masked )
132161
133162# ---------------------------------------------------------------------------
134163# Field name mapping between Java-style and library-specific representations
0 commit comments