mirror of
https://github.com/yrutschle/sslh.git
synced 2025-04-15 08:30:34 +03:00
migrate common.c to new logging system
This commit is contained in:
parent
e5f16b93ce
commit
e6cbbe9511
29
common.c
29
common.c
@ -323,15 +323,14 @@ int connect_addr(struct connection *cnx, int fd_from, connect_blocking blocking)
|
|||||||
/* When transparent, make sure both connections use the same address family */
|
/* When transparent, make sure both connections use the same address family */
|
||||||
if (transparent && a->ai_family != from.ai_addr->sa_family)
|
if (transparent && a->ai_family != from.ai_addr->sa_family)
|
||||||
continue;
|
continue;
|
||||||
if (cfg.verbose)
|
print_message(msg_connections_try, "trying to connect to %s family %d len %d\n",
|
||||||
fprintf(stderr, "connecting to %s family %d len %d\n",
|
|
||||||
sprintaddr(buf, sizeof(buf), a),
|
sprintaddr(buf, sizeof(buf), a),
|
||||||
a->ai_addr->sa_family, a->ai_addrlen);
|
a->ai_addr->sa_family, a->ai_addrlen);
|
||||||
|
|
||||||
/* XXX Needs to match ai_family from fd_from when being transparent! */
|
/* XXX Needs to match ai_family from fd_from when being transparent! */
|
||||||
fd = socket(a->ai_family, SOCK_STREAM, 0);
|
fd = socket(a->ai_family, SOCK_STREAM, 0);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
log_message(LOG_ERR, "forward to %s failed:socket: %s\n",
|
print_message(msg_connections_error, "forward to %s failed:socket: %s\n",
|
||||||
cnx->proto->name, strerror(errno));
|
cnx->proto->name, strerror(errno));
|
||||||
} else {
|
} else {
|
||||||
one = 1;
|
one = 1;
|
||||||
@ -351,7 +350,7 @@ int connect_addr(struct connection *cnx, int fd_from, connect_blocking blocking)
|
|||||||
/* EINPROGRESS indicates it might take time. If it eventually
|
/* EINPROGRESS indicates it might take time. If it eventually
|
||||||
* fails, it'll be caught as a failed read */
|
* fails, it'll be caught as a failed read */
|
||||||
if ((res == -1) && (errno != EINPROGRESS)) {
|
if ((res == -1) && (errno != EINPROGRESS)) {
|
||||||
log_message(LOG_ERR, "forward to %s failed:connect: %s\n",
|
print_message(msg_connections_error, "forward to %s failed:connect: %s\n",
|
||||||
cnx->proto->name, strerror(errno));
|
cnx->proto->name, strerror(errno));
|
||||||
close(fd);
|
close(fd);
|
||||||
continue; /* Try the next address */
|
continue; /* Try the next address */
|
||||||
@ -371,9 +370,8 @@ int defer_write(struct queue *q, void* data, int data_size)
|
|||||||
{
|
{
|
||||||
char *p;
|
char *p;
|
||||||
ptrdiff_t data_offset = q->deferred_data - q->begin_deferred_data;
|
ptrdiff_t data_offset = q->deferred_data - q->begin_deferred_data;
|
||||||
if (cfg.verbose)
|
|
||||||
fprintf(stderr, "**** writing deferred on fd %d\n", q->fd);
|
|
||||||
|
|
||||||
|
print_message(msg_fd, "writing deferred on fd %d\n", q->fd);
|
||||||
p = realloc(q->begin_deferred_data, data_offset + q->deferred_data_size + data_size);
|
p = realloc(q->begin_deferred_data, data_offset + q->deferred_data_size + data_size);
|
||||||
CHECK_ALLOC(p, "realloc");
|
CHECK_ALLOC(p, "realloc");
|
||||||
|
|
||||||
@ -394,8 +392,7 @@ int flush_deferred(struct queue *q)
|
|||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
if (cfg.verbose)
|
print_message(msg_fd, "flushing deferred data to fd %d\n", q->fd);
|
||||||
fprintf(stderr, "flushing deferred data to fd %d\n", q->fd);
|
|
||||||
|
|
||||||
n = write(q->fd, q->deferred_data, q->deferred_data_size);
|
n = write(q->fd, q->deferred_data, q->deferred_data_size);
|
||||||
if (n == -1)
|
if (n == -1)
|
||||||
@ -570,7 +567,7 @@ void resolve_name(struct addrinfo **out, char* fullname)
|
|||||||
/* Find port */
|
/* Find port */
|
||||||
char *sep = strrchr(fullname, ':');
|
char *sep = strrchr(fullname, ':');
|
||||||
if (!sep) { /* No separator: parameter is just a port */
|
if (!sep) { /* No separator: parameter is just a port */
|
||||||
fprintf(stderr, "%s: names must be fully specified as hostname:port\n", fullname);
|
print_message(msg_config_error, "%s: names must be fully specified as hostname:port\n", fullname);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
serv = sep+1;
|
serv = sep+1;
|
||||||
@ -580,9 +577,9 @@ void resolve_name(struct addrinfo **out, char* fullname)
|
|||||||
|
|
||||||
res = resolve_split_name(out, host, serv);
|
res = resolve_split_name(out, host, serv);
|
||||||
if (res) {
|
if (res) {
|
||||||
fprintf(stderr, "%s `%s'\n", gai_strerror(res), fullname);
|
print_message(msg_config_error, "%s `%s'\n", gai_strerror(res), fullname);
|
||||||
if (res == EAI_SERVICE)
|
if (res == EAI_SERVICE)
|
||||||
fprintf(stderr, "(Check you have specified all ports)\n");
|
print_message(msg_config_error, "(Check you have specified all ports)\n");
|
||||||
exit(4);
|
exit(4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -664,8 +661,7 @@ int check_access_rights(int in_socket, const char* service)
|
|||||||
/* extract peer address */
|
/* extract peer address */
|
||||||
res = getnameinfo(&peer.saddr, size, addr_str, sizeof(addr_str), NULL, 0, NI_NUMERICHOST);
|
res = getnameinfo(&peer.saddr, size, addr_str, sizeof(addr_str), NULL, 0, NI_NUMERICHOST);
|
||||||
if (res) {
|
if (res) {
|
||||||
if (cfg.verbose)
|
print_message(msg_system_error, "getnameinfo(NI_NUMERICHOST):%s\n", gai_strerror(res));
|
||||||
fprintf(stderr, "getnameinfo(NI_NUMERICHOST):%s\n", gai_strerror(res));
|
|
||||||
strcpy(addr_str, STRING_UNKNOWN);
|
strcpy(addr_str, STRING_UNKNOWN);
|
||||||
}
|
}
|
||||||
/* extract peer name */
|
/* extract peer name */
|
||||||
@ -673,15 +669,12 @@ int check_access_rights(int in_socket, const char* service)
|
|||||||
if (!cfg.numeric) {
|
if (!cfg.numeric) {
|
||||||
res = getnameinfo(&peer.saddr, size, host, sizeof(host), NULL, 0, NI_NAMEREQD);
|
res = getnameinfo(&peer.saddr, size, host, sizeof(host), NULL, 0, NI_NAMEREQD);
|
||||||
if (res) {
|
if (res) {
|
||||||
if (cfg.verbose)
|
print_message(msg_system_error, "getnameinfo(NI_NAMEREQD):%s\n", gai_strerror(res));
|
||||||
fprintf(stderr, "getnameinfo(NI_NAMEREQD):%s\n", gai_strerror(res));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hosts_ctl(service, host, addr_str, STRING_UNKNOWN)) {
|
if (!hosts_ctl(service, host, addr_str, STRING_UNKNOWN)) {
|
||||||
if (cfg.verbose)
|
print_message(msg_connections, "connection from %s(%s): access denied", host, addr_str);
|
||||||
fprintf(stderr, "access denied\n");
|
|
||||||
log_message(LOG_INFO, "connection from %s(%s): access denied", host, addr_str);
|
|
||||||
close(in_socket);
|
close(in_socket);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
19
log.c
19
log.c
@ -56,12 +56,29 @@ msg_info msg_system_error = {
|
|||||||
&cfg.verbose_system_error
|
&cfg.verbose_system_error
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
msg_info msg_packets = {
|
msg_info msg_packets = {
|
||||||
LOG_INFO,
|
LOG_INFO,
|
||||||
&cfg.verbose_packets
|
&cfg.verbose_packets
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* additional info when attempting outgoing connections */
|
||||||
|
msg_info msg_connections_try = {
|
||||||
|
LOG_DEBUG,
|
||||||
|
&cfg.verbose_connections_try
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Connection information and failures (e.g. forbidden by policy) */
|
||||||
|
msg_info msg_connections = {
|
||||||
|
LOG_INFO,
|
||||||
|
&cfg.verbose_connections
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Connection failures, e.g. target server not present */
|
||||||
|
msg_info msg_connections_error = {
|
||||||
|
LOG_ERR,
|
||||||
|
&cfg.verbose_connections_error
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4
log.h
4
log.h
@ -22,4 +22,8 @@ extern msg_info msg_packets;
|
|||||||
extern msg_info msg_int_error;
|
extern msg_info msg_int_error;
|
||||||
extern msg_info msg_system_error;
|
extern msg_info msg_system_error;
|
||||||
|
|
||||||
|
extern msg_info msg_connections_try;
|
||||||
|
extern msg_info msg_connections_error;
|
||||||
|
extern msg_info msg_connections;
|
||||||
|
|
||||||
#endif /* LOG_H */
|
#endif /* LOG_H */
|
||||||
|
47
sslh-conf.c
47
sslh-conf.c
@ -1,5 +1,5 @@
|
|||||||
/* Generated by conf2struct (https://www.rutschle.net/tech/conf2struct/README)
|
/* Generated by conf2struct (https://www.rutschle.net/tech/conf2struct/README)
|
||||||
* on Sun Sep 19 21:54:06 2021.
|
* on Sun Sep 26 15:51:02 2021.
|
||||||
|
|
||||||
# conf2struct: generate libconf parsers that read to structs
|
# conf2struct: generate libconf parsers that read to structs
|
||||||
# Copyright (C) 2018-2021 Yves Rutschle
|
# Copyright (C) 2018-2021 Yves Rutschle
|
||||||
@ -446,6 +446,7 @@ struct arg_file* sslhcfg_conffile;
|
|||||||
struct arg_int* sslhcfg_verbose_config;
|
struct arg_int* sslhcfg_verbose_config;
|
||||||
struct arg_int* sslhcfg_verbose_config_error;
|
struct arg_int* sslhcfg_verbose_config_error;
|
||||||
struct arg_int* sslhcfg_verbose_connections;
|
struct arg_int* sslhcfg_verbose_connections;
|
||||||
|
struct arg_int* sslhcfg_verbose_connections_try;
|
||||||
struct arg_int* sslhcfg_verbose_connections_error;
|
struct arg_int* sslhcfg_verbose_connections_error;
|
||||||
struct arg_int* sslhcfg_verbose_fd;
|
struct arg_int* sslhcfg_verbose_fd;
|
||||||
struct arg_int* sslhcfg_verbose_packets;
|
struct arg_int* sslhcfg_verbose_packets;
|
||||||
@ -791,7 +792,7 @@ static struct config_desc table_sslhcfg_listen[] = {
|
|||||||
},
|
},
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct config_desc table_sslhcfg[] = {
|
static struct config_desc table_sslhcfg[] = {
|
||||||
|
|
||||||
|
|
||||||
@ -843,6 +844,22 @@ static struct config_desc table_sslhcfg[] = {
|
|||||||
/* default_val*/ .default_val.def_int = 3
|
/* default_val*/ .default_val.def_int = 3
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
/* name */ "verbose_connections_try",
|
||||||
|
/* type */ CFG_INT,
|
||||||
|
/* sub_group*/ NULL,
|
||||||
|
/* arg_cl */ & sslhcfg_verbose_connections_try,
|
||||||
|
/* base_addr */ NULL,
|
||||||
|
/* offset */ offsetof(struct sslhcfg_item, verbose_connections_try),
|
||||||
|
/* offset_len */ 0,
|
||||||
|
/* offset_present */ 0,
|
||||||
|
/* size */ sizeof(int),
|
||||||
|
/* array_type */ -1,
|
||||||
|
/* mandatory */ 0,
|
||||||
|
/* optional */ 0,
|
||||||
|
/* default_val*/ .default_val.def_int = 0
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* name */ "verbose_connections_error",
|
/* name */ "verbose_connections_error",
|
||||||
/* type */ CFG_INT,
|
/* type */ CFG_INT,
|
||||||
@ -1259,7 +1276,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: listen */
|
{ /* arg: listen */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_listen,
|
.arg_cl = & sslhcfg_listen,
|
||||||
.base_entry = & table_sslhcfg [21],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_listen_targets,
|
.targets = sslhcfg_listen_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1271,7 +1288,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: ssh */
|
{ /* arg: ssh */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_ssh,
|
.arg_cl = & sslhcfg_ssh,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_ssh_targets,
|
.targets = sslhcfg_ssh_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1283,7 +1300,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: tls */
|
{ /* arg: tls */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_tls,
|
.arg_cl = & sslhcfg_tls,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_tls_targets,
|
.targets = sslhcfg_tls_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1295,7 +1312,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: openvpn */
|
{ /* arg: openvpn */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_openvpn,
|
.arg_cl = & sslhcfg_openvpn,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_openvpn_targets,
|
.targets = sslhcfg_openvpn_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1307,7 +1324,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: tinc */
|
{ /* arg: tinc */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_tinc,
|
.arg_cl = & sslhcfg_tinc,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_tinc_targets,
|
.targets = sslhcfg_tinc_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1319,7 +1336,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: xmpp */
|
{ /* arg: xmpp */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_xmpp,
|
.arg_cl = & sslhcfg_xmpp,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_xmpp_targets,
|
.targets = sslhcfg_xmpp_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1331,7 +1348,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: http */
|
{ /* arg: http */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_http,
|
.arg_cl = & sslhcfg_http,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_http_targets,
|
.targets = sslhcfg_http_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1343,7 +1360,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: adb */
|
{ /* arg: adb */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_adb,
|
.arg_cl = & sslhcfg_adb,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_adb_targets,
|
.targets = sslhcfg_adb_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1355,7 +1372,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: socks5 */
|
{ /* arg: socks5 */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_socks5,
|
.arg_cl = & sslhcfg_socks5,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_socks5_targets,
|
.targets = sslhcfg_socks5_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1367,7 +1384,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: syslog */
|
{ /* arg: syslog */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_syslog,
|
.arg_cl = & sslhcfg_syslog,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_syslog_targets,
|
.targets = sslhcfg_syslog_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1379,7 +1396,7 @@ static struct compound_cl_arg compound_cl_args[] = {
|
|||||||
{ /* arg: anyprot */
|
{ /* arg: anyprot */
|
||||||
.regex = "(.+):(\\w+)",
|
.regex = "(.+):(\\w+)",
|
||||||
.arg_cl = & sslhcfg_anyprot,
|
.arg_cl = & sslhcfg_anyprot,
|
||||||
.base_entry = & table_sslhcfg [22],
|
.base_entry = & table_sslhcfg [23],
|
||||||
.targets = sslhcfg_anyprot_targets,
|
.targets = sslhcfg_anyprot_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -2047,6 +2064,7 @@ int sslhcfg_cl_parse(int argc, char* argv[], struct sslhcfg_item* cfg)
|
|||||||
sslhcfg_verbose_config = arg_intn(NULL, "verbose-config", "<n>", 0, 1, ""),
|
sslhcfg_verbose_config = arg_intn(NULL, "verbose-config", "<n>", 0, 1, ""),
|
||||||
sslhcfg_verbose_config_error = arg_intn(NULL, "verbose-config-error", "<n>", 0, 1, ""),
|
sslhcfg_verbose_config_error = arg_intn(NULL, "verbose-config-error", "<n>", 0, 1, ""),
|
||||||
sslhcfg_verbose_connections = arg_intn(NULL, "verbose-connections", "<n>", 0, 1, ""),
|
sslhcfg_verbose_connections = arg_intn(NULL, "verbose-connections", "<n>", 0, 1, ""),
|
||||||
|
sslhcfg_verbose_connections_try = arg_intn(NULL, "verbose-connections-try", "<n>", 0, 1, ""),
|
||||||
sslhcfg_verbose_connections_error = arg_intn(NULL, "verbose-connections-error", "<n>", 0, 1, ""),
|
sslhcfg_verbose_connections_error = arg_intn(NULL, "verbose-connections-error", "<n>", 0, 1, ""),
|
||||||
sslhcfg_verbose_fd = arg_intn(NULL, "verbose-fd", "<n>", 0, 1, ""),
|
sslhcfg_verbose_fd = arg_intn(NULL, "verbose-fd", "<n>", 0, 1, ""),
|
||||||
sslhcfg_verbose_packets = arg_intn(NULL, "verbose-packets", "<n>", 0, 1, ""),
|
sslhcfg_verbose_packets = arg_intn(NULL, "verbose-packets", "<n>", 0, 1, ""),
|
||||||
@ -2230,6 +2248,9 @@ void sslhcfg_fprint(
|
|||||||
fprintf(out, "verbose_connections: %d", sslhcfg->verbose_connections);
|
fprintf(out, "verbose_connections: %d", sslhcfg->verbose_connections);
|
||||||
fprintf(out, "\n");
|
fprintf(out, "\n");
|
||||||
indent(out, depth);
|
indent(out, depth);
|
||||||
|
fprintf(out, "verbose_connections_try: %d", sslhcfg->verbose_connections_try);
|
||||||
|
fprintf(out, "\n");
|
||||||
|
indent(out, depth);
|
||||||
fprintf(out, "verbose_connections_error: %d", sslhcfg->verbose_connections_error);
|
fprintf(out, "verbose_connections_error: %d", sslhcfg->verbose_connections_error);
|
||||||
fprintf(out, "\n");
|
fprintf(out, "\n");
|
||||||
indent(out, depth);
|
indent(out, depth);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Generated by conf2struct (https://www.rutschle.net/tech/conf2struct/README)
|
/* Generated by conf2struct (https://www.rutschle.net/tech/conf2struct/README)
|
||||||
* on Sun Sep 19 21:54:06 2021.
|
* on Sun Sep 26 15:51:02 2021.
|
||||||
|
|
||||||
# conf2struct: generate libconf parsers that read to structs
|
# conf2struct: generate libconf parsers that read to structs
|
||||||
# Copyright (C) 2018-2021 Yves Rutschle
|
# Copyright (C) 2018-2021 Yves Rutschle
|
||||||
@ -77,6 +77,7 @@ struct sslhcfg_item {
|
|||||||
int verbose_config;
|
int verbose_config;
|
||||||
int verbose_config_error;
|
int verbose_config_error;
|
||||||
int verbose_connections;
|
int verbose_connections;
|
||||||
|
int verbose_connections_try;
|
||||||
int verbose_connections_error;
|
int verbose_connections_error;
|
||||||
int verbose_fd;
|
int verbose_fd;
|
||||||
int verbose_packets;
|
int verbose_packets;
|
||||||
|
@ -28,6 +28,7 @@ config: {
|
|||||||
{ name: "verbose-config"; type: "int"; default: 0; },
|
{ name: "verbose-config"; type: "int"; default: 0; },
|
||||||
{ name: "verbose-config-error"; type: "int"; default: 3; },
|
{ name: "verbose-config-error"; type: "int"; default: 3; },
|
||||||
{ name: "verbose-connections"; type: "int"; default: 3; },
|
{ name: "verbose-connections"; type: "int"; default: 3; },
|
||||||
|
{ name: "verbose-connections-try"; type: "int"; default: 0; },
|
||||||
{ name: "verbose-connections-error"; type: "int"; default: 3; },
|
{ name: "verbose-connections-error"; type: "int"; default: 3; },
|
||||||
{ name: "verbose-fd"; type: "int"; default: 0; },
|
{ name: "verbose-fd"; type: "int"; default: 0; },
|
||||||
{ name: "verbose-packets"; type: "int"; default: 0; },
|
{ name: "verbose-packets"; type: "int"; default: 0; },
|
||||||
|
3
test.cfg
3
test.cfg
@ -22,6 +22,9 @@ syslog_facility: "auth";
|
|||||||
verbose-packets: 3; # hexdump packets on which probing is done
|
verbose-packets: 3; # hexdump packets on which probing is done
|
||||||
#verbose-system-error: 3; # system call problem, i.e. malloc, fork, failing
|
#verbose-system-error: 3; # system call problem, i.e. malloc, fork, failing
|
||||||
#verbose-int-error: 3; # internal errors, the kind that should never happen
|
#verbose-int-error: 3; # internal errors, the kind that should never happen
|
||||||
|
#verbose-connections-try: 3; # connection attempts towards targets
|
||||||
|
#verbose-connections: 3; # trace established incoming address to forward address
|
||||||
|
# verbose-connections-error: 3; # connection errors
|
||||||
|
|
||||||
# List of interfaces on which we should listen
|
# List of interfaces on which we should listen
|
||||||
# Options:
|
# Options:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user