Florent, If you could provide a diff -u, remove the vanity comments as they aren’t allowed and we are trying to clean any left out of the tree. Any comments should be in full /* */ no short cuts of // if possible, Post it on jira.freeswitch.org and we’ll review it and provide feedback. Thanks, -- Brian West brian@freeswitch.org FreeSWITCH Solutions, LLC PO BOX 2531 Brookfield, WI 53008-2531 Twitter: @FreeSWITCH , @briankwest http://www.freeswitchbook.com http://www.freeswitchcookbook.com T: +1.918.420.9001 | F: +1.918.420.9002 | M: +1.918.424.WEST iNUM: +883 5100 1420 9001 ISN: 410*543 Skype:briankwest PGP Key: http://www.bkw.org/key.txt (AB93356707C76CED) On Mar 12, 2014, at 12:48 PM, Florent Krieg <fkrieg@sewan.eu> wrote:
Anthony, all,
I wrote a fix this afternoon based on a git master pull (which compiles and works like a charm after some tests). As I haven't done C programming in ages hence I'd be very grateful if one of you could tell me if the patch is very unstable/could cause a lot of troubles, and so on.
Here it is: [user@vm ~]# diff /root/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.h /root/freeswitch_git_test/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.h 952c952 < uint8_t sofia_reg_handle_register_sw(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sip_t const *sip, ---
uint8_t sofia_reg_handle_register(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sip_t const *sip, 955,956c955 < uint32_t keylen, switch_event_t **v_event, const char *is_nat, sofia_private_t **sofia_private_p, switch_xml_t *user_xml, char *sw_acl_token); < #define sofia_reg_handle_register(_nua_, _profile_, _nh_, _sip_, _de_, _regtype_, _key_, _keylen_, _v_event_, _is_nat_, _sofia_private_p_, _user_xml_) sofia_reg_handle_register_sw(_nua_, _profile_, _nh_, _sip_, _de_, _regtype_, _key_, _keylen_, _v_event_, _is_nat_, _sofia_private_p_, _user_xml_, NULL)
uint32_t keylen, switch_event_t **v_event, const char *is_nat, sofia_private_t **sofia_private_p, switch_xml_t *user_xml);
[user@vm ~]# diff /root/freeswitch/src/mod/endpoints/mod_sofia/sofia_reg.c /root/freeswitch_git_test/freeswitch/src/mod/endpoints/mod_sofia/sofia_reg.c 1119c1119 < uint8_t sofia_reg_handle_register_sw(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sip_t const *sip, ---
uint8_t sofia_reg_handle_register(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sip_t const *sip, 1121c1121 < uint32_t keylen, switch_event_t **v_event, const char *is_nat, sofia_private_t **sofia_private_p, switch_xml_t *user_xml, char *sw_acl_token)
uint32_t keylen, switch_event_t **v_event, const char *is_nat, sofia_private_t **sofia_private_p, switch_xml_t *user_xml)
1176,1179d1175 < // FK < char *sw_to_user; < char *sw_reg_host; < 1405,1410d1400 < // FK < if (sw_acl_token) { < switch_split_user_domain(sw_acl_token, &sw_to_user, &sw_reg_host); < to_user = sw_to_user; < reg_host = sw_reg_host; < } 2080,2081d2069 < // FK < char acl_token[512] = ""; 2159,2160d2146 < // FK < const char *token_sw = NULL; 2164c2150 < if (!(ok = switch_check_network_list_ip_token(network_ip, last_acl, &token_sw))) { ---
if (!(ok = switch_check_network_list_ip(network_ip, last_acl))) {
2171,2173d2156 < if (token_sw) { < switch_set_string(acl_token, token_sw); < } 2194c2177 < sofia_reg_handle_register_sw(nua, profile, nh, sip, de, type, key, sizeof(key), &v_event, is_nat, sofia_private_p, NULL, acl_token); ---
sofia_reg_handle_register(nua, profile, nh, sip, de, type, key, sizeof(key), &v_event, is_nat, sofia_private_p, NULL);
I don't mean it to be integrated into FS core, if you don't want it to be. I am just willing to use it for our platform and would like your advices because I am not very confident about the dev done.
Thanks all in advance! Florent