The remote control utility contacts the unbound server over ssl and sends the command, receives the answer, and displays the result from the commandline. More...
#include "config.h"
#include "util/log.h"
#include "util/config_file.h"
#include "util/locks.h"
#include "util/net_help.h"
#include "util/shm_side/shm_main.h"
#include "util/timeval_func.h"
#include "daemon/stats.h"
#include "sldns/wire2str.h"
#include "sldns/pkthdr.h"
#include "services/rpz.h"
#include "services/listen_dnsport.h"
Macros | |
#define | UNBOUND_CONTROL_CONNECT_TIMEOUT 5000 |
Functions | |
static void | usage (void) |
timeout to wait for connection over stream, in msec More... | |
static void | print_stats_shm (const char *cfgfile, int quiet) |
print statistics from shm memory segment | |
static void | ssl_err (const char *s) |
exit with ssl error | |
static void | ssl_path_err (const char *s, const char *path) |
exit with ssl error related to a file path | |
static SSL_CTX * | setup_ctx (struct config_file *cfg) |
setup SSL context | |
static void | checkconnecterr (int err, const char *svr, struct sockaddr_storage *addr, socklen_t addrlen, int statuscmd, int useport) |
check connect error | |
static int | contact_server (const char *svr, struct config_file *cfg, int statuscmd) |
contact the server with TCP connect | |
static SSL * | setup_ssl (SSL_CTX *ctx, int fd) |
setup SSL on the connection | |
static int | remote_read (SSL *ssl, int fd, char *buf, size_t len) |
read from ssl or fd, fatalexit on error, 0 EOF, 1 success | |
static void | remote_write (SSL *ssl, int fd, const char *buf, size_t len) |
write to ssl or fd, fatalexit on error | |
static void | check_args_for_listcmd (int argc, char *argv[]) |
check args, to see if too many args. More... | |
static void | send_file (SSL *ssl, int fd, FILE *in, char *buf, size_t sz) |
send stdin to server | |
static void | send_eof (SSL *ssl, int fd) |
send end-of-file marker to server | |
static int | go_cmd (SSL *ssl, int fd, int quiet, int argc, char *argv[]) |
send command and display result | |
static int | go (const char *cfgfile, char *svr, int quiet, int argc, char *argv[]) |
go ahead and read config, contact server and perform command and display | |
int | main (int argc, char *argv[]) |
Main routine for unbound-control. | |
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. | |
The remote control utility contacts the unbound server over ssl and sends the command, receives the answer, and displays the result from the commandline.
|
static |
timeout to wait for connection over stream, in msec
Give unbound-control usage, and exit (1).
Referenced by main().
|
static |
check args, to see if too many args.
Because when a file is sent it would wait for the terminal, and we can check for too many arguments, eg. user put arguments on the commandline.