37 log_debug(
ZONE,
"can't handle broadcast routes (yet), dropping");
44 int i, aerror, stanza_err;
85 if (pkt != NULL && pkt->
sm != NULL) {
101 if(pkt->
from == NULL || pkt->
to == NULL) {
107 if(*pkt->
to->
node ==
'\0') {
148 if (pkt->
sm != NULL) {
pkt_t pkt_error(pkt_t pkt, int err)
pkt_type_t type
packet type
struct _stanza_error_st _stanza_errors[]
if you change these, reflect your changes in the defines in util.h
data structures and prototypes for the session manager
const char * jid_full(jid_t jid)
expand and return the full
#define stanza_err_FEATURE_NOT_IMPLEMENTED
SM_API user_t user_load(sm_t sm, jid_t jid)
fetch user data
mod_ret_t mm_pkt_sm(mm_t mm, pkt_t pkt)
packets for sm
mod_ret_t mm_pkt_user(mm_t mm, user_t user, pkt_t pkt)
packets for user
sess_t sessions
list of action sessions
mod_ret_t mm_in_router(mm_t mm, pkt_t pkt)
packets from router
jid_t from
packet addressing (not used for routing)
packet summary data wrapper
nad_t nad
nad of the entire packet
mod_ret_t mm_pkt_router(mm_t mm, pkt_t pkt)
packets from the router
session manager global context
#define stanza_err_BAD_REQUEST
#define stanza_err_REMOTE_SERVER_NOT_FOUND
void pkt_router(pkt_t pkt)
packet was unhandled, should be passed to the next module
SM_API void user_free(user_t user)
packet was handled (and freed)
int nad_find_attr(nad_t nad, int elem, int ns, const char *name, const char *val)
get a matching attr on this elem, both name and optional val
pkt_t pkt_create(sm_t sm, const char *elem, const char *type, const char *to, const char *from)
void dispatch(sm_t sm, pkt_t pkt)
main packet dispatcher
mod_ret_t
module return values
#define stanza_err_SERVICE_UNAVAILABLE
route_type_t rtype
type of enclosing route