[OpenSIPS-Devel] [opensips] mi_xmlrpc_ng suppresses \r\n (#537)

Stas Kobzar notifications at github.com
Thu Jun 11 21:48:08 CEST 2015


@ovidiusas sorry, still have issues.
```
# opensips -V
version: opensips 1.11.5-notls (x86_64/linux)
flags: STATS: On, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
git revision: ca2711a
main.c compiled on 15:06:08 Jun 11 2015 with gcc 4.4.7
``` 

When I escape "\r" with "
", like this: 
```
headers="From: <sip:7010 at voip.etsmtl.ca>;tag=8755a8d01aa27e903a6f4ccaf393f04&#13;\nTo: <sip:7010 at voip.etsmtl.ca>&#13;\nEvent: check-sync&#13;\n"
```
I have error:
```
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: START *** cls=(nil), connection=0x19c0180, url=/RPC2, method=POST, versio=HTTP/1.0, upload_data[0]=(nil), *con_cls=(nil)
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: running MHD_create_post_processor
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: START *** cls=(nil), connection=0x19c0180, url=/RPC2, method=POST, versio=HTTP/1.0, upload_data[546]=0x19c7054, *con_cls=0x7fa1ea364d18
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: NOT a regular POST :o)
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:getConnectionHeader: Content-Type=text/xml
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:getConnectionHeader: Content-Length=546
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: got ContentType [1] with len [546]: <?xml version='1.0'?>#012<methodCall>#012<methodName>t_uac_dlg</methodName>#012<params>#012<param>#012<value><string>NOTIFY</string></value>#012</param>#012<param>#012<value><string>sip:7010 at campus.voip.etsmtl.ca</string></value>#012</param>#012<param>#012<value><string>.</string></value>#012</param>#012<param>#012<value><string>.</string></value>#012</param>#012<param>#012<value><string>From: &lt;sip:7010 at voip.etsmtl.ca&gt;;tag=8755a8d01aa27e903a6f4ccaf393f04&amp;#13;#012To: &lt;sip:7010 at voip.etsmtl.ca&gt;&amp;#13;#012Event: check-sync&amp;#13;#012</string></value>#012</param>#012</params>#012</methodCall>#012\n
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: START *** cls=(nil), connection=0x19c0180, url=/RPC2, method=POST, versio=HTTP/1.0, upload_data[0]=(nil), *con_cls=0x7fa1ea364d18
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: normalised_url=[]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_answer_to_connection: START *** cls=(nil), connection=0x19c0180, url=, method=POST, versio=HTTP/1.0, upload_data[0]=(nil), *con_cls=0x7fa1ea364d50
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:httpd_get_val: DATA=[0x7fa1ea364d98] [0x7fa1ea364db8][0x7fa1ea364db9] [1]->[<?xml version='1.0'?>#012<methodCall>#012<methodName>t_uac_dlg</methodName>#012<params>#012<param>#012<value><string>NOTIFY</string></value>#012</param>#012<param>#012<value><string>sip:7010 at campus.voip.etsmtl.ca</string></value>#012</param>#012<param>#012<value><string>.</string></value>#012</param>#012<param>#012<value><string>.</string></value>#012</param>#012<param>#012<value><string>From: &lt;sip:7010 at voip.etsmtl.ca&gt;;tag=8755a8d01aa27e903a6f4ccaf393f04&amp;#13;#012To: &lt;sip:7010 at voip.etsmtl.ca&gt;&amp;#13;#012Event: check-sync&amp;#13;#012</string></value>#012</param>#012</params>#012</methodCall>#012]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got methodName=t_uac_dlg
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_build_async_handler: hdl [0x7fa1c2b40210], hdl->param [0x7fa1c2b40228], *hdl->param [(nil)] mi_xmlrpc_http_lock=[0x7fa1c29b1880]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [NOTIFY]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [sip:7010 at campus.voip.etsmtl.ca]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [.]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [.]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [From: <sip:7010 at voip.etsmtl.ca>;tag=8755a8d01aa27e903a6f4ccaf393f04&#13;#012To: <sip:7010 at voip.etsmtl.ca>&#13;#012Event: check-sync&#13;#012]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:core:parse_headers: flags=ffffffffffffffff
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:core:parse_to: spitting out [&] in status 10
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: ERROR:core:get_hdr_field: bad to header
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:core:set_err_info: ec: 1, el: 3, ei: 'error parsing To header'
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:core:get_hdr_field: error exit
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: INFO:core:parse_headers: bad header field
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got mi_rpl=[0x7fa1ea364ff8]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_answer_to_connection: building on page [0x7fa1ea2e4d00:0]
Jun 11 15:35:36 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_build_header: return code: 400
```

When I escape both \r and \n with "&amp;#13;&amp;#10;" , like this:
```
headers="From: <sip:7010 at voip.etsmtl.ca>;tag=8755a8d01aa27e903a6f4ccaf393f04&#13;&#10;To: <sip:7010 at voip.etsmtl.ca>&#13;&#10;Event: check-sync&#13;&#10;"
```

I have this in the logs:
```
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: got ContentType [1] with len [570]: <?xml version='1.0'?>#012<methodCall>#012<methodName>t_uac_dlg</methodName>#012<params>#012<param>#012<value><string>NOTIFY</string></value>#012</param>#012<param>#012<value><string>sip:7010 at campus.voip.etsmtl.ca</string></value>#012</param>#012<param>#012<value><string>.</string></value>#012</param>#012<param>#012<value><string>.</string></value>#012</param>#012<param>#012<value><string>From: &lt;sip:7010 at voip.etsmtl.ca&gt;;tag=8755a8d01aa27e903a6f4ccaf393f04&amp;#13;&amp;#10;To: &lt;sip:7010 at voip.etsmtl.ca&gt;&amp;#13;&amp;#10;Event: check-sync&amp;#13;&amp;#10;</string></value>#012</param>#012</params>#012</methodCall>#012\n
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: START *** cls=(nil), connection=0x19c0180, url=/RPC2, method=POST, versio=HTTP/1.0, upload_data[0]=(nil), *con_cls=0x7fa1ea364d18
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: normalised_url=[]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_answer_to_connection: START *** cls=(nil), connection=0x19c0180, url=, method=POST, versio=HTTP/1.0, upload_data[0]=(nil), *con_cls=0x7fa1ea364d50
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:httpd_get_val: DATA=[0x7fa1ea365648] [0x7fa1ea365668][0x7fa1ea365669] [1]->[<?xml version='1.0'?>#012<methodCall>#012<methodName>t_uac_dlg</methodName>#012<params>#012<param>#012<value><string>NOTIFY</string></value>#012</param>#012<param>#012<value><string>sip:7010 at campus.voip.etsmtl.ca</string></value>#012</param>#012<param>#012<value><string>.</string></value>#012</param>#012<param>#012<value><string>.</string></value>#012</param>#012<param>#012<value><string>From: &lt;sip:7010 at voip.etsmtl.ca&gt;;tag=8755a8d01aa27e903a6f4ccaf393f04&amp;#13;&amp;#10;To: &lt;sip:7010 at voip.etsmtl.ca&gt;&amp;#13;&amp;#10;Event: check-sync&amp;#13;&amp;#10;</string></value>#012</param>#012</params>#012</methodCall>#012]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got methodName=t_uac_dlg
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_build_async_handler: hdl [0x7fa1c2bf7998], hdl->param [0x7fa1c2bf79b0], *hdl->param [(nil)] mi_xmlrpc_http_lock=[0x7fa1c29b1880]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [NOTIFY]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [sip:7010 at campus.voip.etsmtl.ca]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [.]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [.]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got string param [From: <sip:7010 at voip.etsmtl.ca>;tag=8755a8d01aa27e903a6f4ccaf393f04&#13;&#10;To: <sip:7010 at voip.etsmtl.ca>&#13;&#10;Event: check-sync&#13;&#10;]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:core:parse_headers: flags=ffffffffffffffff
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: ERROR:core:get_hdr_field: bad body for <From: <sip:7010 at voip.etsmtl.ca>;tag=8755a8d01aa27e903a6f4ccaf393f04&#13;&#10;To: <sip:7010 at voip.etsmtl.ca>&#13;&#10;Event: check-sync&#13;&#10;>(4)
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:core:set_err_info: ec: 1, el: 3, ei: 'error parsing headers'
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:core:get_hdr_field: error exit
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: INFO:core:parse_headers: bad header field
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_run_mi_cmd: got mi_rpl=[0x7fa1ea365318]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_answer_to_connection: building on page [0x7fa1ea2e4d00:0]
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:mi_xmlrpc_ng:mi_xmlrpc_http_build_header: return code: 400
Jun 11 15:44:02 grannos01 /opt/opensips/sbin/opensips[19851]: DBG:httpd:answer_to_connection: MHD_create_response_from_data [0x7fa1ea2e4d00:147]
```


---
Reply to this email directly or view it on GitHub:
https://github.com/OpenSIPS/opensips/issues/537#issuecomment-111257358
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/devel/attachments/20150611/45f813c3/attachment-0001.htm>


More information about the Devel mailing list