Skip to content

sofia-sip 2.0.1 — our warning-clean Sofia-SIP for GABPBX

Choose a tag to compare

@garacil garacil released this 05 Jul 19:05

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_INIT unchanged, so pkg-config --modversion sofia-sip-ua reports 1.13.17 and the headers install under sofia-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/HTABLE macros and su_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-shot EVP_Digest/EVP_sha1 for the WebSocket-handshake SHA-1; version-gated ERR_func_error_string; DH parameters read as a generic EVP_PKEY and installed with SSL_CTX_set0_tmp_dh_pkey() from 3.0 on (with an EVP_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.