Skip to content

Building master cleanly on GCC 14 / OpenSSL 3 — warning fixes (used in our GABPBX/Asterisk SIP driver) #326

Description

@garacil

Hi Sofia-SIP maintainers,

We maintain a Sofia-SIP-based SIP channel driver, chan_sofia, for GABPBX (a fork of Asterisk): https://github.com/garacil/gabpbx — a modern drop-in replacement for the aging chan_sip, built directly on Sofia-SIP's NUA/NTA/tport (including the WebRTC transport and HEP capture — #324's after-parse HEP capture is exactly what we rely on).

Building master on GCC 14.2 against OpenSSL 3.x currently emits 25 warnings. In our fork we fixed all of them so the library compiles absolutely clean (0 warnings / 0 errors), with no behavior or ABI change (soname unchanged, 0.6.0):

  • -Warray-parameter (new in GCC 14): aligned prototype/definition spellings of array-of-one / pointer params (HEAP_DECLARE/HTABLE macros, su_home_stat_add, bsd_localinfo, nua_destroy_event). Array params decay to pointers → no ABI change.
  • -Wdeprecated-declarations (OpenSSL 3.0): one-shot EVP_Digest/EVP_sha1 for the WebSocket-handshake SHA-1; version-gated ERR_func_error_string; DH params read as EVP_PKEY + SSL_CTX_set0_tmp_dh_pkey from 3.0 (with an EVP_PKEY_is_a("DH") guard and correct ownership), pre-3.0 path unchanged; TLSv1_client_methodTLS_client_method bounded to exactly TLS 1.0 in the STUN client.
  • -Wdiscarded-qualifiers: a parser's scan pointers over a mutable buffer.
  • -Wunused-function: a stray static prototype in a shared header.

Changes as a single reviewable commit + tagged release:

We'd be glad to open a PR upstream if you'd like these, and happy to help with anything else — feel free to reach out. Thanks for Sofia-SIP; it's the backbone of our SIP stack.

— Germán Luis Aracil Boned

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions