Hmm, you may have a point - working backwards, we only call
parse_headers(msg, HDR_EOH_F, 0) - which does not include From header,
right?
On 30 January 2015 at 15:00, Daniel-Constantin Mierla <miconda(a)gmail.com>
wrote:
parse_from_header() should do nothing if the From
header is found parsed.
I am not sure if this alone is solving the issue properly. Maybe the From
was not parsed in the first place, before cloning...
Cheers,
Daniel
On Fri, Jan 30, 2015 at 3:09 PM, Charles Chance <
charles.chance(a)sipcentric.com> wrote:
Module: kamailio
Branch: master
Commit: 102504294f9edaaee9d4baea873d4ed9151b8fed
URL:
https://github.com/kamailio/kamailio/commit/102504294f9edaaee9d4baea873d4ed…
Author: Charles Chance <charles.chance(a)sipcentric.com>
Committer: Charles Chance <charles.chance(a)sipcentric.com>
Date: 2015-01-30T14:08:01Z
dmq: do not parse From header again, since it was done already prior to
cloning msg.
- introduces a memory leak if not manually freed
- but there is no need to parse it again anyway
- discovered by Andrey Rybkin
---
Modified: modules/dmq/worker.c
---
Diff:
https://github.com/kamailio/kamailio/commit/102504294f9edaaee9d4baea873d4ed…
Patch:
https://github.com/kamailio/kamailio/commit/102504294f9edaaee9d4baea873d4ed…
---
diff --git a/modules/dmq/worker.c b/modules/dmq/worker.c
index 8426730..ca1b3dc 100644
--- a/modules/dmq/worker.c
+++ b/modules/dmq/worker.c
@@ -91,11 +91,11 @@ void worker_loop(int id)
current_job = job_queue_pop(worker->queue);
/* job_queue_pop might return NULL if queue is
empty */
if(current_job) {
- /* extract the from uri */
- if (parse_from_header(current_job->msg) <
0) {
- LM_ERR("bad sip message or
missing From hdr\n");
- } else {
+ /* attempt to identify node based on from
uri */
+ if (current_job->msg->from->parsed) {
dmq_node =
find_dmq_node_uri(node_list, &((struct
to_body*)current_job->msg->from->parsed)->uri);
+ } else {
+ LM_ERR("bad sip message or
missing From hdr\n");
}
ret_value =
current_job->f(current_job->msg, &peer_response, dmq_node);
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
--
Daniel-Constantin Mierla -
http://www.asipto.com
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/micond
<http://www.linkedin.com/in/miconda>
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
--
*Charles Chance*
Managing Director
t. 0121 285 4400 m. 07932 063 891
--
www.sipcentric.com
Follow us on twitter @sipcentric <http://twitter.com/sipcentric>
Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered
office: Faraday Wharf, Innovation Birmingham Campus, Holt Street,
Birmingham Science Park, Birmingham B7 4BB.