[OpenSER-Devel] urgent mi_datagram problem

Juha Heinanen jh at tutpro.com
Mon Jul 2 16:19:16 CEST 2007


i'm testing the new mi_datagram interface and have run into trouble,
because openser/sems unix socket interface has stopped working.  in
order to get back to life, i'm trying to modify sems to send the mi
requests according to new openser syntax.

when openser receives from sems r_reply command:

Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG: mi_datagram: mi_datagram_server: process 28119 has received :t_reply: 200 OK 6:733512644 5E172DC5-4687DF81000BCA21-B7CD66D0 "" 

openser reports a missing newline error (see below) although 
according to mi_datagram/README, the last argument is not followed by
newline:

     * argument_list = (argument '\n')* argument 

looking at the code it may be that mi_datagram module doesn't handle
correctly empty quoted string "".

i'm badly stuck because sems has stopped working foe me and would like
to get this resolved soon. any comments from Andreea-Ancuta or others?

-- juha

Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG: mi_datagram: mi_datagram_server: process 28119 has received :t_reply: 200 OK 6:733512644 5E172DC5-4687DF81000BCA21-B7CD66D0 "" 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi-datagram:mi_datagram_server: mi_buf is :t_reply: 200 OK 6:733512644 5E172DC5-4687DF81000BCA21-B7CD66D0 "" and we have received 66 bytes 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:datagram_fnc:identify_command: the command starts here: t_reply: 200 OK 6:733512644 5E172DC5-4687DF81000BCA21-B7CD66D0 "" 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:datagram_fnc:identify_command: the command is t_reply 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:identify_command: dtgram->len is 66 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:identify_command: dtgram->len is 56 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG: datagram:mi_datagram_server: the function identify_command exited with the value 0 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:datagram_fnc:mi_datagram_server: we have a valid command  
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:datagram_fnc:mi_datagram_server: after identifing the command, the received datagram is  200 OK 6:733512644 5E172DC5-4687DF81000BCA21-B7CD66D0 "" 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:datagram_fnc:mi_datagram_server: parsing the function's params 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_tree: the remaining datagram tobe parsed is 200 OK 6:733512644 5E172DC5-4687DF81000BCA21-B7CD66D0 "" and 56 in length  
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram_parser:mi_parse_node: the string is not just a quoted string 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram_parser:mi_parse_node: found newline before attr_separator--we have just the attribute's value 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: the value's length is 3 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: empty name, attr not quoted value <200> found 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:mi_datagram_parser:1 data->len is 56 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:mi_datagram_parser:2 data->len is 52 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: INFO:mi_datagram:mi_parse_tree: adding node <> ; val<200> 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG: mi_datagram:mi_datagram_parse_tree: the remaining datagram has 52 bytes 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_tree: the remaining datagram tobe parsed is OK 6:733512644 5E172DC5-4687DF81000BCA21-B7CD66D0 "" and 52 in length  
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram_parser:mi_parse_node: the string is not just a quoted string 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram_parser:mi_parse_node: found newline before attr_separator--we have just the attribute's value 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: the value's length is 2 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: empty name, attr not quoted value <OK> found 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:mi_datagram_parser:1 data->len is 52 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:mi_datagram_parser:2 data->len is 49 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: INFO:mi_datagram:mi_parse_tree: adding node <> ; val<OK> 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG: mi_datagram:mi_datagram_parse_tree: the remaining datagram has 49 bytes 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_tree: the remaining datagram tobe parsed is 6:733512644 5E172DC5-4687DF81000BCA21-B7CD66D0 "" and 49 in length  
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram_parser:mi_parse_node: the string is not just a quoted string 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram_parser:mi_parse_node: found newline before attr_separator--we have just the attribute's value 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: the value's length is 11 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: empty name, attr not quoted value <6:733512644> found 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:mi_datagram_parser:1 data->len is 49 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:mi_datagram_parser:2 data->len is 37 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: INFO:mi_datagram:mi_parse_tree: adding node <> ; val<6:733512644> 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG: mi_datagram:mi_datagram_parse_tree: the remaining datagram has 37 bytes 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_tree: the remaining datagram tobe parsed is 5E172DC5-4687DF81000BCA21-B7CD66D0 "" and 37 in length  
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram_parser:mi_parse_node: the string is not just a quoted string 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram_parser:mi_parse_node: found newline before attr_separator--we have just the attribute's value 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: the value's length is 34 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: empty name, attr not quoted value <5E172DC5-4687DF81000BCA21-B7CD66D0> found 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:mi_datagram_parser:1 data->len is 37 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: mi_datagram:mi_datagram_parser:2 data->len is 2 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: INFO:mi_datagram:mi_parse_tree: adding node <> ; val<5E172DC5-4687DF81000BCA21-B7CD66D0> 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG: mi_datagram:mi_datagram_parse_tree: the remaining datagram has 2 bytes 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_tree: the remaining datagram tobe parsed is "" and 2 in length  
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: DBG:mi_datagram:mi_parse_node: we have a  quoted value, "" 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: ERROR: mi_datagram:mi_datagram_parse_node: didn't find newline case2 
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: ERROR:mi_datagram_parser:mi_parse_node: parse error around 
Jul  1 20:08:28 localhost  
Jul  1 20:08:28 localhost /usr/sbin/sems_openser[28119]: ERROR:mi_datagram:mi_parse_tree: Parse error! 



More information about the Devel mailing list