diff --git a/frameworks/native/tls_socket/src/tls_socket.cpp b/frameworks/native/tls_socket/src/tls_socket.cpp index 6e96f118d41c93295a5d4c1f3f2762358997464f..c9ca727e960b385f707c751cea70e5bd6b7be345 100644 --- a/frameworks/native/tls_socket/src/tls_socket.cpp +++ b/frameworks/native/tls_socket/src/tls_socket.cpp @@ -113,6 +113,12 @@ int ConvertErrno() return TlsSocketError::TLS_ERR_SYS_BASE + errno; } +int log_print_cb(const char *str, size_t len, void *u) +{ + NETSTACK_LOGE("%{public}s", str); + return 1; +} + std::string MakeErrnoString() { return strerror(errno); @@ -121,7 +127,7 @@ std::string MakeErrnoString() std::string MakeSSLErrorString(int error) { char err[MAX_ERR_LEN] = {0}; - ERR_error_string_n(error - TlsSocketError::TLS_ERR_SYS_BASE, err, sizeof(err)); + ERR_error_string_n(error - TlsSocketError::TLS_ERR_SSL_BASE, err, sizeof(err)); return err; } @@ -1391,6 +1397,7 @@ bool TLSSocket::TLSSocketInternal::Close() int resErr = TlsSocketError::TLS_ERR_SSL_BASE + SSL_get_error(ssl_, SSL_RET_CODE); NETSTACK_LOGE("Error in shutdown, errno is %{public}d, error info is %{public}s", resErr, MakeSSLErrorString(resErr).c_str()); + ERR_print_errors_cb(log_print_cb, NULL); } NETSTACK_LOGI("tls socket close, fd =%{public}d", socketDescriptor_); SSL_free(ssl_); @@ -1813,6 +1820,7 @@ bool TLSSocket::TLSSocketInternal::StartShakingHands(const TLSConnectOptions &op int errorStatus = TlsSocketError::TLS_ERR_SSL_BASE + SSL_get_error(ssl_, SSL_RET_CODE); NETSTACK_LOGE("SSLConnect fail %{public}d, error: %{public}s errno: %{public}d ERR_get_error %{public}s", errorStatus, MakeSSLErrorString(errorStatus).c_str(), errno, err); + ERR_print_errors_cb(log_print_cb, NULL); return false; }