- adds a default value for when there is no call-id in the req struct.
- reported in #2803
<!-- 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 -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] 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 -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [x] Related to issue #2803
#### Description
<!-- Describe your changes in detail -->
In some cases the callid field of the msg structure doesn't get initialized. In the case the dlg_onroute function is called with this msg and the dialog is not found a warning message is printed using the LM_WARN macro. This logger is called with a req->callid as argument and when this is null a segmentation fault happens. I added a small default value for this case.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2878
-- Commit Summary --
* <a href="https://github.com/kamailio/kamailio/pull/2878/commits/1a9c0c930c009e09853c…">dialog: fix dlg_onroute</a>
-- File Changes --
M src/modules/dialog/dlg_handlers.c (10)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2878.patchhttps://github.com/kamailio/kamailio/pull/2878.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/2878
- adds header parser to fill headers in msg structure. msg gets copied
but many of the headers don't when msg_apply_changes is called.
- reported in #2803
<!-- 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 -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] 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 -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [x] Related to issue #2803
#### Description
adds header parser to fill headers in msg structure. msg gets copied
but many of the headers don't get filled when msg_apply_changes is called. This can cause segmentation fault by calling null pointers.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2877
-- Commit Summary --
* <a href="https://github.com/kamailio/kamailio/pull/2877/commits/a3a351c8b76abdd3da73…">core: fixup sip_msg_apply_changes</a>
-- File Changes --
M src/core/msg_translator.c (8)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2877.patchhttps://github.com/kamailio/kamailio/pull/2877.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/2877
Module: kamailio
Branch: master
Commit: 7f6248d15e8830d80cc7a898ee53754be2dc76be
URL: https://github.com/kamailio/kamailio/commit/7f6248d15e8830d80cc7a898ee53754…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2021-10-12T22:19:37+02:00
htable: docs for iterator sets and seti functions
---
Modified: src/modules/htable/doc/htable_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/7f6248d15e8830d80cc7a898ee53754…
Patch: https://github.com/kamailio/kamailio/commit/7f6248d15e8830d80cc7a898ee53754…
---
diff --git a/src/modules/htable/doc/htable_admin.xml b/src/modules/htable/doc/htable_admin.xml
index 6793bff435..dca7cd279a 100644
--- a/src/modules/htable/doc/htable_admin.xml
+++ b/src/modules/htable/doc/htable_admin.xml
@@ -1116,6 +1116,56 @@ sht_iterator_end("i1");
}
sht_iterator_end("i1");
...
+</programlisting>
+ </example>
+ </section>
+ <section id="htable.f.sht_iterator_sets">
+ <title>
+ <function moreinfo="none">sht_iterator_sets(iname, sval)</function>
+ </title>
+ <para>
+ Set the value of the current item to the string in the sval.
+ </para>
+ <para>
+ The parameters can be dynamic strings with variables.
+ </para>
+ <para>
+ This function can be used from ANY_ROUTE.
+ </para>
+ <example>
+ <title><function>sht_iterator_sets</function> usage</title>
+ <programlisting format="linespecific">
+...
+ sht_iterator_start("i1", "h1");
+ sht_iterator_next("i1");
+ sht_iterator_sets("i1", "$ci");
+ sht_iterator_end("i1");
+...
+</programlisting>
+ </example>
+ </section>
+ <section id="htable.f.sht_iterator_seti">
+ <title>
+ <function moreinfo="none">sht_iterator_seti(iname, ival)</function>
+ </title>
+ <para>
+ Set the value of the current item to the integer in the ival.
+ </para>
+ <para>
+ The parameters can be dynamic strings or integers with variables.
+ </para>
+ <para>
+ This function can be used from ANY_ROUTE.
+ </para>
+ <example>
+ <title><function>sht_iterator_seti</function> usage</title>
+ <programlisting format="linespecific">
+...
+ sht_iterator_start("i1", "h1");
+ sht_iterator_next("i1");
+ sht_iterator_seti("i1", "20");
+ sht_iterator_end("i1");
+...
</programlisting>
</example>
</section>
### Description
In my config used `msrp` and `tls` modules.
When MSRP client is connected using TCP socket (not TLS), then `$msrp(srcaddr)` always returns "msrps" URL.
When used TCP socket, then must be returned "msrp" URL. And no matter TLS module is loaded or not.
[Relevant code](https://github.com/kamailio/kamailio/blob/d737c876cc36b4de802da77dfcd…
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2881
#### 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 -->
- [X] Commit message has the format required by CONTRIBUTING guide
- [X] Commits are split per component (core, individual modules, libs, utils, ...)
- [X] Each component has a single commit (if not, squash them into one commit)
- [X] 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
- [X] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
It has been noticed, that after a list of contributions into lcr:
* 14e6fc80b3d2389567c73c4a2196bf8e6d92d8d2
* d8583d6ce1748c1ac8494616fced507b01dd4375
* 470fd5b8bedca56efcc5e6aa0225089fe3857ac9
* aa8d3ed4fe20efbd22db3b0b01a655789afa8818
the gateways matching when a search is being done based on
the IP address and the src_port (through the array of GWs **with the same IP**)
works, but not fully correct.
It is only related to the usage with the third parameter 'src_port',
when calling from_gw() and from_any_gw(), and, only when the search
is done through the gateways array, which have **the same IP address**
,but different ports (let's say one has 30 GWs with the same IP in the lcr_gw).
If gateways have different IPs, the issue is not catchable.
The problem is in the algorithm used for matching based on
two objects (ip_addr and src_port) - the binary search.
It's not fully suitable for a search based on two (or more) objects.
The binary works completely fine, when only one object is used for searching,
but works not fully correct when the search is based on a comparison
of two (or more) objects. A division happening based on the value of
the first object, gives a chance that the second object will never
be found in the current half being looked up.
This commit concerns switching to a full cycling through the array of
gateways of the same lcr_id, and gives a proper work of the do_from_gw().
The slight drawback of the new method is that we have to do a cycling
through the whole array of GWs **of the same lcr_id**, but on the other hand
it is much more efficient than trying to build up a matching using binary search
based on two objects (ip_addr and src_port) being used for comparison.
If we had to build this using bsearch() as well, then we would have to:
- first prepare a sorted array of the gateways with the same IP (sorted in terms of ports)
,which already means with have to go through the whole GWs array to catch all needed GWs ;
- do a bsearch() based on src_port only (using previously prepared sorted array) ;
Which looks similar **to the full cycling** in terms of CPU resource consumption.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2876
-- Commit Summary --
* <a href="https://github.com/kamailio/kamailio/pull/2876/commits/7f02e89622d6e9294906…">lcr: improve the search for GW when both IP address and src_port are used</a>
-- File Changes --
M src/modules/lcr/lcr_mod.c (39)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2876.patchhttps://github.com/kamailio/kamailio/pull/2876.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/2876