Commit fa7eb2a switched the 2 parameter version of sip_trace from using the builtin fixup_spve_spve to the custom fixup method to using the custom fixup_siptrace. As it is a custom fixup method, the corresponding free method can not be auto-detected causing the config parser to require the parameters to be a constant. This patch adds a free method, allowing variables to be once again passed as the 2nd parameter of this method (as well as fixing a memory leak for the 3rd parameter).
<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [ ] Commit message has the format required by CONTRIBUTING guide - [ ] Commits are split per component (core, individual modules, libs, utils, ...) - [ ] Each component has a single commit (if not, squash them into one commit) - [ ] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [x] Small bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [ ] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description <!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2588
-- Commit Summary --
* modules/siptrace: fix regression preventing variables to be used
-- File Changes --
M src/modules/siptrace/siptrace.c (18)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2588.patch https://github.com/kamailio/kamailio/pull/2588.diff
@tsearle pushed 1 commit.
b668051db52cd03d4f45fd66d29d3cf5d348fb3b change free for parameter 3
Thanks, I am going to merge it, but the leak is about using the function from kemi with the `KSR.x.modf()`? Or, if you used in native kamailio.cfg, what kind of parameters did you provide? Fixup is done usually only once at startup, and free fixup at shutdown.
Merged #2588 into master.
kamailio.cfg was used as follows sip_trace("sip:ip:port", $(ci{s.substr,0,26})); it would result in the following error on startup function sip_trace: parameter 2 is not constant
That style was inherited from SER with the merge in 2008, the traditional Kamailio style is to enclose in quotes the parameters fixed up with `fixup_spve`, like:
``` sip_trace("sip:ip:port", "$(ci{s.substr,0,26})") ```
The parameter is evaluated and variables inside are replaced.