sslh/sslhconf.cfg

72 lines
2.7 KiB
INI

header: "sslh-conf.h";
parser: "sslh-conf.c";
# List of includes to define runtime types
# (bug in libconfig? if swallows the brackets if they start
# the string)
includes: (
"probe.h",
" <sys/types.h>",
" <sys/socket.h>",
" <netdb.h>"
);
config: {
name : "config",
type: "list",
items: (
{ name: "verbose"; type: "int"; default: 0; },
{ name: "foreground"; type: "boolean"; default: false; },
{ name: "inetd"; type: "boolean"; default: false; },
{ name: "numeric"; type: "boolean"; default: false; },
{ name: "transparent"; type: "boolean"; default: false; },
{ name: "timeout"; type: "int"; default: 2; },
{ name: "user"; type: "string"; optional: true; },
{ name: "pidfile"; type: "string"; optional: true; },
{ name: "chroot"; type: "string"; optional: true; },
{ name: "syslog_facility"; type: "string"; default: "auth"; },
{name: "on_timeout"; type: "string"; default: "ssh"; },
{ name: "listen",
type: "list",
items: (
{ name: "host"; type: "string"; var: true; },
{ name: "port"; type: "string"; var: true; },
{ name: "keepalive"; type: "boolean"; default: false; }
)
},
{ name: "protocols",
type: "list",
items: (
{ name: "name"; type: "string"; },
{ name: "host"; type: "string"; var: true; },
{ name: "port"; type: "string"; var: true; },
{ name: "service"; type: "string"; optional: true; },
{ name: "fork"; type: "boolean"; default: false },
{ name: "log_level"; type: "int"; default: 1 },
{ name: "keepalive"; type: "boolean"; default: false },
{ name: "sni_hostnames",
type: "array",
element_type: "string"
},
{ name: "alpn_protocols",
type: "array",
element_type: "string"
},
{ name: "regex_patterns",
type: "array",
element_type: "string"
},
# Runtime data
{ name: "probe"; type: "runtime"; c_type: "T_PROBE*" },
{ name: "saddr"; type: "runtime"; c_type: "struct addrinfo*" },
{ name: "data"; type: "runtime"; c_type: "void*" }
)
}
)
}