jabberd2
2.2.16
|
Go to the source code of this file.
Functions | |
static jid_t | jid_reset_components_internal (jid_t jid, const unsigned char *node, const unsigned char *domain, const unsigned char *resource, int prepare) |
Forward declaration. | |
static int | jid_prep_pieces (char *node, char *domain, char *resource) |
do stringprep on the pieces | |
int | jid_prep (jid_t jid) |
do stringprep on the piece | |
jid_t | jid_new (const unsigned char *id, int len) |
make a new jid | |
void | jid_static (jid_t jid, jid_static_buf *buf) |
Make jid to use static buffer (jid data won't be allocated dynamically, but given buffer will be always used. | |
jid_t | jid_reset (jid_t jid, const unsigned char *id, int len) |
build a jid from an id | |
jid_t | jid_reset_components (jid_t jid, const unsigned char *node, const unsigned char *domain, const unsigned char *resource) |
build a jid from components | |
void | jid_free (jid_t jid) |
free a jid | |
void | jid_expand (jid_t jid) |
build user and full if they're out of date | |
const unsigned char * | jid_user (jid_t jid) |
expand and return the user | |
const unsigned char * | jid_full (jid_t jid) |
expand and return the full | |
int | jid_compare_user (jid_t a, jid_t b) |
compare the user portion of two jids | |
int | jid_compare_full (jid_t a, jid_t b) |
compare two full jids | |
jid_t | jid_dup (jid_t jid) |
duplicate a jid | |
int | jid_search (jid_t list, jid_t jid) |
util to search through jids | |
jid_t | jid_zap (jid_t list, jid_t jid) |
remove a jid_t from a list, returning the new list | |
jid_t | jid_append (jid_t list, jid_t jid) |
make a copy of jid, link into list (avoiding dups) | |
void | jid_random_part (jid_t jid, jid_part_t part) |
create random resource |
static jid_t jid_reset_components_internal | ( | jid_t | jid, |
const unsigned char * | node, | ||
const unsigned char * | domain, | ||
const unsigned char * | resource, | ||
int | prepare | ||
) | [static] |
Forward declaration.
build a jid from components - internal version
Definition at line 199 of file jid.c.
References jid_st::jid_data, jid_st::jid_data_len, jid_st::_user, jid_st::_full, MAXLEN_JID_COMP, jid_st::node, jid_st::domain, jid_st::resource, jid_prep(), and jid_st::dirty.
Referenced by jid_prep(), and jid_reset_components().
static int jid_prep_pieces | ( | char * | node, |
char * | domain, | ||
char * | resource | ||
) | [static] |
int jid_prep | ( | jid_t | jid | ) |
do stringprep on the piece
do string preparation on a jid
Definition at line 44 of file jid.c.
References MAXLEN_JID_COMP, jid_st::node, jid_st::domain, jid_st::resource, jid_prep_pieces(), and jid_reset_components_internal().
Referenced by jid_reset(), jid_reset_components_internal(), and jid_random_part().
jid_t jid_new | ( | const unsigned char * | id, |
int | len | ||
) |
make a new jid
make a new jid, and call jid_reset() to populate it
Definition at line 81 of file jid.c.
References jid_st::jid_data, jid_reset(), log_debug, and ZONE.
Referenced by _authreg_auth_set(), _authreg_register_set(), _c2s_client_sx_callback(), c2s_router_sx_callback(), _pbx_process_command(), aci_load(), _router_process_bind(), _router_process_unbind(), _router_process_route(), s2s_router_sx_callback(), _in_sx_callback(), _in_result(), _in_verify(), _in_packet(), _out_result(), _out_verify(), _announce_pkt_sm(), module_init(), _echo_pkt_sm(), _help_pkt_sm(), _presence_pkt_sm(), _privacy_user_load(), _privacy_in_sess(), _roster_in_sess_s10n(), _roster_set_item(), _roster_user_load(), _roster_publish_user_load(), _session_in_router(), _status_pkt_sm(), _template_roster_reload(), pkt_dup(), pkt_new(), pkt_router(), and pkt_sess().
void jid_static | ( | jid_t | jid, |
jid_static_buf * | buf | ||
) |
Make jid to use static buffer (jid data won't be allocated dynamically, but given buffer will be always used.
JID may not be previously used!
Definition at line 102 of file jid.c.
References jid_st::jid_data.
Referenced by _c2s_sx_sasl_callback(), _router_process_route(), and _router_sx_callback().
build a jid from an id
clear and populate the jid with the given id.
Definition at line 113 of file jid.c.
References jid_st::jid_data, jid_st::jid_data_len, jid_st::dirty, jid_st::node, jid_st::domain, jid_st::resource, MAXLEN_JID, and jid_prep().
Referenced by _c2s_sx_sasl_callback(), _router_process_route(), _router_sx_callback(), and jid_new().
jid_t jid_reset_components | ( | jid_t | jid, |
const unsigned char * | node, | ||
const unsigned char * | domain, | ||
const unsigned char * | resource | ||
) |
build a jid from components
Definition at line 281 of file jid.c.
References jid_reset_components_internal().
Referenced by _authreg_auth_set(), _authreg_register_set(), _c2s_client_sx_callback(), _announce_pkt_sm(), _echo_pkt_sm(), _help_pkt_sm(), _status_pkt_sm(), and jid_random_part().
void jid_free | ( | jid_t | jid | ) |
free a jid
free the jid
Definition at line 286 of file jid.c.
References jid_st::jid_data, jid_st::jid_data_len, jid_st::_user, and jid_st::_full.
Referenced by c2s_router_sx_callback(), JABBER_MAIN(), aci_load(), aci_check(), aci_unload(), _router_process_bind(), _router_process_unbind(), _router_process_route(), _user_alloc(), _in_sx_callback(), _in_result(), _in_verify(), _in_packet(), out_pkt_free(), out_packet(), _out_result(), _out_verify(), out_bounce_route_queue(), _announce_pkt_sm(), _deliver_in_sess(), _disco_pkt_router(), _disco_free_walker(), _echo_pkt_sm(), _help_pkt_sm(), _iq_private_in_sess(), _presence_in_sess(), _presence_pkt_sm(), _privacy_user_load(), _privacy_in_sess(), _roster_freeuser_walker(), _roster_in_sess_s10n(), _roster_set_item(), _roster_publish_free_walker(), _roster_publish_user_load(), _session_in_router(), _status_pkt_sm(), _template_roster_reload(), pkt_free(), pkt_router(), pkt_sess(), pres_update(), sess_route(), sess_start(), and jid_zap().
void jid_expand | ( | jid_t | jid | ) |
build user and full if they're out of date
expands user and full if the dirty flag is set
Definition at line 299 of file jid.c.
References jid_st::dirty, jid_st::_full, jid_st::domain, jid_st::node, jid_st::resource, and jid_st::_user.
Referenced by _vacation_pkt_user(), jid_user(), jid_full(), jid_compare_user(), and jid_compare_full().
const unsigned char* jid_user | ( | jid_t | jid | ) |
expand and return the user
return the user or full jid.
Definition at line 339 of file jid.c.
References jid_expand(), and jid_st::_user.
Referenced by _authreg_register_set(), _c2s_client_sx_callback(), _c2s_component_presence(), _pbx_process_command(), sm_create(), sm_delete(), aci_load(), aci_check(), _router_process_route(), user_load(), user_free(), user_create(), user_delete(), _active_user_load(), _active_user_create(), _active_user_delete(), _amp_in_sess(), _announce_in_sess(), _announce_broadcast_user(), _announce_pkt_sm(), _announce_user_delete(), _disco_in_sess_result(), _echo_pkt_sm(), _help_pkt_sm(), _iq_last_pkt_user(), _iq_last_sess_end(), _iq_last_user_delete(), _iq_private_in_sess(), _iq_private_user_delete(), _iq_vcard_in_sess(), _iq_vcard_pkt_user(), _iq_vcard_user_delete(), _offline_in_sess(), _offline_pkt_user(), _offline_user_delete(), _pep_in_sess(), _pep_out_sess(), _presence_in_router(), _presence_pkt_sm(), _privacy_user_load(), _privacy_action(), _privacy_in_router(), _privacy_out_router(), _unblock_jid(), _privacy_in_sess(), _privacy_user_delete(), _roster_freeuser(), _roster_save_item(), _roster_in_sess_s10n(), _roster_set_item(), _roster_pkt_user(), _roster_user_load(), _roster_user_delete(), _roster_publish_save_item(), _roster_publish_user_load(), _status_sess_start(), _status_sess_end(), _status_in_sess(), _status_pkt_sm(), _status_user_delete(), _template_roster_save_item(), _vacation_in_sess(), _vacation_user_load(), _vacation_user_delete(), _pres_top(), pres_update(), pres_in(), pres_trust(), pres_probe(), sess_end(), and sess_start().
const unsigned char* jid_full | ( | jid_t | jid | ) |
expand and return the full
Definition at line 347 of file jid.c.
References jid_expand(), and jid_st::_full.
Referenced by _authreg_auth_set(), _authreg_register_set(), _c2s_client_sx_callback(), _c2s_client_mio_callback(), c2s_router_sx_callback(), _pbx_process_command(), _sm_generate_id(), _sm_build_route(), sm_start(), sm_storage_rate_limit(), aci_check(), _router_process_route(), dispatch(), amp_build_response_pkt(), _amp_pkt_sm(), _announce_in_sess(), _announce_broadcast_user(), _announce_pkt_sm(), _deliver_in_sess(), _disco_unify_walker(), _disco_items_result(), _disco_agents_result(), _disco_pkt_sm_populate(), _disco_in_sess_result(), _disco_sessions_result(), _disco_pkt_sm(), _disco_pkt_router(), module_init(), _echo_pkt_sm(), _help_pkt_sm(), _iq_private_in_sess(), _iq_vcard_pkt_sm(), _iq_vcard_pkt_user(), _offline_in_sess(), _offline_pkt_user(), _offline_user_delete(), _pep_out_sess(), _presence_in_sess(), _presence_pkt_sm(), _privacy_user_load(), _privacy_action(), _privacy_result_builder(), _unblock_jid(), _privacy_in_sess(), _roster_save_item(), _roster_insert_item(), _roster_push(), _roster_in_sess_s10n(), _roster_set_item(), _roster_pkt_user(), _roster_user_load(), _roster_publish_save_item(), _roster_publish_user_load(), _session_in_router(), _session_pkt_router(), _status_pkt_sm(), _template_roster_reload(), _template_roster_save_item(), _vacation_pkt_user(), pkt_tofrom(), pkt_dup(), pkt_sess(), _pres_top(), pres_update(), pres_in(), pres_error(), pres_deliver(), pres_trust(), pres_roster(), pres_probe(), sess_route(), sess_end(), and sess_start().
compare the user portion of two jids
compare two user or full jids.
Definition at line 355 of file jid.c.
References jid_expand(), and jid_st::_user.
Referenced by _amp_in_sess(), _deliver_in_sess(), _iq_private_in_sess(), _pep_in_sess(), _presence_in_sess(), and pres_trust().
compare two full jids
Definition at line 364 of file jid.c.
References jid_expand(), and jid_st::_full.
Referenced by _help_pkt_sm(), _privacy_action(), _unblock_jid(), _privacy_in_sess(), pres_in(), sess_start(), jid_search(), jid_zap(), and jid_append().
duplicate a jid
Definition at line 373 of file jid.c.
References jid_st::jid_data, jid_st::jid_data_len, jid_st::node, jid_st::domain, jid_st::resource, jid_st::_user, and jid_st::_full.
Referenced by aci_check(), _user_alloc(), _deliver_in_sess(), _disco_pkt_sm_populate(), _iq_vcard_pkt_sm(), _iq_vcard_pkt_user(), _presence_in_sess(), _roster_in_sess_s10n(), pkt_error(), pkt_dup(), sess_start(), and jid_append().
util to search through jids
list helpers
Definition at line 413 of file jid.c.
References jid_st::next, and jid_compare_full().
Referenced by aci_check(), _help_pkt_sm(), _unblock_jid(), _privacy_in_sess(), pres_update(), and pres_roster().
remove a jid_t from a list, returning the new list
remove a jid from a list, and return the new list
Definition at line 423 of file jid.c.
References jid_compare_full(), jid_st::next, and jid_free().
Referenced by pres_in(), pres_error(), and pres_deliver().
make a copy of jid, link into list (avoiding dups)
insert of a copy of jid into list, avoiding dups
Definition at line 464 of file jid.c.
References jid_dup(), jid_compare_full(), and jid_st::next.
Referenced by aci_load(), pres_error(), and pres_deliver().
void jid_random_part | ( | jid_t | jid, |
jid_part_t | part | ||
) |
create random resource
fill jid's resource with a random string
Definition at line 492 of file jid.c.
References shahash_r(), jid_NODE, jid_reset_components(), jid_st::domain, jid_st::resource, jid_DOMAIN, jid_st::node, jid_RESOURCE, and jid_prep().
Referenced by _c2s_client_sx_callback(), and _c2s_sx_sasl_callback().