Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 913f04ff135624317fdc5eaec98a66d981187293
      
https://github.com/OpenSIPS/opensips/commit/913f04ff135624317fdc5eaec98a66d981187293
  Author: Giovanni Maruzzelli <[email protected]>
  Date:   2026-10-07 (Wed, 07 Oct 2026)

  Changed paths:
    M modules/tls_mgm/tls_mgm.c

  Log Message:
  -----------
  tls_mgm: run tls_mgm:reload's SSL_CTX build/free in TCP main

Since 11aa15d1b9 (TCP/TLS in a single process) the SSL_CTX of every TLS
domain is created in TCP main's private (libc) heap at child_init, but
tls_mgm:reload still runs init_tls_domains() and tls_free_db_domains()
in the MI process. The new domains (shm) therefore carry SSL_CTX pointers
that are valid only in the MI process, and the old SSL_CTX (TCP main's)
is SSL_CTX_free()d from the MI process. Result: a crash in free() inside
the MI process during the reload, or - when that free happens not to
fault - a crash in SSL_new() in TCP main on the next accepted TLS/WSS
connection.

Keep the DB load in the MI process, then hand the loaded domains to TCP
main over IPC and do the SSL_CTX init, the swap and the free of the old
domains there, waiting synchronously for the result.



To unsubscribe from these emails, change your notification settings at 
https://github.com/OpenSIPS/opensips/settings/notifications

_______________________________________________
Devel mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

Reply via email to