#include <stdlib.h>#include "enum.h"#include "../../parser/parse_uri.h"#include "../../parser/parse_from.h"#include "../../ut.h"#include "../../resolve.h"#include "../../mem/mem.h"#include "../../dset.h"#include "../../qvalue.h"#include "enum_mod.h"#include "../../regexp.h"#include "../../pvar.h"

Go to the source code of this file.
Functions | |
| int | add_uri_param (str *uri, str *param, str *new_uri) |
| static int | cclen (const char *number) |
| int | do_query (struct sip_msg *_msg, char *user, char *name, str *service) |
| int | enum_pv_query_1 (struct sip_msg *_msg, char *_sp) |
| int | enum_pv_query_2 (struct sip_msg *_msg, char *_sp, char *_suffix) |
| int | enum_pv_query_3 (struct sip_msg *_msg, char *_sp, char *_suffix, char *_service) |
| int | enum_query_0 (struct sip_msg *_msg, char *_str1, char *_str2) |
| int | enum_query_1 (struct sip_msg *_msg, char *_suffix, char *_str2) |
| int | enum_query_2 (struct sip_msg *_msg, char *_suffix, char *_service) |
| static int | findchr (char *p, int c, unsigned int size) |
| int | i_enum_query_0 (struct sip_msg *_msg, char *_suffix, char *_service) |
| int | i_enum_query_1 (struct sip_msg *_msg, char *_suffix, char *_service) |
| int | i_enum_query_2 (struct sip_msg *_msg, char *_suffix, char *_service) |
| static int | is_e164 (str *_user) |
| int | is_from_user_enum_0 (struct sip_msg *_msg, char *_str1, char *_str2) |
| int | is_from_user_enum_1 (struct sip_msg *_msg, char *_suffix, char *_str2) |
| int | is_from_user_enum_2 (struct sip_msg *_msg, char *_suffix, char *_service) |
| static int | naptr_greater (struct rdata *a, struct rdata *b) |
| static void | naptr_sort (struct rdata **head) |
| static int | parse_naptr_regexp (char *first, int len, str *pattern, str *replacement) |
| static int | sip_match (struct naptr_rdata *naptr, str *service) |
Definition at line 426 of file enum.c.
References sip_uri::headers, sip_uri::host, _str::len, LM_ERR, sip_uri::params, parse_uri(), sip_uri::passwd, sip_uri::port, _str::s, SIP_URI_T, SIPS_URI_T, TEL_URI_T, TELS_URI_T, sip_uri::type, and sip_uri::user.
Referenced by do_query(), and enum_pv_query_3().
| static int cclen | ( | const char * | number | ) | [static] |
Definition at line 572 of file enum.c.
References add_uri_param(), append_branch(), naptr_rdata::flags, naptr_rdata::flags_len, free_rdata_list(), get_record(), _str::len, LM_DBG, LM_ERR, MAX_Q, MAX_URI_SIZE, naptr_sort(), rdata::next, naptr_rdata::order, parse_naptr_regexp(), naptr_rdata::pref, priority, rdata::rdata, reg_replace(), naptr_rdata::regexp, naptr_rdata::regexp_len, rewrite_uri(), _str::s, naptr_rdata::services, naptr_rdata::services_len, set_ruri_q(), sip_match(), rdata::type, and ZSW.
Referenced by enum_query_2(), and i_enum_query_2().
| int enum_pv_query_1 | ( | struct sip_msg * | _msg, | |
| char * | _sp | |||
| ) |
| int enum_pv_query_2 | ( | struct sip_msg * | _msg, | |
| char * | _sp, | |||
| char * | _suffix | |||
| ) |
| int enum_pv_query_3 | ( | struct sip_msg * | _msg, | |
| char * | _sp, | |||
| char * | _suffix, | |||
| char * | _service | |||
| ) |
Definition at line 943 of file enum.c.
References add_uri_param(), append_branch(), naptr_rdata::flags, _pv_value::flags, naptr_rdata::flags_len, free_rdata_list(), get_record(), is_e164(), _str::len, LM_DBG, LM_ERR, MAX_DOMAIN_SIZE, MAX_Q, MAX_URI_SIZE, naptr_sort(), rdata::next, NULL, naptr_rdata::order, parse_naptr_regexp(), parse_sip_msg_uri(), sip_msg::parsed_uri, naptr_rdata::pref, priority, pv_get_spec_value(), PV_VAL_STR, rdata::rdata, reg_replace(), naptr_rdata::regexp, naptr_rdata::regexp_len, rewrite_uri(), _pv_value::rs, _str::s, service, naptr_rdata::services, naptr_rdata::services_len, set_ruri_q(), sip_match(), suffix, rdata::type, sip_uri::user, and ZSW.
Referenced by enum_pv_query_1(), and enum_pv_query_2().
| int enum_query_0 | ( | struct sip_msg * | _msg, | |
| char * | _str1, | |||
| char * | _str2 | |||
| ) |
| int enum_query_1 | ( | struct sip_msg * | _msg, | |
| char * | _suffix, | |||
| char * | _str2 | |||
| ) |
| int enum_query_2 | ( | struct sip_msg * | _msg, | |
| char * | _suffix, | |||
| char * | _service | |||
| ) |
Definition at line 698 of file enum.c.
References do_query(), is_e164(), _str::len, LM_ERR, MAX_DOMAIN_SIZE, parse_sip_msg_uri(), sip_msg::parsed_uri, _str::s, service, suffix, and sip_uri::user.
Referenced by enum_query_0(), and enum_query_1().
| static int findchr | ( | char * | p, | |
| int | c, | |||
| unsigned int | size | |||
| ) | [inline, static] |
| int i_enum_query_0 | ( | struct sip_msg * | _msg, | |
| char * | _suffix, | |||
| char * | _service | |||
| ) |
| int i_enum_query_1 | ( | struct sip_msg * | _msg, | |
| char * | _suffix, | |||
| char * | _service | |||
| ) |
| int i_enum_query_2 | ( | struct sip_msg * | _msg, | |
| char * | _suffix, | |||
| char * | _service | |||
| ) |
Definition at line 758 of file enum.c.
References ebl_rdata::apex, ebl_rdata::apex_len, cclen(), do_query(), free_rdata_list(), get_record(), i_bl_alg, i_branchlabel, is_e164(), _str::len, LM_DBG, LM_ERR, MAX_COMPONENT_SIZE, MAX_DOMAIN_SIZE, parse_sip_msg_uri(), sip_msg::parsed_uri, ebl_rdata::position, rdata::rdata, _str::s, ebl_rdata::separator, separator, ebl_rdata::separator_len, service, suffix, T_EBL, and sip_uri::user.
Referenced by i_enum_query_0(), and i_enum_query_1().
| static int is_e164 | ( | str * | _user | ) | [inline, static] |
| int is_from_user_enum_0 | ( | struct sip_msg * | _msg, | |
| char * | _str1, | |||
| char * | _str2 | |||
| ) |
| int is_from_user_enum_1 | ( | struct sip_msg * | _msg, | |
| char * | _suffix, | |||
| char * | _str2 | |||
| ) |
| int is_from_user_enum_2 | ( | struct sip_msg * | _msg, | |
| char * | _suffix, | |||
| char * | _service | |||
| ) |
Definition at line 265 of file enum.c.
References naptr_rdata::flags, naptr_rdata::flags_len, free_rdata_list(), sip_msg::from, get_from, get_record(), sip_uri::host, hostent2ip_addr, ip_addr_cmp, is_e164(), _str::len, LM_DBG, LM_ERR, MAX_DOMAIN_SIZE, MAX_URI_SIZE, rdata::next, NULL, naptr_rdata::order, parse_from_header(), parse_from_uri(), parse_naptr_regexp(), parse_uri(), naptr_rdata::pref, PROTO_NONE, sip_msg::rcv, rdata::rdata, reg_replace(), naptr_rdata::regexp, naptr_rdata::regexp_len, _str::s, service, naptr_rdata::services, naptr_rdata::services_len, sip_match(), sip_resolvehost(), SIPS_URI_T, receive_info::src_ip, suffix, sip_uri::type, rdata::type, sip_uri::user, and ZSW.
Referenced by is_from_user_enum_0(), and is_from_user_enum_1().
Definition at line 508 of file enum.c.
References naptr_rdata::order, naptr_rdata::pref, rdata::rdata, and rdata::type.
| static void naptr_sort | ( | struct rdata ** | head | ) | [inline, static] |
| static int sip_match | ( | struct naptr_rdata * | naptr, | |
| str * | service | |||
| ) | [inline, static] |
Definition at line 172 of file enum.c.
References findchr(), naptr_rdata::flags, naptr_rdata::flags_len, len, _str::len, _str::s, naptr_rdata::services, and naptr_rdata::services_len.
Referenced by do_query(), enum_pv_query_3(), and is_from_user_enum_2().
1.5.6