version 1.150, 2016/01/04 02:18:31 |
version 1.151, 2016/05/28 19:39:16 |
|
|
void set_common_sockopts(int, int); |
void set_common_sockopts(int, int); |
int map_tos(char *, int *); |
int map_tos(char *, int *); |
int map_tls(char *, int *); |
int map_tls(char *, int *); |
void report_connect(const struct sockaddr *, socklen_t); |
void report_connect(const struct sockaddr *, socklen_t, char *); |
void report_tls(struct tls *tls_ctx, char * host, char *tls_expectname); |
void report_tls(struct tls *tls_ctx, char * host, char *tls_expectname); |
void usage(int); |
void usage(int); |
ssize_t drainbuf(int, unsigned char *, size_t *, struct tls *); |
ssize_t drainbuf(int, unsigned char *, size_t *, struct tls *); |
|
|
err(1, "connect"); |
err(1, "connect"); |
|
|
if (vflag) |
if (vflag) |
report_connect((struct sockaddr *)&z, len); |
report_connect((struct sockaddr *)&z, len, NULL); |
|
|
readwrite(s, NULL); |
readwrite(s, NULL); |
} else { |
} else { |
|
|
err(1, "accept"); |
err(1, "accept"); |
} |
} |
if (vflag) |
if (vflag) |
report_connect((struct sockaddr *)&cliaddr, len); |
report_connect((struct sockaddr *)&cliaddr, len, |
|
family == AF_UNIX ? host : NULL); |
if ((usetls) && |
if ((usetls) && |
(tls_cctx = tls_setup_server(tls_ctx, connfd, host))) |
(tls_cctx = tls_setup_server(tls_ctx, connfd, host))) |
readwrite(connfd, tls_cctx); |
readwrite(connfd, tls_cctx); |
|
|
} |
} |
|
|
void |
void |
report_connect(const struct sockaddr *sa, socklen_t salen) |
report_connect(const struct sockaddr *sa, socklen_t salen, char *path) |
{ |
{ |
char remote_host[NI_MAXHOST]; |
char remote_host[NI_MAXHOST]; |
char remote_port[NI_MAXSERV]; |
char remote_port[NI_MAXSERV]; |
int herr; |
int herr; |
int flags = NI_NUMERICSERV; |
int flags = NI_NUMERICSERV; |
|
|
|
if (path != NULL) { |
|
fprintf(stderr, "Connection on %s received!\n", path); |
|
return; |
|
} |
|
|
if (nflag) |
if (nflag) |
flags |= NI_NUMERICHOST; |
flags |= NI_NUMERICHOST; |