[asterisk-dev] [Code Review] 4185: sorcery: Make ast_sorcery_is_object_field_registered handle field names that are regexes.

George Joseph reviewboard at asterisk.org
Thu Nov 20 12:17:17 CST 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4185/
-----------------------------------------------------------

(Updated Nov. 20, 2014, 11:17 a.m.)


Review request for Asterisk Developers, Joshua Colp and Mark Michelson.


Changes
-------

Changed r_name to name_regex.
Added define MAX_REGEX_ERROR_LEN.
Now testing for exact match first, then regex if failed.
Added unit test to test_sorcery.


Bugs: ASTERISK-24520
    https://issues.asterisk.org/jira/browse/ASTERISK-24520


Repository: Asterisk


Description
-------

As a result of https://reviewboard.asterisk.org/r/3305, res_sorcery_realtime was tossing database fields that didn't have an exact match to a sorcery registered field.  This broke the ability to use regexes as field names which manifested itself as a failure of res_pjsip_phoneprov_provider which uses this capability.  It also broke handling of fields that start with '@' in realtime but I don't think anyone noticed.

This patch does the following...
Modifies ast_sorcery_fields_register to pre-compile the name regex.
Modifies ast_sorcery_is_object_field_registered to test the regex if it exists instead of doing an exact strcmp.
Modifies res_pjsip_phoneprov_provider with a few tweaks to get it to work with realtime.


Diffs (updated)
-----

  branches/12/tests/test_sorcery.c 428504 
  branches/12/res/res_pjsip_phoneprov_provider.c 428504 
  branches/12/main/sorcery.c 428504 

Diff: https://reviewboard.asterisk.org/r/4185/diff/


Testing
-------

Tested by me with realtime phoneprov, aor and registration objects both with and without registered objects.
Testsuite testing in progress.  EDIT: complete.  No issues.
Will also be tested by John Kiniston who reported the res_pjsip_phoneprov_provider issue.  EDIT: complete.


Thanks,

George Joseph

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20141120/d9adf0c7/attachment.html>


More information about the asterisk-dev mailing list