Releases: garacil/sofia-sip
Release list
sofia-sip 2.0.4 - optimized -O2 default + STUN copy fix
Sofia-SIP 2.0.4.
Two changes over 2.0.3, plus attribution.
-
Optimized production build by default (-O2 -g). configure.ac appended to
CFLAGS before the compiler was probed, which left CFLAGS non-empty and
suppressed Autoconf's default -g -O2 -- so a plain ./configure had been
building at -O0 (unoptimized). A plain build is now -O2 -g. Passing your own
CFLAGS (e.g. CFLAGS="-O3 -g") or CONFIGURE_CFLAGS opts out and is preserved
verbatim. -
STUN: dropped a redundant overlapping copy after stun_atoaddr() in both the
lifetime and NAT-type discovery paths. That copy read from the address of the
addrinfo pointer field (overlapping the destination) and overwrote the just-
resolved server address with addrinfo tail bytes; stun_atoaddr() already
writes the resolved address into place. Proposed back upstream.
Compatibility unchanged: LGPL, the public API and headers (installed under
sofia-sip-1.13) and the library soname (libsofia-sip-ua.so.0.6.0) are identical,
so anything built against 2.0.x (or upstream 1.13.x) needs no rebuild.
The README now credits the original Sofia-SIP authors at the Nokia Research
Center (Pekka Pessi, Martti Mela, Kai Vehmanen and contributors) and describes
this fork's lineage and changes.
sofia-sip 2.0.3 - fork version reported by pkg-config
Sofia-SIP 2.0.3.
This release makes pkg-config report the fork release version. Previously
pkg-config --modversion sofia-sip-ua returned 1.13.17 (the upstream base)
even though the tree carried our 2.0.x work; it now returns 2.0.3.
Changes:
- The release version is read from a top-level
.versionfile via
AC_INIT([sofia-sip], m4_esyscmd_s([cat .version])), so future releases are
a one-line edit of.versionplus a re-run ofautogen.shandconfigure.
configure.acno longer hardcodes the number, and.versionis shipped in
make disttarballs (EXTRA_DIST).
Compatibility (drop-in for the whole 2.0.x line):
- The API series include directory stays
sofia-sip-1.13and the library
soname stayslibsofia-sip-ua.so.0.6.0. Headers and ABI are unchanged, so
consumers built against 2.0.1 / 2.0.2 need no rebuild and any-Ipointing at
.../sofia-sip-1.13remains valid. Only the pkg-config version advances.
All warning-clean (GCC 14 / OpenSSL 3) and carrying the seven upstream-proposed
fixes already present in 2.0.2.
sofia-sip 2.0.2 - warning-clean + 7 fixes, for GABPBX
Our Sofia-SIP for GABPBX's chan_sofia. Builds absolutely clean on GCC 14 / OpenSSL 3 (soname unchanged 0.6.0; internal package version stays 1.13.17).
2.0.1 was the GCC 14 / OpenSSL 3 warning cleanup. 2.0.2 adds seven bug fixes on top, each ABI-neutral and each proposed back to freeswitch/sofia-sip:
| Fix | Upstream PR |
|---|---|
sip_parser: fail closed if the message separator can't be allocated (NULL deref) |
#328 |
nta/s2sip test: fix dead tcp/tls transport fallback |
#329 |
tport: send responses on the incoming connection when reuse is off (RFC 3261 §18.2.2) |
#330 |
nua: parse inbound multipart bodies into the request home, not the handle home (memory leak) |
#331 |
su_tagarg: fall back to the va_list copy path under AddressSanitizer (stack-buffer-underflow) |
#332 |
nta: don't abort on an outgoing transaction re-queued without progress |
#333 |
su_timer: skip an expired timer with no callback instead of aborting |
#334 |
No configuration, behaviour or ABI change for a correctly-configured deployment; the changes fix a null deref, a memory leak, a stack-buffer-underflow, an RFC 3261 §18.2.2 response-routing bug, and two process-aborting asserts under load.
sofia-sip 2.0.1 — our warning-clean Sofia-SIP for GABPBX
Our own versioning of the garacil/sofia-sip fork — the Sofia-SIP revision used by GABPBX's chan_sofia channel driver. GABPBX is a fork of Asterisk; chan_sofia is a modern, Sofia-SIP-based drop-in replacement for the aging chan_sip.
A build of Sofia-SIP 1.13.17 that compiles absolutely clean — zero warnings, zero errors — on GCC 14 and OpenSSL 3, with no behavior or ABI change.
Version
- Our release: 2.0.1
- Base: upstream 1.13.17 (
AC_INITunchanged, sopkg-config --modversion sofia-sip-uareports1.13.17and the headers install undersofia-sip-1.13) - soname: libsofia-sip-ua.so.0.6.0 (unchanged — binary drop-in)
What changed (all 25 GCC 14 / OpenSSL 3 warnings → 0)
- Array-parameter bound mismatches (
-Warray-parameter, new in GCC 14): prototype/definition array-of-one / pointer spellings aligned —HEAP_DECLARE/HTABLEmacros andsu_home_stat_add(),bsd_localinfo(),nua_destroy_event(). Array params decay to pointers → no ABI change; public prototypes untouched. - OpenSSL 3.0 deprecations (
-Wdeprecated-declarations): one-shotEVP_Digest/EVP_sha1for the WebSocket-handshake SHA-1; version-gatedERR_func_error_string; DH parameters read as a genericEVP_PKEYand installed withSSL_CTX_set0_tmp_dh_pkey()from 3.0 on (with anEVP_PKEY_is_a("DH")guard and correct ownership), pre-3.0 path unchanged;TLSv1_client_method()→TLS_client_method()bounded to exactly TLS 1.0 in the STUN client. - Const-qualifier discard (
-Wdiscarded-qualifiers): one parser's scan pointers over a mutable buffer. - Unused static declaration (
-Wunused-function): a private prototype moved out of a shared header.
Collaboration
Happy to collaborate with upstream — see freeswitch#326.
Sofia-SIP 1.13.17
Sofia-SIP 1.13.17
This is the exact Sofia-SIP version used by GABPBX.
GABPBX'schan_sofiaSIP channel driver is built and tested against Sofia-SIP v1.13.17, and the
GABPBX documentation pins this tag. Use this release to build a GABPBX that matches the tested stack.
The upstream Sofia-SIP v1.13.17 release, published in this fork
(garacil/sofia-sip, a fork of
freeswitch/sofia-sip) so GABPBX builds are pinned and
reproducible against a known Sofia-SIP version.
Build it into /usr/local before building GABPBX (chan_sofia links against
/usr/local/include/sofia-sip-1.13 and /usr/local/lib/libsofia-sip-ua):
git clone https://github.com/garacil/sofia-sip.git && cd sofia-sip
git checkout v1.13.17 # the version GABPBX chan_sofia is built + tested against
./bootstrap.sh # only if ./configure is missing from the checkout
./configure --prefix=/usr/local
make && sudo make install && sudo ldconfigSofia-SIP is licensed LGPL-2.1; all credit for the library belongs upstream. See
https://github.com/freeswitch/sofia-sip for the canonical project and full history.