<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
patch pushed to master branch.<br>
<br>
Cheers,<br>
Daniel<br>
<br>
<div class="moz-cite-prefix">On 08/09/14 16:55, Luis Azedo wrote:<br>
</div>
<blockquote
cite="mid:CAEvFzR-Fg7Y-NGBgZyMm1ZK+YNgs0-uSnY=3Phz7z6p021qOeg@mail.gmail.com"
type="cite">
<div dir="ltr">Hi Daniel,
<div><br>
</div>
<div>i'm sorry, i made the changes in 4.0 branch. here's the
reviewed patch for master.</div>
<div><br>
</div>
<div>Thank You</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Sep 8, 2014 at 3:28 PM,
Daniel-Constantin Mierla <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:miconda@gmail.com"
target="_blank">miconda@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hello,<br>
<br>
this patch seems to be against a old version, is not
against against master branch, because:<br>
- it puts the old address of FSF in the license text<br>
- it reverts some patches done lately, like removing the
tcp connection id and some call-id conditions<br>
<br>
Can you double check if you work on master branch and send
the patch for it?<br>
<br>
Cheers,<br>
Daniel
<div>
<div class="h5"><br>
<br>
<div>On 08/09/14 15:06, Luis Azedo wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi Daniel,
<div><br>
</div>
<div>here it is.</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Sep 8, 2014 at
1:25 PM, Daniel-Constantin Mierla <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:miconda@gmail.com"
target="_blank">miconda@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hello,<br>
<br>
this patch is also good in general, so I
will apply it. Can you send it as
attachment? When pasted inline in the email,
the whitespaces are getting broken and patch
is not easy to apply.<br>
<br>
Thanks,<br>
Daniel
<div>
<div><br>
<br>
<div>On 04/09/14 11:52, Luis Azedo
wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">Hi Daniel,
<div><br>
</div>
<div>the insert contact sets the
columns for which there is not
info to null.</div>
<div>i propose not to include those
columns in the insert. </div>
<div>this way is compatible with
dbtext module.</div>
<div><br>
</div>
<div>Best<br>
<div><br>
</div>
<div><br>
</div>
<div>
<div>diff --git
a/modules/usrloc/ucontact.c
b/modules/usrloc/ucontact.c</div>
<div>index eeee451..3bfdb65
100644</div>
<div>---
a/modules/usrloc/ucontact.c</div>
<div>+++
b/modules/usrloc/ucontact.c</div>
<div>@@ -476,131 +476,125 @@</div>
<div> <span
style="white-space:pre-wrap">
</span>return -1;</div>
<div> <span
style="white-space:pre-wrap">
</span>}</div>
<div> </div>
<div> -<span
style="white-space:pre-wrap">
</span>keys[0] =
&user_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[1] =
&contact_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[2] =
&expires_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[3] = &q_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[4] =
&callid_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[5] =
&cseq_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[6] =
&flags_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[7] =
&cflags_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[8] =
&user_agent_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[9] =
&received_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[10] =
&path_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[11] =
&sock_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[12] =
&methods_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[13] =
&last_mod_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[14] =
&ruid_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[15] =
&instance_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[16] =
®_id_col;</div>
<div>-<span
style="white-space:pre-wrap">
</span>keys[17] =
&domain_col;</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[0] =
&user_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[0].type = DB1_STR;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[0].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[0].val.str_val.s =
_c->aor->s;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[0].val.str_val.len
= _c->aor->len;</div>
<div> </div>
<div> +<span
style="white-space:pre-wrap">
</span>keys[1] =
&contact_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[1].type = DB1_STR;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[1].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[1].val.str_val.s =
_c->c.s; </div>
<div> <span
style="white-space:pre-wrap">
</span>vals[1].val.str_val.len
= _c->c.len;</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[2] =
&expires_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[2].type =
DB1_DATETIME;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[2].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[2].val.time_val =
_c->expires;</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[3] = &q_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[3].type =
DB1_DOUBLE;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[3].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[3].val.double_val
= q2double(_c->q);</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[4] =
&callid_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[4].type = DB1_STR;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[4].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[4].val.str_val.s =
_c->callid.s;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[4].val.str_val.len
= _c->callid.len;</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[5] =
&cseq_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[5].type = DB1_INT;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[5].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[5].val.int_val =
_c->cseq;</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[6] =
&flags_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[6].type = DB1_INT;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[6].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[6].val.bitmap_val
= _c->flags;</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[7] =
&cflags_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[7].type = DB1_INT;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[7].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[7].val.bitmap_val
= _c->cflags;</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[8] =
&user_agent_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[8].type = DB1_STR;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[8].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[8].val.str_val.s =
_c->user_agent.s;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[8].val.str_val.len
= _c->user_agent.len;</div>
<div> </div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[9].type = DB1_STR;</div>
<div>-<span
style="white-space:pre-wrap">
</span>if (_c->received.s
== 0) {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[9].nul = 1;</div>
<div>-<span
style="white-space:pre-wrap">
</span>} else {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[9].nul = 0;</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[9].val.str_val.s =
_c->received.s;</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[9].val.str_val.len
= _c->received.len;</div>
<div>+<span
style="white-space:pre-wrap">
</span>nr_cols = 9;</div>
<div>+</div>
<div>+<span
style="white-space:pre-wrap">
</span>if (_c->received.s )
{</div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
&received_col;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_STR;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.str_val.s
= _c->received.s;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.str_val.len
= _c->received.len;</div>
<div> +<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> <span
style="white-space:pre-wrap">
</span>}</div>
<div> <span
style="white-space:pre-wrap">
</span></div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[10].type =
DB1_STR;</div>
<div>-<span
style="white-space:pre-wrap">
</span>if (_c->path.s == 0)
{</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[10].nul = 1;</div>
<div>-<span
style="white-space:pre-wrap">
</span>} else {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[10].nul = 0;</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[10].val.str_val.s
= _c->path.s;</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[10].val.str_val.len
= _c->path.len;</div>
<div>+<span
style="white-space:pre-wrap">
</span>if (_c->path.s) {</div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
&path_col;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_STR;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.str_val.s
= _c->path.s;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.str_val.len
= _c->path.len;</div>
<div>+<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> <span
style="white-space:pre-wrap">
</span>}</div>
<div> </div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[11].type =
DB1_STR;</div>
<div> <span
style="white-space:pre-wrap">
</span>if (_c->sock) {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[11].val.str_val =
_c->sock->sock_str;</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[11].nul = 0;</div>
<div>-<span
style="white-space:pre-wrap">
</span>} else {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[11].nul = 1;</div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
&sock_col;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_STR;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.str_val
= _c->sock->sock_str;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div>+<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> <span
style="white-space:pre-wrap">
</span>}</div>
<div> </div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[12].type =
DB1_BITMAP;</div>
<div>-<span
style="white-space:pre-wrap">
</span>if (_c->methods ==
0xFFFFFFFF) {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[12].nul = 1;</div>
<div>-<span
style="white-space:pre-wrap">
</span>} else {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[12].val.bitmap_val
= _c->methods;</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[12].nul = 0;</div>
<div>+<span
style="white-space:pre-wrap">
</span>if (_c->methods !=
0xFFFFFFFF) {</div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
&methods_col;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_BITMAP;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.bitmap_val
= _c->methods;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div>+<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> <span
style="white-space:pre-wrap">
</span>}</div>
<div> </div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[13].type =
DB1_DATETIME;</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[13].nul = 0;</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[13].val.time_val =
_c->last_modified;</div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
&last_mod_col;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_DATETIME;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div>+<span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.time_val
= _c->last_modified;</div>
<div>+<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> </div>
<div>-<span
style="white-space:pre-wrap">
</span>nr_cols = 14;</div>
<div> </div>
<div> <span
style="white-space:pre-wrap">
</span>if(_c->ruid.len>0)</div>
<div> <span
style="white-space:pre-wrap">
</span>{</div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
&ruid_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_STR;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.str_val
= _c->ruid;</div>
<div>-<span
style="white-space:pre-wrap">
</span>} else {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 1;</div>
<div>+<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> <span
style="white-space:pre-wrap">
</span>}</div>
<div>-<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> </div>
<div> <span
style="white-space:pre-wrap">
</span>if(_c->instance.len>0)</div>
<div> <span
style="white-space:pre-wrap">
</span>{</div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
&instance_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_STR;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.str_val
= _c->instance;</div>
<div>-<span
style="white-space:pre-wrap">
</span>} else {</div>
<div>-<span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 1;</div>
<div>+<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> <span
style="white-space:pre-wrap">
</span>}</div>
<div>-<span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> </div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
®_id_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_INT;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].val.int_val
= (int)_c->reg_id;</div>
<div> <span
style="white-space:pre-wrap">
</span>nr_cols++;</div>
<div> </div>
<div> <span
style="white-space:pre-wrap">
</span>if (use_domain) {</div>
<div>+<span
style="white-space:pre-wrap">
</span>keys[nr_cols] =
&domain_col;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].type =
DB1_STR;</div>
<div> <span
style="white-space:pre-wrap">
</span>vals[nr_cols].nul = 0;</div>
<div> </div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<pre>_______________________________________________
sr-dev mailing list
<a moz-do-not-send="true" href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a>
<a moz-do-not-send="true" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><span><font color="#888888">
</font></span></pre>
<span><font color="#888888"> </font></span></blockquote>
<span><font color="#888888"> <br>
<pre cols="72">--
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Next Kamailio Advanced Trainings 2014 - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Sep 22-25, Berlin, Germany</pre>
</font></span></div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Next Kamailio Advanced Trainings 2014 - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Sep 22-25, Berlin, Germany</pre>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Next Kamailio Advanced Trainings 2014 - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
Sep 22-25, Berlin, Germany</pre>
</body>
</html>