18#ifndef _CODATUNNEL_PRIVATE_H_
19#define _CODATUNNEL_PRIVATE_H_
22#include <sys/socket.h>
26#include <gnutls/gnutls.h>
34 gettimeofday(&tt, 0); \
35 int myid = mapthread(uv_thread_self()); \
36 fprintf(stderr, "[%d] %ld:%ld %s:%d ", myid, tt.tv_sec, tt.tv_usec, \
37 __FUNCTION__, __LINE__); \
38 fprintf(stderr, __VA_ARGS__); \
47 fprintf(stderr, "%s:%d ", __FUNCTION__, __LINE__); \
48 fprintf(stderr, __VA_ARGS__); \
53void codatunneld(
int codatunnel_sockfd,
const char *tcp_bindaddr,
54 const char *udp_bindaddr,
const char *bind_service,
55 int onlytcp,
const char *
sslcertdir) __attribute__((noreturn));
74#define MAXRECEIVE (4500 + sizeof(ctp_t))
166 const char *peername);
176ssize_t
eat_uvbytes(gnutls_transport_ptr_t,
void *,
size_t);
177int poll_uvbytes(gnutls_transport_ptr_t gtp,
unsigned int ms);
unsigned int uint32_t
Definition: coda.h:105
void printsockaddr(const struct sockaddr_storage *, socklen_t)
dest_t * getdest(const struct sockaddr_storage *, socklen_t)
Definition: remotedest.c:115
const char * tcpstatename(enum deststate)
Definition: remotedest.c:349
void codatunneld(int codatunnel_sockfd, const char *tcp_bindaddr, const char *udp_bindaddr, const char *bind_service, int onlytcp, const char *sslcertdir) __attribute__((noreturn))
Definition: codatunneld.c:1260
void drain_outbound_queues(dest_t *d)
Definition: codatunneld.c:199
void outbound_worker_cb(uv_async_t *async)
Definition: codatunneld.c:550
void enq_element(dest_t *, const uv_buf_t *, int)
Definition: remotedest.c:213
void hexdump(char *desc, void *addr, int len)
Definition: codatunneld.c:1413
void free_dest(dest_t *d)
Definition: remotedest.c:178
int mapthread(uv_thread_t)
Definition: remotedest.c:327
dest_t * createdest(const struct sockaddr_storage *, socklen_t, const char *peername)
Definition: remotedest.c:132
ssize_t eat_uvbytes(gnutls_transport_ptr_t, void *, size_t)
Definition: remotedest.c:268
deststate
Definition: codatunnel.private.h:86
@ TLSHANDSHAKE
Definition: codatunnel.private.h:91
@ TCPATTEMPTING
Definition: codatunnel.private.h:89
@ TLSERROR
Definition: codatunnel.private.h:94
@ TCPACTIVE
Definition: codatunnel.private.h:92
@ ALLOCATED
Definition: codatunnel.private.h:88
@ FREE
Definition: codatunnel.private.h:87
@ TCPCLOSING
Definition: codatunnel.private.h:95
struct codatunnel_packet ctp_t
int poll_uvbytes(gnutls_transport_ptr_t gtp, unsigned int ms)
Definition: remotedest.c:245
#define UVBUFLIMIT
Definition: codatunnel.private.h:136
int socklen_t
Definition: mariner.cc:73
desc
Definition: gensrvstats.py:254
Definition: codatunnel.private.h:64
struct sockaddr_storage addr
Definition: codatunnel.private.h:71
char magic[8]
Definition: codatunnel.private.h:65
uint32_t is_init0
Definition: codatunnel.private.h:68
uint32_t msglen
Definition: codatunnel.private.h:69
uint32_t addrlen
Definition: codatunnel.private.h:70
uint32_t is_retry
Definition: codatunnel.private.h:66
Definition: codatunnel.private.h:100
uv_buf_t b
Definition: codatunnel.private.h:101
int numbytes
Definition: codatunnel.private.h:102
Definition: codatunneld.c:95
Definition: codatunnel.private.h:105
void * tls_send_queue
Definition: codatunnel.private.h:153
uv_mutex_t uvcount_mutex
Definition: codatunnel.private.h:139
uv_cond_t uvcount_nonzero
Definition: codatunnel.private.h:140
uv_tcp_t * tcphandle
Definition: codatunnel.private.h:118
struct minicb_tcp_req * outbound_queue
Definition: codatunnel.private.h:156
char certvalidation_failed
Definition: codatunnel.private.h:114
char * decrypted_record
Definition: codatunnel.private.h:122
uv_async_t wakeup
Definition: codatunnel.private.h:155
socklen_t destlen
Definition: codatunnel.private.h:107
int uvcount
Definition: codatunnel.private.h:138
uv_mutex_t outbound_mutex
Definition: codatunnel.private.h:157
enum deststate state
Definition: codatunnel.private.h:110
struct sockaddr_storage destaddr
Definition: codatunnel.private.h:106
const char * fqdn
Definition: codatunnel.private.h:108
uv_mutex_t tls_receive_record_mutex
Definition: codatunnel.private.h:151
enq_data_t enqarray[UVBUFLIMIT]
Definition: codatunnel.private.h:137
gnutls_session_t my_tls_session
Definition: codatunnel.private.h:120
int uvoffset
Definition: codatunnel.private.h:141
uv_mutex_t tls_send_mutex
Definition: codatunnel.private.h:152
Definition: rpc2.private.h:63
char d
Definition: tdb.c:54
const char * sslcertdir
Definition: venus.cc:93