tls_auth_options
struct tls_auth_options *tls_auth = cfg_parser->tls_auth;
b->tls_auth_options = NULL;
b->tls_auth_options = tls_auth_options_find(opt, b->tls_auth_name);
else b->tls_auth_options = NULL;
acl->tls_auth_options = NULL;
struct tls_auth_options*
struct tls_auth_options* tls_auth_options;
tls_auth_options = (struct tls_auth_options*)region_alloc_zero(region, sizeof(struct tls_auth_options));
return tls_auth_options;
tls_auth_options_insert(struct nsd_options* opt, struct tls_auth_options* auth)
struct tls_auth_options*
return (struct tls_auth_options*)rbtree_search(opt->tls_auths, name);
if (acl->tls_auth_options && acl->tls_auth_options->auth_domain_name) {
if (!acl_tls_hostname_matches(q->tls_auth, acl->tls_auth_options->auth_domain_name)) {
acl->tls_auth_name, acl->tls_auth_options->auth_domain_name));
acl->tls_auth_name, acl->tls_auth_options->auth_domain_name));
q->cert_cn = acl->tls_auth_options->auth_domain_name;
acl->tls_auth_options = 0;
else if (!(acl->tls_auth_options =
if (!(acl->tls_auth_options =
typedef struct tls_auth_options tls_auth_options_type;
struct tls_auth_options* tls_auth_options;
struct tls_auth_options *tls_auth;
struct tls_auth_options* tls_auth_options_create(region_type* region);
void tls_auth_options_insert(struct nsd_options* opt, struct tls_auth_options* auth);
struct tls_auth_options* tls_auth_options_find(struct nsd_options* opt, const char* name);
zone->master->tls_auth_options->client_key) {
zone->master->tls_auth_options->client_cert) != 1) {
log_msg(LOG_ERR, "xfrd tls: Unable to load client certificate from file %s", zone->master->tls_auth_options->client_cert);
if (zone->master->tls_auth_options->client_key_pw) {
SSL_CTX_set_default_passwd_cb_userdata(set->ssl_ctx, zone->master->tls_auth_options->client_key_pw);
if (SSL_CTX_use_PrivateKey_file(set->ssl_ctx, zone->master->tls_auth_options->client_key, SSL_FILETYPE_PEM) != 1) {
log_msg(LOG_ERR, "xfrd tls: Unable to load private key from file %s", zone->master->tls_auth_options->client_key);
zone->master->tls_auth_options->client_key,
zone->master->tls_auth_options->client_cert);
if (!setup_ssl(tp, set, zone->master->tls_auth_options->auth_domain_name)) {
unsigned int port = acl->port?acl->port:(acl->tls_auth_options?
if (zone->master->tls_auth_options &&
zone->master->tls_auth_options->auth_domain_name) {
if (zone->master->tls_auth_options->client_cert &&
if(zone->master->tls_auth_options && zone->master->tls_auth_options->auth_domain_name) {
zone->master->tls_auth_options->auth_domain_name);
if (xzone->master->tls_auth_options != NULL) num_xot++;