if(cfg->dnstap && cfg->dnstap_socket_path && cfg->dnstap_socket_path[0] &&
(cfg->dnstap_ip==NULL || cfg->dnstap_ip[0]==0)) {
+ char* p = fname_after_chroot(cfg->dnstap_socket_path, cfg, 1);
+ if(!p) {
+ log_err("malloc failure");
+ return NULL;
+ }
verbose(VERB_OPS, "attempting to connect to dnstap socket %s",
- cfg->dnstap_socket_path);
- check_socket_file(cfg->dnstap_socket_path);
+ p);
+ check_socket_file(p);
+ free(p);
}
env = (struct dt_env *) calloc(1, sizeof(struct dt_env));
return 0;
}
free(dtio->socket_path);
- dtio->socket_path = strdup(cfg->dnstap_socket_path);
+ dtio->socket_path = fname_after_chroot(cfg->dnstap_socket_path,
+ cfg, 1);
if(!dtio->socket_path) {
log_err("dnstap setup: malloc failure");
return 0;
- Fix that dnstap reconnects do not spam the log with the repeated
attempts. Attempts on the timer are only logged on high verbosity,
if they produce a connection failure error.
+ - Fix to apply chroot to dnstap-socket-path, if chroot is enabled.
20 August 2020: Ralph
- Fix stats double count issue (#289).