From 4d34764c42f8c8a84d566a8431edcbfb8f59cb48 Mon Sep 17 00:00:00 2001 From: Michal Simon Date: Thu, 18 Jun 2020 23:44:03 +0200 Subject: [PATCH] [XrdCl] Make the debug level for TLS component configurable. --- docs/man/xrdcp.1 | 7 +++++++ src/XrdCl/XrdClConstants.hh | 1 + src/XrdCl/XrdClDefaultEnv.cc | 1 + src/XrdCl/XrdClTls.cc | 21 ++++++++++++++++++++- 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/docs/man/xrdcp.1 b/docs/man/xrdcp.1 index e3feff34804..272e4697d17 100644 --- a/docs/man/xrdcp.1 +++ b/docs/man/xrdcp.1 @@ -317,6 +317,13 @@ Available topics: AppMsg, UtilityMsg, FileMsg, PollerMsg, PostMasterMsg, XRootDTransportMsg, TaskMgrMsg, XRootDMsg, FileSystemMsg, AsyncSockMsg .RE +XRD_TLSDBGLVL +.RS 5 +Determine the debug level for the TLS component. Valid values are: +\fIOFF\fR, \fICTX\fR, \fISOK\fR, \fISIO\fR, \fIALL\fR and \fIOUT\fR. +The default value is \fIOFF\fR. +.RE + XRD_PARALLELEVTLOOP .RS 5 The number of event loops. diff --git a/src/XrdCl/XrdClConstants.hh b/src/XrdCl/XrdClConstants.hh index 2d131e9d162..a158a23af08 100644 --- a/src/XrdCl/XrdClConstants.hh +++ b/src/XrdCl/XrdClConstants.hh @@ -96,6 +96,7 @@ namespace XrdCl const char * const DefaultWriteRecovery = "true"; const char * const DefaultOpenRecovery = "true"; const char * const DefaultGlfnRedirector = ""; + const char * const DefaultTlsDbgLvl = "OFF"; } #endif // __XRD_CL_CONSTANTS_HH__ diff --git a/src/XrdCl/XrdClDefaultEnv.cc b/src/XrdCl/XrdClDefaultEnv.cc index 3d123b31254..28cdc0108ee 100644 --- a/src/XrdCl/XrdClDefaultEnv.cc +++ b/src/XrdCl/XrdClDefaultEnv.cc @@ -307,6 +307,7 @@ namespace XrdCl REGISTER_VAR_STR( varsStr, "WriteRecovery", DefaultWriteRecovery ); REGISTER_VAR_STR( varsStr, "OpenRecovery", DefaultOpenRecovery ); REGISTER_VAR_STR( varsStr, "GlfnRedirector", DefaultGlfnRedirector ); + REGISTER_VAR_STR( varsStr, "TlsDbgLvl", DefaultTlsDbgLvl ); //-------------------------------------------------------------------------- // Process the configuration files diff --git a/src/XrdCl/XrdClTls.cc b/src/XrdCl/XrdClTls.cc index a07b576ddcd..bd15b20a55f 100644 --- a/src/XrdCl/XrdClTls.cc +++ b/src/XrdCl/XrdClTls.cc @@ -63,7 +63,26 @@ namespace inline SetTlsMsgCB() { XrdTls::SetMsgCB( MsgCallBack ); - XrdTls::SetDebug( XrdTls::dbgALL, MsgCallBack ); + XrdTls::SetDebug( TlsDbgLvl(), MsgCallBack ); + } + + //-------------------------------------------------------------------- + // Get TLS debug level + //-------------------------------------------------------------------- + static int TlsDbgLvl() + { + XrdCl::Env *env = XrdCl::DefaultEnv::GetEnv(); + std::string tlsDbgLvl; + env->GetString( "TlsDbgLvl", tlsDbgLvl ); + + if( tlsDbgLvl == "OFF" ) return XrdTls::dbgOFF; + if( tlsDbgLvl == "CTX" ) return XrdTls::dbgCTX; + if( tlsDbgLvl == "SOK" ) return XrdTls::dbgSOK; + if( tlsDbgLvl == "SIO" ) return XrdTls::dbgSIO; + if( tlsDbgLvl == "ALL" ) return XrdTls::dbgALL; + if( tlsDbgLvl == "OUT" ) return XrdTls::dbgOUT; + + return XrdTls::dbgOFF; } };