The nopoll API expect 'char'. It does not seem to matter what values are passed for the testing as these values are random and not being checked anywhere for verification.
* [fix] Updated client regression test to include new test (test-02-b) to
test client side ping support.
* [fix] Updated client regression test to avoid checking sslv23 when Openssl
is too new.
* [fix] Improved nopoll-regression-client (test-04-c) to avoid calling to
flush pending writes when there's nothing and to check that pending + written
equals to requested in order to signal precissely what's happending. Making
the code to also report this values so developer can see what's going on.
* [fix] Updated nopoll-regression-client.c to define ETIMEDOUT in case it is not
available (windows platform).
* [fix] Fixed compilation failure (nopoll_listener.c) while compiling on windows
and having debug disabled.
* [fix] Updated nopoll.h header to set a default FD_SETSIZE to 4096
so users can have a bigger default values for precompiled binaries.
Added documentation to explain how to change/update this value.
The value is only applied when including project do not define it
before hand.
* [fix] Several fixings applied to allow compiling noPoll on Windows (Windows 7 64 tested).
Renamed parameters using "interface" keyword. Removed conditionally binding interface
code so it is not available on windows (until we have support for it). Added header
definitions for nopoll_config_win32/win64.h to include headers for SSL/TLS includes.
Fixed compilation errors in regression tests.
* [fix] added support to detect SSLv3 methods and remove support for it
in the case they are not present. Added missing pthread_mutexattr_init/destroy
inside regression test.
* [fix] Several to fix dead locks and races when using non-recursive
mutexes through nopoll_thread_headers. Fixed dead lock when connection
close received while using nopoll_loop_wait API (reported by Ondrej
Zaruba). Updated nopoll_conn_ref/unref to fix possible races. Added
reg test (test_36) to reproduce and check fix introduced.
* [fix] Updated nopoll regression test code to use threading locking
code by default to ensure that all code tested is under threading
support (which at the end covers non threaded code).
* [fix] Several updates to make nopoll compilation process
to detect all SSL/TLS methods available and update headers
so noPoll internal code can react but also API consumers can
also take advantage of these indications. Added support for
TLS1.2 and for TlS flexible configuration (though added
security considerations to it). Updated regression test test_19
to check TLSv1.2 client and server support.
* [fix] Several updates to detect when __nopoll_conn_get_ssl_context fails
to report a valid SSL_CTX (fixed updated test_19).
* [fix] Updated header read handling to support all cases when a
splitted/broken header is received. Added regression tests test_31,
test_32, test_33, test_34 and test_35 to simulate and support different
scenarios where part of the header is received and then the rest...
* [fix] fixed broken connection problem caused by some WebSocket
clients that send headers using different send operations (rather
than one single operation) causing the header to be received splitted.
Added regression test_30 to reproduce the problem and check fix
introduced. Problem reported by Rahul Kale (barco.com)
* [fix] Making max ssl retries (for nopoll_conn) to try for 10 seconds
instead of just 1 second (which is too short by default for most of
the servers). This only affects client side code
* [new] Updated noPoll conn API to include a new function to allow closing
a connection, sending an error message and an error code along with it:
- nopoll_conn_close_ext
* [fix] Added regression test (test_28) to check connection close frame
with status and reason to check functions added:
- nopoll_conn_get_close_status
- nopoll_conn_get_close_reason
Everything working as expected..
* [fix] Fixed FreeBSD support. ENOTCONN wasn't handled on connection. For
some reason socket API is reported ENOTCONN when the should be reporting
EINPROGRESS or EWOULDBLOCK
* [fix] Updated log handler reporting so it is triggering when a user handler
is configured via nopoll_log_set_handler (even in the case log reporting
is disabled).
* [fix] Added new option call --show-only-critical to regression tests client
to show only critical messages.
* [fix] General update to allow setting and handling protocol requested
and supported by the client and server. Updated regression test (test_27)
to check all changes introduced. API added:
- nopoll_conn_get_accepted_protocol
- nopoll_conn_get_requested_protocol
- nopoll_conn_set_accepted_protocol
* [fix] Fixed support for protocol notified by the server, reported by
Rahul Kale (barco.com). Added regression test (test_27) to check fix
introduced.
* [new] Added support to handle and set cookie configured for
every connection. Regression test added to check this (test_24).
API added:
- nopoll_conn_get_cookie
- nopoll_conn_new_opts
- nopoll_conn_opts_set_cookie
* [fix] Added a subtlety to report a EWOULD errno just after
finished TLS handshake to ensure the caller can report NULL
but it is not understood as a connection failure by an upper
level API. Fixes MyQtt WebSocket over TLS WebSocket integration
reported.