jabberd2  2.3.2
Functions
c2s.c File Reference
#include "c2s.h"
#include <stringprep.h>

Go to the source code of this file.

Functions

static int _c2s_client_sx_callback (sx_t s, sx_event_t e, void *data, void *arg)
 
static int _c2s_client_accept_check (c2s_t c2s, mio_fd_t fd, const char *ip)
 
static int _c2s_client_mio_callback (mio_t m, mio_action_t a, mio_fd_t fd, void *data, void *arg)
 
static void _c2s_component_presence (c2s_t c2s, nad_t nad)
 
int c2s_router_sx_callback (sx_t s, sx_event_t e, void *data, void *arg)
 
int c2s_router_mio_callback (mio_t m, mio_action_t a, mio_fd_t fd, void *data, void *arg)
 

Function Documentation

static int _c2s_client_sx_callback ( sx_t  s,
sx_event_t  e,
void *  data,
void *  arg 
)
static

Definition at line 25 of file c2s.c.

References sess_st::active, _sx_st::auth_id, _sx_st::auth_method, authreg_process(), sess_st::bound, sess_st::c2s, bres_st::c2s_id, _sx_st::compressed, _sx_buf_st::data, jid_st::domain, event_CLOSED, event_ERROR, event_OPEN, event_PACKET, event_READ, event_STREAM, event_WANT_READ, event_WANT_WRITE, event_WRITE, sess_st::fd, mio_fd_st::fd, _sx_st::flags, _sx_error_st::generic, sess_st::host, host_st::host_pemfile, host_st::host_require_starttls, c2s_st::hosts, c2s_st::http_forward, sess_st::ip, _sx_st::ip, bres_st::jid, jid_full(), jid_new(), jid_random_part(), jid_reset_components(), jid_RESOURCE, jid_user(), _sx_buf_st::len, c2s_st::log, log_debug, log_write(), c2s_st::mio, mio_close, MIO_ERROR, mio_read, MIO_STRERROR, MIO_WOULDBLOCK, mio_write, nad_add_namespace(), nad_append_cdata(), nad_append_elem(), NAD_AVAL, NAD_AVAL_L, NAD_CDATA, NAD_CDATA_L, NAD_ENAME, NAD_ENAME_L, NAD_ENS, nad_find_attr(), nad_find_elem(), nad_find_namespace(), nad_find_scoped_namespace(), nad_free(), nad_new(), nad_set_attr(), bres_st::next, jid_st::node, sess_st::packet_count, c2s_st::packet_count, pmalloc(), sess_st::port, _sx_st::port, pstrdup(), sess_st::rate, rate_add(), rate_check(), rate_left(), sess_st::rate_log, host_st::realm, _sx_st::req_to, jid_st::resource, sess_st::resources, sess_st::result, sess_st::s, sess_st::sasl_authd, c2s_st::sm_avail, sm_end(), sm_packet(), sm_start(), _sx_error_st::specific, _sx_st::ssf, stanza_err_BAD_REQUEST, stanza_err_ITEM_NOT_FOUND, stanza_err_UNKNOWN_SENDER, stanza_error(), sess_st::stanza_rate, sess_st::stanza_rate_log, _sx_st::state, state_OPEN, state_STREAM, stream_err_HOST_GONE, stream_err_HOST_UNKNOWN, stream_err_NOT_AUTHORIZED, stream_err_POLICY_VIOLATION, stream_err_SEE_OTHER_HOST, c2s_st::stream_redirects, sx_close(), sx_error(), sx_error_extended(), sx_kill(), sx_nad_write, SX_SSL_STARTTLS_OFFER, SX_SSL_STARTTLS_REQUIRE, _sx_st::tag, stream_redirect_st::to_address, stream_redirect_st::to_port, uri_BIND, uri_CLIENT, c2s_st::vhost, xhash_get(), xhash_pool(), xhash_put(), and ZONE.

Referenced by _c2s_client_mio_callback().

static int _c2s_client_accept_check ( c2s_t  c2s,
mio_fd_t  fd,
const char *  ip 
)
static
static int _c2s_client_mio_callback ( mio_t  m,
mio_action_t  a,
mio_fd_t  fd,
void *  data,
void *  arg 
)
static
static void _c2s_component_presence ( c2s_t  c2s,
nad_t  nad 
)
static
int c2s_router_sx_callback ( sx_t  s,
sx_event_t  e,
void *  data,
void *  arg 
)

Definition at line 700 of file c2s.c.

References _c2s_client_mio_callback(), _c2s_component_presence(), sess_st::active, c2s_st::ar, _sx_st::auth_id, sess_st::bound, sess_st::c2s, bres_st::c2s_id, c2s_pbx_init(), _sx_error_st::code, _sx_buf_st::data, authreg_st::delete_user, nad_st::ecur, nad_st::elems, event_CLOSED, event_ERROR, event_OPEN, event_PACKET, event_READ, event_STREAM, event_WANT_READ, event_WANT_WRITE, event_WRITE, mio_fd_st::fd, c2s_st::fd, _sx_error_st::generic, sess_st::host, c2s_st::id, bres_st::jid, jid_free(), jid_full(), jid_new(), _sx_buf_st::len, c2s_st::local_ip, c2s_st::local_pemfile, c2s_st::local_port, c2s_st::local_ssl_port, c2s_st::log, log_debug, log_write(), c2s_st::mio, mio_close, MIO_ERROR, mio_listen, mio_read, MIO_STRERROR, MIO_WOULDBLOCK, mio_write, nad_add_namespace(), nad_append_attr(), nad_append_elem(), NAD_AVAL, NAD_AVAL_L, NAD_ENAME, NAD_ENAME_L, NAD_ENS, nad_find_attr(), nad_find_elem(), nad_find_namespace(), nad_find_scoped_namespace(), nad_free(), nad_new(), NAD_NURI, NAD_NURI_L, nad_print(), nad_set_attr(), bres_st::next, nad_ns_st::next, jid_st::node, nad_elem_st::ns, nad_st::nss, c2s_st::online, sess_st::packet_count, c2s_st::packet_count, c2s_st::pbx_pipe, host_st::realm, sess_st::resources, sess_st::result, c2s_st::retry_left, c2s_st::retry_lost, c2s_st::router, c2s_st::router_pass, c2s_st::router_pemfile, c2s_st::router_private_key_password, c2s_st::router_user, sess_st::s, sess_st::sasl_authd, c2s_st::server_fd, c2s_st::sessions, sess_st::skey, sm_end(), bres_st::sm_id, sm_packet(), bres_st::sm_request, sess_st::smcomp, _sx_error_st::specific, _sx_st::ssf, stanza_err_INTERNAL_SERVER_ERROR, stanza_error(), c2s_st::started, _sx_st::state, state_OPEN, state_STREAM, stream_err_CONFLICT, stream_err_INTERNAL_SERVER_ERROR, sx_auth(), sx_close(), SX_ERR_AUTH, sx_error(), sx_kill(), sx_nad_write, sx_nad_write_elem(), c2s_st::sx_sasl, sx_sasl_auth(), c2s_st::sx_ssl, sx_ssl_client_starttls(), _sx_st::tag, uri_CLIENT, uri_COMPONENT, uri_SESSION, uri_STREAMS, uri_TLS, xhash_get(), and ZONE.

Referenced by _c2s_router_connect().

int c2s_router_mio_callback ( mio_t  m,
mio_action_t  a,
mio_fd_t  fd,
void *  data,
void *  arg 
)