jabberd2
2.2.16
|
Go to the source code of this file.
Data Structures | |
struct | acl_s |
struct | router_st |
struct | component_st |
a single component More... | |
struct | routes_st |
struct | alias_st |
union | xhashv |
session packet handling More... | |
Typedefs | |
typedef struct router_st * | router_t |
typedef struct component_st * | component_t |
typedef struct routes_st * | routes_t |
typedef struct alias_st * | alias_t |
typedef struct acl_s * | acl_t |
Enumerations | |
enum | route_type_t { route_SINGLE = 0x00, route_MULTI_TO = 0x10, route_MULTI_FROM = 0x11, route_NONE = 0x00, route_UNICAST = 0x10, route_BROADCAST = 0x11, route_ADV = 0x20, route_ADV_UN = 0x21, route_ERROR = 0x40 } |
route types More... | |
Functions | |
int | router_mio_callback (mio_t m, mio_action_t a, mio_fd_t fd, void *data, void *arg) |
void | router_sx_handshake (sx_t s, sx_buf_t buf, void *arg) |
xht | aci_load (router_t r) |
void | aci_unload (xht aci) |
unload aci table | |
int | aci_check (xht acls, const char *type, const char *name) |
see if a username is in an acl | |
int | user_table_load (router_t r) |
user table manager | |
void | user_table_unload (router_t r) |
int | filter_load (router_t r) |
void | filter_unload (router_t r) |
filter manager | |
int | filter_packet (router_t r, nad_t nad) |
int | message_log (nad_t nad, router_t r, const unsigned char *msg_from, const unsigned char *msg_to) |
void | routes_free (routes_t routes) |
typedef struct component_st* component_t |
enum route_type_t |
route types
int router_mio_callback | ( | mio_t | m, |
mio_action_t | a, | ||
mio_fd_t | fd, | ||
void * | data, | ||
void * | arg | ||
) |
Definition at line 1028 of file router.c.
References action_READ, log_debug, ZONE, mio_fd_st::fd, component_st::last_activity, sx_kill(), component_st::s, sx_can_read(), action_WRITE, sx_can_write(), action_CLOSE, component_st::r, log_write(), router_st::log, component_st::ip, component_st::port, xhash_walk(), component_st::routes, _router_route_unbind_walker(), xhash_zap(), router_st::components, xhash_free(), jqueue_free(), rate_free(), jqueue_push(), action_ACCEPT, j_inet_getport(), _router_accept_check(), router_st::fd, INET6_ADDRSTRLEN, sx_new(), router_st::sx_env, _router_sx_callback(), mio_app, router_mio_callback(), router_st::byte_rate_total, rate_new(), router_st::byte_rate_seconds, router_st::byte_rate_wait, xhash_new(), xhash_put(), sx_server_init(), SX_SSL_STARTTLS_OFFER, and SX_SASL_OFFER.
Referenced by JABBER_MAIN(), and router_mio_callback().
Definition at line 31 of file aci.c.
References log_debug, ZONE, xhash_new(), nad_find_elem(), router_st::config, config_st::nad, nad_find_attr(), NAD_AVAL_L, NAD_AVAL, NAD_CDATA_L, aci_user_st::name, NAD_CDATA, aci_user_st::next, xhash_put(), pstrdup(), and xhash_pool().
Referenced by JABBER_MAIN().
int aci_check | ( | xht | acls, |
const char * | type, | ||
const char * | name | ||
) |
see if a username is in an acl
Definition at line 93 of file aci.c.
References log_debug, ZONE, xhash_get(), aci_user_st::next, and aci_user_st::name.
Referenced by _router_process_bind(), _announce_pkt_sm(), and _disco_pkt_sm().
int user_table_load | ( | router_t | r | ) |
user table manager
Definition at line 25 of file user.c.
References log_debug, ZONE, router_st::users, xhash_free(), xhash_new(), config_get_one(), router_st::config, log_write(), router_st::log, nad_parse(), nad_find_elem(), NAD_CDATA_L, NAD_CDATA, xhash_put(), pstrdupx(), xhash_pool(), nad_free(), and router_st::users_load.
Referenced by JABBER_MAIN().
void user_table_unload | ( | router_t | r | ) |
Definition at line 103 of file user.c.
References router_st::users, and xhash_free().
Referenced by JABBER_MAIN().
int filter_load | ( | router_t | r | ) |
Definition at line 42 of file filter.c.
References log_debug, ZONE, router_st::filter, filter_unload(), config_get_one(), router_st::config, log_write(), router_st::log, router_st::filter_load, nad_parse(), nad_find_elem(), nad_find_attr(), NAD_AVAL_L, acl_s::from, NAD_AVAL, acl_s::to, acl_s::what, acl_s::redirect, acl_s::redirect_len, acl_s::error, stanza_err_REDIRECT, stanza_err_NOT_ALLOWED, _stanza_errors, _stanza_error_st::code, stanza_err_BAD_REQUEST, acl_s::log, and acl_s::next.
Referenced by JABBER_MAIN().
void filter_unload | ( | router_t | r | ) |
filter manager
Definition at line 25 of file filter.c.
References router_st::filter, acl_s::next, acl_s::from, acl_s::to, acl_s::what, and acl_s::redirect.
Referenced by JABBER_MAIN(), and filter_load().
Definition at line 182 of file filter.c.
References nad_find_attr(), NAD_AVAL_L, NAD_AVAL, router_st::filter, acl_s::next, acl_s::from, acl_s::to, acl_s::what, nad_find_elem_path(), log_debug, ZONE, acl_s::log, acl_s::redirect, log_write(), router_st::log, acl_s::error, nad_set_attr(), and acl_s::redirect_len.
Referenced by _router_process_route().
int message_log | ( | nad_t | nad, |
router_t | r, | ||
const unsigned char * | msg_from, | ||
const unsigned char * | msg_to | ||
) |
Definition at line 1131 of file router.c.
References MAX_MESSAGE, NAD_ENAME_L, NAD_ENAME, NAD_CDATA_L, NAD_CDATA, log_write(), router_st::log, and router_st::message_logging_file.
Referenced by _router_process_route().
void routes_free | ( | routes_t | routes | ) |
Definition at line 153 of file router.c.
References routes_st::name, and routes_st::comp.
Referenced by JABBER_MAIN().