mirror of
https://github.com/yrutschle/sslh.git
synced 2025-04-14 16:17:14 +03:00
hexdump writes to parametrable msg_info
This commit is contained in:
parent
673c40954e
commit
e5f16b93ce
10
common.c
10
common.c
@ -427,11 +427,11 @@ void init_cnx(struct connection *cnx)
|
|||||||
|
|
||||||
void dump_connection(struct connection *cnx)
|
void dump_connection(struct connection *cnx)
|
||||||
{
|
{
|
||||||
printf("state: %d\n", cnx->state);
|
print_message(msg_int_error, "state: %d\n", cnx->state);
|
||||||
printf("0: fd %d, %d deferred\n", cnx->q[0].fd, cnx->q[0].deferred_data_size);
|
print_message(msg_int_error, "0: fd %d, %d deferred\n", cnx->q[0].fd, cnx->q[0].deferred_data_size);
|
||||||
hexdump(cnx->q[0].deferred_data, cnx->q[0].deferred_data_size);
|
hexdump(msg_int_error, cnx->q[0].deferred_data, cnx->q[0].deferred_data_size);
|
||||||
printf("1: fd %d, %d deferred\n", cnx->q[1].fd, cnx->q[1].deferred_data_size);
|
print_message(msg_int_error, "1: fd %d, %d deferred\n", cnx->q[1].fd, cnx->q[1].deferred_data_size);
|
||||||
hexdump(cnx->q[1].deferred_data, cnx->q[1].deferred_data_size);
|
hexdump(msg_int_error, cnx->q[1].deferred_data, cnx->q[1].deferred_data_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -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 Sat Sep 18 17:28:37 2021.
|
* on Sun Sep 19 21:54:08 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
|
||||||
|
@ -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 Sat Sep 18 17:28:37 2021.
|
* on Sun Sep 19 21:54:08 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
|
||||||
|
7
log.c
7
log.c
@ -57,6 +57,13 @@ msg_info msg_system_error = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
msg_info msg_packets = {
|
||||||
|
LOG_INFO,
|
||||||
|
&cfg.verbose_packets
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Bitmasks in verbose-* values */
|
/* Bitmasks in verbose-* values */
|
||||||
#define MSG_STDOUT 1
|
#define MSG_STDOUT 1
|
||||||
|
1
log.h
1
log.h
@ -17,6 +17,7 @@ extern msg_info msg_config;
|
|||||||
extern msg_info msg_config_error;
|
extern msg_info msg_config_error;
|
||||||
|
|
||||||
extern msg_info msg_fd;
|
extern msg_info msg_fd;
|
||||||
|
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;
|
||||||
|
28
probe.c
28
probe.c
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
# probe.c: Code for probing protocols
|
# probe.c: Code for probing protocols
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007-2019 Yves Rutschle
|
# Copyright (C) 2007-2021 Yves Rutschle
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it
|
# This program is free software; you can redistribute it
|
||||||
# and/or modify it under the terms of the GNU General Public
|
# and/or modify it under the terms of the GNU General Public
|
||||||
@ -27,6 +27,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "probe.h"
|
#include "probe.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -81,33 +82,38 @@ struct sslhcfg_protocols_item* timeout_protocol(void)
|
|||||||
|
|
||||||
/* From http://grapsus.net/blog/post/Hexadecimal-dump-in-C */
|
/* From http://grapsus.net/blog/post/Hexadecimal-dump-in-C */
|
||||||
#define HEXDUMP_COLS 16
|
#define HEXDUMP_COLS 16
|
||||||
void hexdump(const char *mem, unsigned int len)
|
void hexdump(msg_info msg_info, const char *mem, unsigned int len)
|
||||||
{
|
{
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
|
char str[10 + HEXDUMP_COLS * 4 + 2];
|
||||||
|
int c = 0; /* index in str */
|
||||||
|
|
||||||
for(i = 0; i < len + ((len % HEXDUMP_COLS) ? (HEXDUMP_COLS - len % HEXDUMP_COLS) : 0); i++)
|
for(i = 0; i < len + ((len % HEXDUMP_COLS) ? (HEXDUMP_COLS - len % HEXDUMP_COLS) : 0); i++)
|
||||||
{
|
{
|
||||||
/* print offset */
|
/* print offset */
|
||||||
if(i % HEXDUMP_COLS == 0)
|
if(i % HEXDUMP_COLS == 0)
|
||||||
fprintf(stderr, "0x%06x: ", i);
|
c += sprintf(&str[c], "0x%06x: ", i);
|
||||||
|
|
||||||
/* print hex data */
|
/* print hex data */
|
||||||
if(i < len)
|
if(i < len)
|
||||||
fprintf(stderr, "%02x ", 0xFF & mem[i]);
|
c += sprintf(&str[c], "%02x ", 0xFF & mem[i]);
|
||||||
else /* end of block, just aligning for ASCII dump */
|
else /* end of block, just aligning for ASCII dump */
|
||||||
fprintf(stderr, " ");
|
c+= sprintf(&str[c], " ");
|
||||||
|
|
||||||
/* print ASCII dump */
|
/* print ASCII dump */
|
||||||
if(i % HEXDUMP_COLS == (HEXDUMP_COLS - 1)) {
|
if(i % HEXDUMP_COLS == (HEXDUMP_COLS - 1)) {
|
||||||
for(j = i - (HEXDUMP_COLS - 1); j <= i; j++) {
|
for(j = i - (HEXDUMP_COLS - 1); j <= i; j++) {
|
||||||
if(j >= len) /* end of block, not really printing */
|
if(j >= len) /* end of block, not really printing */
|
||||||
fputc(' ', stderr);
|
str[c++] = ' ';
|
||||||
else if(isprint(mem[j])) /* printable char */
|
else if(isprint(mem[j])) /* printable char */
|
||||||
fputc(0xFF & mem[j], stderr);
|
str[c++] = 0xFF & mem[j];
|
||||||
else /* other char */
|
else /* other char */
|
||||||
fputc('.', stderr);
|
str[c++] = '.';
|
||||||
}
|
}
|
||||||
fputc('\n', stderr);
|
str[c++] = '\n';
|
||||||
|
str[c++] = 0;
|
||||||
|
print_message(msg_info, str);
|
||||||
|
c = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -345,8 +351,8 @@ int probe_buffer(char* buf, int len, struct sslhcfg_protocols_item** proto)
|
|||||||
int i, res, again = 0;
|
int i, res, again = 0;
|
||||||
|
|
||||||
if (cfg.verbose > 1) {
|
if (cfg.verbose > 1) {
|
||||||
fprintf(stderr, "hexdump of incoming packet:\n");
|
print_message(msg_packets, "hexdump of incoming packet:\n");
|
||||||
hexdump(buf, len);
|
hexdump(msg_packets, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
*proto = NULL;
|
*proto = NULL;
|
||||||
|
3
probe.h
3
probe.h
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "tls.h"
|
#include "tls.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PROBE_NEXT, /* Enough data, probe failed -- it's some other protocol */
|
PROBE_NEXT, /* Enough data, probe failed -- it's some other protocol */
|
||||||
@ -59,6 +60,6 @@ void set_ontimeout(const char* name);
|
|||||||
*/
|
*/
|
||||||
struct sslhcfg_protocols_item* timeout_protocol(void);
|
struct sslhcfg_protocols_item* timeout_protocol(void);
|
||||||
|
|
||||||
void hexdump(const char*, unsigned int);
|
void hexdump(msg_info, const char*, unsigned int);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
68
sslh-conf.c
68
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 20:20:24 2021.
|
* on Sun Sep 19 21:54:06 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,7 +446,9 @@ 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_error;
|
||||||
struct arg_int* sslhcfg_verbose_fd;
|
struct arg_int* sslhcfg_verbose_fd;
|
||||||
|
struct arg_int* sslhcfg_verbose_packets;
|
||||||
struct arg_int* sslhcfg_verbose_system_error;
|
struct arg_int* sslhcfg_verbose_system_error;
|
||||||
struct arg_int* sslhcfg_verbose_int_error;
|
struct arg_int* sslhcfg_verbose_int_error;
|
||||||
struct arg_int* sslhcfg_verbose;
|
struct arg_int* sslhcfg_verbose;
|
||||||
@ -838,7 +840,23 @@ static struct config_desc table_sslhcfg[] = {
|
|||||||
/* array_type */ -1,
|
/* array_type */ -1,
|
||||||
/* mandatory */ 0,
|
/* mandatory */ 0,
|
||||||
/* optional */ 0,
|
/* optional */ 0,
|
||||||
/* default_val*/ .default_val.def_int = 0
|
/* default_val*/ .default_val.def_int = 3
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
/* name */ "verbose_connections_error",
|
||||||
|
/* type */ CFG_INT,
|
||||||
|
/* sub_group*/ NULL,
|
||||||
|
/* arg_cl */ & sslhcfg_verbose_connections_error,
|
||||||
|
/* base_addr */ NULL,
|
||||||
|
/* offset */ offsetof(struct sslhcfg_item, verbose_connections_error),
|
||||||
|
/* offset_len */ 0,
|
||||||
|
/* offset_present */ 0,
|
||||||
|
/* size */ sizeof(int),
|
||||||
|
/* array_type */ -1,
|
||||||
|
/* mandatory */ 0,
|
||||||
|
/* optional */ 0,
|
||||||
|
/* default_val*/ .default_val.def_int = 3
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -857,6 +875,22 @@ static struct config_desc table_sslhcfg[] = {
|
|||||||
/* default_val*/ .default_val.def_int = 0
|
/* default_val*/ .default_val.def_int = 0
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
/* name */ "verbose_packets",
|
||||||
|
/* type */ CFG_INT,
|
||||||
|
/* sub_group*/ NULL,
|
||||||
|
/* arg_cl */ & sslhcfg_verbose_packets,
|
||||||
|
/* base_addr */ NULL,
|
||||||
|
/* offset */ offsetof(struct sslhcfg_item, verbose_packets),
|
||||||
|
/* 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_system_error",
|
/* name */ "verbose_system_error",
|
||||||
/* type */ CFG_INT,
|
/* type */ CFG_INT,
|
||||||
@ -1225,7 +1259,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 [19],
|
.base_entry = & table_sslhcfg [21],
|
||||||
.targets = sslhcfg_listen_targets,
|
.targets = sslhcfg_listen_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1237,7 +1271,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_ssh_targets,
|
.targets = sslhcfg_ssh_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1249,7 +1283,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_tls_targets,
|
.targets = sslhcfg_tls_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1261,7 +1295,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_openvpn_targets,
|
.targets = sslhcfg_openvpn_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1273,7 +1307,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_tinc_targets,
|
.targets = sslhcfg_tinc_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1285,7 +1319,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_xmpp_targets,
|
.targets = sslhcfg_xmpp_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1297,7 +1331,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_http_targets,
|
.targets = sslhcfg_http_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1309,7 +1343,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_adb_targets,
|
.targets = sslhcfg_adb_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1321,7 +1355,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_socks5_targets,
|
.targets = sslhcfg_socks5_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1333,7 +1367,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_syslog_targets,
|
.targets = sslhcfg_syslog_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -1345,7 +1379,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 [20],
|
.base_entry = & table_sslhcfg [22],
|
||||||
.targets = sslhcfg_anyprot_targets,
|
.targets = sslhcfg_anyprot_targets,
|
||||||
|
|
||||||
|
|
||||||
@ -2013,7 +2047,9 @@ 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_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_system_error = arg_intn(NULL, "verbose-system-error", "<n>", 0, 1, ""),
|
sslhcfg_verbose_system_error = arg_intn(NULL, "verbose-system-error", "<n>", 0, 1, ""),
|
||||||
sslhcfg_verbose_int_error = arg_intn(NULL, "verbose-int-error", "<n>", 0, 1, ""),
|
sslhcfg_verbose_int_error = arg_intn(NULL, "verbose-int-error", "<n>", 0, 1, ""),
|
||||||
sslhcfg_verbose = arg_intn("v", "verbose", "<n>", 0, 1, ""),
|
sslhcfg_verbose = arg_intn("v", "verbose", "<n>", 0, 1, ""),
|
||||||
@ -2194,9 +2230,15 @@ 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_error: %d", sslhcfg->verbose_connections_error);
|
||||||
|
fprintf(out, "\n");
|
||||||
|
indent(out, depth);
|
||||||
fprintf(out, "verbose_fd: %d", sslhcfg->verbose_fd);
|
fprintf(out, "verbose_fd: %d", sslhcfg->verbose_fd);
|
||||||
fprintf(out, "\n");
|
fprintf(out, "\n");
|
||||||
indent(out, depth);
|
indent(out, depth);
|
||||||
|
fprintf(out, "verbose_packets: %d", sslhcfg->verbose_packets);
|
||||||
|
fprintf(out, "\n");
|
||||||
|
indent(out, depth);
|
||||||
fprintf(out, "verbose_system_error: %d", sslhcfg->verbose_system_error);
|
fprintf(out, "verbose_system_error: %d", sslhcfg->verbose_system_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 20:20:24 2021.
|
* on Sun Sep 19 21:54:06 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,7 +77,9 @@ 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_error;
|
||||||
int verbose_fd;
|
int verbose_fd;
|
||||||
|
int verbose_packets;
|
||||||
int verbose_system_error;
|
int verbose_system_error;
|
||||||
int verbose_int_error;
|
int verbose_int_error;
|
||||||
int verbose;
|
int verbose;
|
||||||
|
@ -27,8 +27,10 @@ config: {
|
|||||||
items: (
|
items: (
|
||||||
{ 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: 0; },
|
{ name: "verbose-connections"; 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-system-error"; type: "int"; default: 3; },
|
{ name: "verbose-system-error"; type: "int"; default: 3; },
|
||||||
{ name: "verbose-int-error"; type: "int"; default: 3; },
|
{ name: "verbose-int-error"; type: "int"; default: 3; },
|
||||||
|
1
test.cfg
1
test.cfg
@ -19,6 +19,7 @@ syslog_facility: "auth";
|
|||||||
#verbose-config-error: 3; #config-error: print configuration errors
|
#verbose-config-error: 3; #config-error: print configuration errors
|
||||||
#verbose-connections: 3; #config-connections: track connections
|
#verbose-connections: 3; #config-connections: track connections
|
||||||
#verbose-fd: 3; # file descriptor activity, open/close/whatnot
|
#verbose-fd: 3; # file descriptor activity, open/close/whatnot
|
||||||
|
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
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user