Clears SSL error state.
Updates tport_tls.c to clear the SSL error state after an error occurs.
OpenSSL puts errors into a queue that is kept in thread local storage.
In some cases, such as when SSL_ERROR_SSL is returned by SSL_get_errror(),
OpenSSL will queue multiple errors for a single event. When this occurs,
OpenSSL will report an error the next time I/O is performed if the queue
is not cleared first, which can result in TLS connections being torn down
prematurely.
In case of outbound_redirect_fatal=true none of the redirect variables are
set. This makes it impossible for ESL applications to extract any information
related to the "302 Moved Temporarily" reply.
Having a member from a queue that is no longer found on the current system
causes infinite logging about skipping a member.
There is already cleanup code for abandoned calls in same function, but it can
never be reached for this case, because there is no queue.
If the queue is never found again in the system, the logging would continue
forever or until the stale record gets removed from the database.
FS-10304 #resolve
Some clients rely on Base64 padding characters (i.e., '=') to be present
in encoded SRTP key/salt strings to determine the length of the encoded
data. However, FreeSWITCH removes these characters before including the
encoded strings in the SDP. This causes those clients that rely on the
padding to truncate the encoded data and be unable to properly set up an
encrypted SRTP session.
This change introduces a channel flag named 'rtp_pad_srtp_keys'. When
this flag is enabled, FreeSWITCH includes the Base64 padding characters
in the SDP. This allows clients that rely on the padding to retrieve the
full key and salt values and successfully negotiate an SRTP stream with
FreeSWITCH.
FS-103070 #resolve
When running "make swigclean" in mod_lua directory and trying to compile
mod_lua afterward, the build fails because the target mod_lua_wrap.cpp
doesn't exist. The target is wrongly called lua_wrap instead.
making all mod_lua
make[7]: Entering directory '/path/to/freeswitch-1.6.17/src/mod/languages/mod_lua'
CXX mod_lua_la-mod_lua.lo
CXX mod_lua_la-freeswitch_lua.lo
make[7]: *** No rule to make target 'mod_lua_wrap.cpp', needed by 'mod_lua_la-mod_lua_wrap.lo'. Stop.
Fix this by renaming lua_wrap to mod_lua_wrap.cpp.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>