jabberd2  2.5.0
Macros | Functions
out.c File Reference
#include <string.h>
#include "s2s.h"
#include <idna.h>

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 
#define EHL_LINE_LEN   260
 
#define DRA_IP_LEN   16
 

Functions

static int _out_mio_callback (mio_t m, mio_action_t a, mio_fd_t fd, void *data, void *arg)
 mio callback for outgoing conns More...
 
static int _out_sx_callback (sx_t s, sx_event_t e, void *data, void *arg)
 
static void _out_result (conn_t out, nad_t nad)
 process incoming auth responses More...
 
static void _out_verify (conn_t out, nad_t nad)
 incoming stream authenticated More...
 
static void _dns_result_aaaa (struct dns_ctx *ctx, struct dns_rr_a6 *result, void *data)
 
static void _dns_result_a (struct dns_ctx *ctx, struct dns_rr_a4 *result, void *data)
 
static void _out_packet_queue (s2s_t s2s, pkt_t pkt)
 queue the packet More...
 
static void _out_dialback (conn_t out, const char *rkey, int rkeylen)
 
void _out_dns_mark_bad (conn_t out)
 
int dns_select (s2s_t s2s, char *ip, int *port, time_t now, dnscache_t dns, int allow_bad)
 
int out_route (s2s_t s2s, const char *route, int routelen, conn_t *out, int allow_bad)
 find/make a connection for a route More...
 
void out_pkt_free (pkt_t pkt)
 
int out_packet (s2s_t s2s, pkt_t pkt)
 send a packet out More...
 
char * dns_make_ipport (const char *host, int port)
 
static void _dns_add_result (dnsquery_t query, const char *ip, int port, int prio, int weight, unsigned int ttl)
 
static void _dns_add_host (dnsquery_t query, const char *ip, int port, int prio, int weight, unsigned int ttl)
 
static void _dns_result_srv (struct dns_ctx *ctx, struct dns_rr_srv *result, void *data)
 
static int _etc_hosts_lookup (const char *cszName, char *szIP, const int ciMaxIPLen)
 
void dns_resolve_domain (s2s_t s2s, dnscache_t dns)
 
void out_resolve (s2s_t s2s, const char *domain, xht results, time_t expiry)
 responses from the resolver More...
 
void send_dialbacks (conn_t out)
 
int out_bounce_domain_queues (s2s_t s2s, const char *domain, int err)
 
int out_bounce_route_queue (s2s_t s2s, const char *rkey, int rkeylen, int err)
 
int out_bounce_conn_queues (conn_t out, int err)
 
void out_flush_domain_queues (s2s_t s2s, const char *domain)
 
void out_flush_route_queue (s2s_t s2s, const char *rkey, int rkeylen)
 

Macro Definition Documentation

#define _GNU_SOURCE

Definition at line 21 of file out.c.

#define EHL_LINE_LEN   260

Referenced by _etc_hosts_lookup().

#define DRA_IP_LEN   16

Referenced by _dns_result_a().

Function Documentation

static int _out_mio_callback ( mio_t  m,
mio_action_t  a,
mio_fd_t  fd,
void *  data,
void *  arg 
)
static
static int _out_sx_callback ( sx_t  s,
sx_event_t  e,
void *  data,
void *  arg 
)
static
static void _out_result ( conn_t  out,
nad_t  nad 
)
static
static void _out_verify ( conn_t  out,
nad_t  nad 
)
static
static void _dns_result_aaaa ( struct dns_ctx *  ctx,
struct dns_rr_a6 *  result,
void *  data 
)
static
static void _dns_result_a ( struct dns_ctx *  ctx,
struct dns_rr_a4 *  result,
void *  data 
)
static
static void _out_packet_queue ( s2s_t  s2s,
pkt_t  pkt 
)
static
static void _out_dialback ( conn_t  out,
const char *  rkey,
int  rkeylen 
)
static
void _out_dns_mark_bad ( conn_t  out)
int dns_select ( s2s_t  s2s,
char *  ip,
int *  port,
time_t  now,
dnscache_t  dns,
int  allow_bad 
)
int out_route ( s2s_t  s2s,
const char *  route,
int  routelen,
conn_t out,
int  allow_bad 
)
void out_pkt_free ( pkt_t  pkt)

Definition at line 617 of file out.c.

References pkt_st::from, jid_free(), pkt_st::nad, nad_free(), and pkt_st::to.

Referenced by JABBER_MAIN().

int out_packet ( s2s_t  s2s,
pkt_t  pkt 
)
char* dns_make_ipport ( const char *  host,
int  port 
)

Definition at line 740 of file out.c.

Referenced by _dns_add_host(), _dns_add_result(), _out_dns_mark_bad(), and _s2s_time_checks().

static void _dns_add_result ( dnsquery_t  query,
const char *  ip,
int  port,
int  prio,
int  weight,
unsigned int  ttl 
)
static
static void _dns_add_host ( dnsquery_t  query,
const char *  ip,
int  port,
int  prio,
int  weight,
unsigned int  ttl 
)
static
static void _dns_result_srv ( struct dns_ctx *  ctx,
struct dns_rr_srv *  result,
void *  data 
)
static
static int _etc_hosts_lookup ( const char *  cszName,
char *  szIP,
const int  ciMaxIPLen 
)
static

Definition at line 979 of file out.c.

References EHL_LINE_LEN.

Referenced by _dns_result_a().

void dns_resolve_domain ( s2s_t  s2s,
dnscache_t  dns 
)
void out_resolve ( s2s_t  s2s,
const char *  domain,
xht  results,
time_t  expiry 
)
void send_dialbacks ( conn_t  out)
int out_bounce_domain_queues ( s2s_t  s2s,
const char *  domain,
int  err 
)
int out_bounce_route_queue ( s2s_t  s2s,
const char *  rkey,
int  rkeylen,
int  err 
)
int out_bounce_conn_queues ( conn_t  out,
int  err 
)
void out_flush_domain_queues ( s2s_t  s2s,
const char *  domain 
)

Definition at line 1881 of file out.c.

References out_flush_route_queue(), s2s_st::outq, xhash_iter_first(), xhash_iter_get(), and xhash_iter_next().

Referenced by out_resolve().

void out_flush_route_queue ( s2s_t  s2s,
const char *  rkey,
int  rkeylen 
)