[OpenSIPS-Devel] [OpenSIPS/opensips] a2dd10: Add a "struct ucontact_info" logging function

Liviu Chircu liviu at opensips.org
Thu Jan 4 10:07:52 EST 2018


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: a2dd10a49b2557c1343cd87c364a1144e9ea7118
      https://github.com/OpenSIPS/opensips/commit/a2dd10a49b2557c1343cd87c364a1144e9ea7118
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

  Changed paths:
    M lib/reg/ci.c
    M lib/reg/ci.h

  Log Message:
  -----------
  Add a "struct ucontact_info" logging function


  Commit: 86628e6d418ed72d159ebb1b055b86daca0c4f6e
      https://github.com/OpenSIPS/opensips/commit/86628e6d418ed72d159ebb1b055b86daca0c4f6e
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

  Changed paths:
    M modules/mid_registrar/Makefile
    M modules/mid_registrar/mid_registrar.c
    M modules/mid_registrar/mid_registrar.h
    M modules/mid_registrar/save.c

  Log Message:
  -----------
  mid_registrar: Fix a PKG memory leak

Although the TMCB_RESPONSE_IN callback provides a reference to the initial
request during reply processing, this sip_msg must not be parsed (i.e. passed
to parse_headers()), otherwise we leak PKG memory, since parsing is
PKG-based, while the request buffer is copied in SHM.

The current workaround for mid_registrar is to immediately duplicate all
contact-related data we could possibly need, should the contact successfully
register on the downstream registrar. This copying takes place during request
processing. Once the reply arrives, we only make use of this info in order to
store the contact in usrloc, and barely even use the "req" sip_msg
provided by tm.


Compare: https://github.com/OpenSIPS/opensips/compare/bf4ce8e30dc8...86628e6d418e


More information about the Devel mailing list