Bug fixes and improvements
🐛 Bug Fixes
• SSL Error Reporting Improvements
- Fixed SSL error reporting in SSLClient (#2251)
- Enhanced error handling to properly capture OpenSSL errors when SSL context is null
- Added
ssl_last_error()method to SSLServer for better error diagnostics
• SSL Client Certificate Authentication (#2250)
- Fixed SSL client certificate authentication issues
- Added proper client CA list handling during TLS handshake
- Implemented
extract_ca_names_from_x509_store()helper function
• IPv6 Host Header Support (#2237)
- Fixed Host header formatting for IPv6 addresses
- Properly enclose IPv6 addresses in brackets when creating host strings
- Added
make_host_and_port_string()utility function
• Memory Safety Fix (#2232)
- Fixed undefined behavior caused by dangling references in
getaddrinfo_with_timeout() - Resolved potential crashes when resolve thread is detached
- Added test to verify the fix
• EventDispatcher Stability (#2257)
- Fixed EventDispatcher problem
- Improved stability and reliability
• Threading Issues (#2255, #2256)
- Fixed multiple threading-related issues
- Enhanced thread safety and synchronization
🔧 Improvements
• Build System Enhancements
- CMake: Fixed FindBrotli to not add
Brotli::targets if they already exist (#2249) - Meson: Use C++17 for gtest >= 1.17.0 (#2241)
- Fixed Windows cross-compilation issues (#2234)
• Windows Platform
- Fixed OpenSSL installation issues on Windows (#2254)
- Fixed benchmark test issue on Windows (#2258)
- Improved Windows environment compatibility
• Code Quality
- General code cleanup and improvements
- Fixed .gitignore for examples directory
- Added additional unit tests for SSL functionality