Jonathan Lennox [Thu, 27 Oct 2011 16:06:12 +0000 (16:06 +0000)]
Fix inline functions when compiling as C99.
Make private inlines in C files 'static inline', not just 'inline', or the compiler
can discard the definition if it chooses not to inline it.
Make functions declared in header files not be declared inline (if they're defined in a
.c file). It looks like no functions in this category are used in LibSRTP's critical
path, only for unit tests or generating AES tables.
To see the problem prior to this commit, compile with "gcc -O0 -std=gnu99".
Travis Cross [Thu, 6 Feb 2014 15:27:06 +0000 (15:27 +0000)]
Add support for EECDH to Sofia-SIP
This adds support for the ephemeral elliptic curve Diffie-Hellman key
exchange, which provides for forward secrecy in the event that
long-term keys are compromised.
For the moment, we've hard-coded the curve as prime256v1.
Travis Cross [Thu, 6 Feb 2014 00:20:45 +0000 (00:20 +0000)]
Support setting enabled TLS versions in mod_sofia
Previously if tls-version was set to tlsv1 we supported only TLSv1,
but if it was set to sslv23 we supported all versions of TLS. This
was a weird incorrectly documented behavior that we hope no one was
relying on.
Now we can pass a comma-separated list of TLS/SSL versions that we
would like to support in tls-version.
Travis Cross [Thu, 6 Feb 2014 00:18:05 +0000 (00:18 +0000)]
Allow setting enabled TLS versions in Sofia-SIP
Previously if the TPTAG_TLS_VERSION was set to a non-zero value we
supported only TLSv1 (but not TLSv1.1 or TLSv1.2), and if was set to
zero we supported all versions of TLS and SSL (including the
ridiculous SSLv2).
Now we take an integer field where various bits can be set indicating
which versions of TLS we would like to support.
Travis Cross [Sat, 1 Feb 2014 15:39:28 +0000 (15:39 +0000)]
Improve configure handling of ODBC
This commit changes behavior such that if --disable-core-odbc-support
is provided we'll build without ODBC even if the libraries are there.
Previously we would always quietly build with ODBC support if it was
on the system.
Contrary to what was said in commit 72a804983, my 2012 commit ffc8e81b7 did not affect the behavior of --disable-core-odbc-support.
We never recognized the flag as being different from not providing the
option at all.
What the commit did do was to cause us to fail loudly if
--enable-core-odbc-support was provided but the system libraries were
not there. This behavior is preserved.
(That commit also caused us to potentially run certain checks twice,
which this commit resolves.)
You can also now provide --enable-core-odbc-support=optional which has
the same effect as the default behavior.
FS-6173 --resolve
Thanks-to: James Le Cuirot <chewi@aura-online.co.uk>
Moises Silva [Wed, 29 Jan 2014 00:07:34 +0000 (19:07 -0500)]
Fix ESL infinite loop on handle_recv() when errno is already set
system calls do not clear errno, just set it in case of failure, so we
gotta make sure the recv() syscall really failed by checking the return value
James Le Cuirot [Fri, 10 Jan 2014 14:37:41 +0000 (14:37 +0000)]
Fix --disable-core-odbc-support
In commit ffc8e81b763c4e11e02309b99e2a4b4aa666e845, tc ensured that
configure would abort if libodbc was not found. However this resulted
in the library check being done twice, as well as rendering
--disable-core-odbc-support ineffective. If libodbc was found, it
would enable core ODBC support regardless. This fix ensures the check
is only done once or not at all if core ODBC support is explicitly
disabled.
James Le Cuirot [Fri, 10 Jan 2014 13:34:09 +0000 (13:34 +0000)]
mod_rayo: Translate XMPP messages to SIP messages
Call-bound XMPP messages are translated to SIP messages via
SWITCH_EVENT_SEND_MESSAGE in a similar manner to that described in
draft-ietf-stox-im-06. Messages with a type of "normal" are directed
to the caller. Other types receive a feature-not-implemented response
but it is envisaged that the "groupchat" type could be used to direct
the message to all joined parties.
Michael Jerris [Wed, 29 Jan 2014 21:59:46 +0000 (16:59 -0500)]
revert previous change that does not correct the issue. opened a bug with apple on this issue https://bugreport.apple.com/problem/viewproblem #15938497
Travis Cross [Tue, 21 Jan 2014 04:40:00 +0000 (04:40 +0000)]
Add util option to customize suite names
This lets us set the suite name in the changelog file to
e.g. sid-experimental. This way we can share a single debian repo URL
for all versions, but make sure that incoming files are directed to
the correct distro.
Travis Cross [Tue, 21 Jan 2014 03:38:41 +0000 (03:38 +0000)]
Add utility to generate backtraces from core files
This should help with getting people reporting issues to provide us
the exact and complete debugging information we need. In many cases
we'll be able to have them just run this script against their core
file.
Travis Cross [Fri, 17 Jan 2014 07:05:17 +0000 (07:05 +0000)]
Handle Linux TCP keepalives better in Sofia
Sofia accepts a value for the TCP keepalive timeout interval via
TPTAG_KEEPALIVE, however it fails to use this value for the Linux
keepalive socket options TCP_KEEPIDLE and TCP_KEEPINTVL. In fact, on
Linux it enables the sending of TCP keepalives even if tpp_keepalive
is set to zero which would disable Sofia's internal keepalive
mechanisms. Sofia then uses a hard coded value of 30 seconds for
these keepalive intervals which affects battery life on mobile
devices.
With this commit we harmonize the sending of TCP keepalives on Linux
with other platforms by using the value from TPTAG_KEEPALIVE and not
enabling the sending of TCP keepalives at all if the value of the
parameter is zero.
Travis Cross [Fri, 17 Jan 2014 08:40:44 +0000 (08:40 +0000)]
Depend on vlc-nox for mod_vlc
mod_vlc needs the plugins from vlc-nox to do anything useful.
Currently mod_vlc segfaults without the plugins. Even after that is
fixed, however, without any plugins mod_vlc can't do its job, so we'll
set a hard dependency here. I could probably be talked into making
this a Recommends rather than Depends.