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