Use Debug Wrapper Library in tls Connects
This commit is contained in:
parent
743e5132ad
commit
c786464580
1 changed files with 17 additions and 12 deletions
|
@ -10,7 +10,7 @@
|
|||
;*
|
||||
|
||||
XIncludeFile "lhs_net_socket.pbi"
|
||||
|
||||
XIncludeFile "../SYS/lhs_sys_debug_wrapper.pbi"
|
||||
DeclareModule tls
|
||||
Structure s_tls_server
|
||||
CA.s
|
||||
|
@ -19,6 +19,11 @@ DeclareModule tls
|
|||
Password.s
|
||||
EndStructure
|
||||
|
||||
Global LoggerUUID.s = ""
|
||||
Global Log_Level_Info = 0
|
||||
Global Log_Level_Debug = 0
|
||||
Global Log_Level_Error = 2
|
||||
|
||||
Declare InitSimpleTLS(CA.s, Cert.s, Key.s, Password.s, TLSID.i = 0)
|
||||
Declare InitTLS(*Settings.s_tls_server, TLSID.i = 0)
|
||||
Declare WaitTLSSocket(ServerSocket.i, TLSID.i = 0)
|
||||
|
@ -111,15 +116,15 @@ Module tls
|
|||
EndIf
|
||||
Wend
|
||||
If IsLibrary(libressl_tls)
|
||||
Debug "Initialized with:" + LibraryDir + LibraryName
|
||||
ldl::Logging("Initialized with:" + LibraryDir + LibraryName, LoggerUUID, Log_Level_Info)
|
||||
Else
|
||||
Debug "Library not found: " + LibraryDir + LibraryName + " Or " + LibraryDir + LibraryName + ".*"
|
||||
ldl::Logging("Library not found: " + LibraryDir + LibraryName + " Or " + LibraryDir + LibraryName + ".*", LoggerUUID, Log_Level_Info)
|
||||
End
|
||||
EndIf
|
||||
FinishDirectory(0)
|
||||
EndIf
|
||||
Else
|
||||
Debug "Initialized with:" + LibraryDir + LibraryName
|
||||
ldl::Logging("Initialized with:" + LibraryDir + LibraryName, LoggerUUID, Log_Level_Info)
|
||||
EndIf
|
||||
|
||||
Define Call_tls_init = GetFunction(libressl_tls, "tls_init")
|
||||
|
@ -178,32 +183,32 @@ Module tls
|
|||
Protected mem_ptr.i, length.i, returns.i
|
||||
If tls_init() <> 0 : ProcedureReturn -1 : EndIf
|
||||
tls_cfg = tls_config_new()
|
||||
Debug "TLS cfg obj:"+Str(tls_cfg)
|
||||
Debug "CA:"+*Settings\CA
|
||||
ldl::Logging( "TLS cfg obj:"+Str(tls_cfg), LoggerUUID, Log_Level_Info)
|
||||
ldl::Logging( "CA:"+*Settings\CA, LoggerUUID, Log_Level_Info)
|
||||
mem_ptr = tls_load_file(*Settings\CA, @length)
|
||||
If Not mem_ptr : tls_config_free(tls_cfg) : ProcedureReturn -2 : EndIf
|
||||
tls_config_set_ca_mem(tls_cfg, mem_ptr, length)
|
||||
Debug "Cert:"+*Settings\Cert
|
||||
ldl::Logging( "Cert:"+*Settings\Cert, LoggerUUID, Log_Level_Info)
|
||||
mem_ptr = tls_load_file(*Settings\Cert, @length)
|
||||
If Not mem_ptr : tls_config_free(tls_cfg) : ProcedureReturn -3 : EndIf
|
||||
tls_config_set_cert_mem(tls_cfg, mem_ptr, length)
|
||||
If Len(*Settings\Password) > 0
|
||||
Debug "Key:"+*Settings\Key + " Password:"+*Settings\Password
|
||||
ldl::Logging( "Key:"+*Settings\Key + " Password:"+*Settings\Password, LoggerUUID, Log_Level_Info)
|
||||
mem_ptr = tls_load_file_pw(*Settings\Key, @length, *Settings\Password)
|
||||
If Not mem_ptr : tls_config_free(tls_cfg) : ProcedureReturn -4 : EndIf
|
||||
tls_config_set_key_mem(tls_cfg, mem_ptr, length)
|
||||
Else
|
||||
Debug "Key:"+*Settings\Key
|
||||
ldl::Logging( "Key:"+*Settings\Key, LoggerUUID, Log_Level_Info)
|
||||
mem_ptr = tls_load_file(*Settings\Key, @length)
|
||||
If Not mem_ptr : tls_config_free(tls_cfg) : ProcedureReturn -5 : EndIf
|
||||
tls_config_set_key_mem(tls_cfg, mem_ptr, length)
|
||||
EndIf
|
||||
tls_ctx = tls_server()
|
||||
Debug "TLS Server obj:"+Str(tls_ctx)
|
||||
ldl::Logging( "TLS Server obj:"+Str(tls_ctx), LoggerUUID, Log_Level_Info)
|
||||
If Not tls_ctx : tls_config_free(tls_cfg) : ProcedureReturn -6 : EndIf
|
||||
returns = tls_configure(tls_ctx, tls_cfg)
|
||||
Debug "Configure Returns:"+Str(returns)
|
||||
If returns <> 0 :Debug ErrorTLSSrv(): tls_free(tls_ctx) : tls_config_free(tls_cfg) : ProcedureReturn -7 : EndIf
|
||||
ldl::Logging( "Configure Returns:"+Str(returns), LoggerUUID, Log_Level_Info)
|
||||
If returns <> 0 :ldl::Logging( ErrorTLSSrv(), LoggerUUID, Log_Level_Info): tls_free(tls_ctx) : tls_config_free(tls_cfg) : ProcedureReturn -7 : EndIf
|
||||
ProcedureReturn 1
|
||||
EndProcedure
|
||||
|
||||
|
|
Loading…
Reference in a new issue