unbound: testcode/streamtcp.c File Reference

unbound 0.1

Macros | Functions | Variables
streamtcp.c File Reference

This program performs multiple DNS queries on a TCP stream. More...

`#include "config.h"`
`#include <signal.h>`
`#include <stdlib.h>`
`#include <unistd.h>`
`#include "util/locks.h"`
`#include "util/log.h"`
`#include "util/net_help.h"`
`#include "util/proxy_protocol.h"`
`#include "util/data/msgencode.h"`
`#include "util/data/msgparse.h"`
`#include "util/data/msgreply.h"`
`#include "util/data/dname.h"`
`#include "sldns/sbuffer.h"`
`#include "sldns/str2wire.h"`
`#include "sldns/wire2str.h"`
`#include <openssl/ssl.h>`
`#include <openssl/rand.h>`
`#include <openssl/err.h>`

## Macros
#define | PF_INET6 10
| define in case streamtcp is compiled on legacy systems

## Functions
static void | usage (char *argv[])
| usage information for streamtcp
static int | open_svr (const char *svr, int udp, struct sockaddr_storage *addr, socklen_t *addrlen)
| open TCP socket to svr
static void | write_q (int fd, int udp, SSL *ssl, sldns_buffer *buf, uint16_t id, sldns_buffer *proxy_buf, int pp2_parsed, const char *strname, const char *strtype, const char *strclass)
| write a query over the TCP fd
static void | recv_one (int fd, int udp, SSL *ssl, sldns_buffer *buf)
| receive DNS datagram over TCP and print it
static void | print_any_answers (int fd, int udp, SSL *ssl, sldns_buffer *buf, int *num_answers, int wait_all)
| see if we can receive any results
static int | get_random (void)
static int | parse_pp2_client (const char *pp2_client, int udp, sldns_buffer *proxy_buf)
static void | send_em (const char *svr, const char *pp2_client, int udp, int usessl, int noanswer, int onarrival, int delay, int num, char **qs)
| send the TCP queries and print answers
int | main (int argc, char **argv)
| main program for streamtcp

## Variables
int | optind
| getopt global, in case header files fail to declare it.
char * | optarg
| getopt global, in case header files fail to declare it.

## Detailed Description

This program performs multiple DNS queries on a TCP stream.