Skip to content

Commit 6bc8ae0

Browse files
committed
--with-cookiesecretsfile=path for configure
Partly addressing issue #196
1 parent bf7f505 commit 6bc8ae0

8 files changed

+28
-19
lines changed

Makefile.in

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ logfile = @logfile@
2424
xfrdir = @xfrdir@
2525
xfrdfile = @xfrdfile@
2626
zonelistfile = @zonelistfile@
27+
cookiesecretsfile = @cookiesecretsfile@
2728
nsdconfigfile = @nsd_conf_file@
2829
zonesdir = @zonesdir@
2930
chrootdir= @chrootdir@
@@ -73,6 +74,7 @@ EDIT = $(SED) \
7374
-e 's,@xfrdir\@,$(xfrdir),g' \
7475
-e 's,@xfrdfile\@,$(xfrdfile),g' \
7576
-e 's,@zonelistfile\@,$(zonelistfile),g' \
77+
-e 's,@cookiesecretsfile\@,$(cookiesecretsfile),g' \
7678
-e 's,@nsdconfigfile\@,$(nsdconfigfile),g' \
7779
-e 's,@shell\@,$(SHELL),g' \
7880
-e 's,@ratelimit_default\@,@ratelimit_default@,g' \
@@ -167,6 +169,7 @@ install: all
167169
$(INSTALL) -d $(DESTDIR)$(xfrdir)
168170
$(INSTALL) -d `dirname $(DESTDIR)$(xfrdfile)`
169171
$(INSTALL) -d `dirname $(DESTDIR)$(zonelistfile)`
172+
$(INSTALL) -d `dirname $(DESTDIR)$(cookiesecretsfile)`
170173
$(INSTALL) -d $(DESTDIR)$(mandir)
171174
$(INSTALL) -d $(DESTDIR)$(mandir)/man8
172175
$(INSTALL) -d $(DESTDIR)$(mandir)/man5
@@ -189,7 +192,7 @@ uninstall:
189192
rm -f -- $(DESTDIR)$(mandir)/man8/nsd-checkconf.8 $(DESTDIR)$(mandir)/man8/nsd-checkzone.8 $(DESTDIR)$(mandir)/man8/nsd-control.8
190193
rm -f -- $(DESTDIR)$(pidfile)
191194
@echo
192-
@echo "You still need to remove $(DESTDIR)$(configdir), $(DESTDIR)$(piddir), $(DESTDIR)$(xfrdfile), $(DESTDIR)$(zonelistfile) directory by hand."
195+
@echo "You still need to remove $(DESTDIR)$(configdir), $(DESTDIR)$(piddir), $(DESTDIR)$(xfrdfile), $(DESTDIR)$(zonelistfile) $(DESTDIR)$(cookiesecretsfile) directory by hand."
193196

194197
test:
195198

configure.ac

+6
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,12 @@ AC_ARG_WITH([zonelistfile], AS_HELP_STRING([--with-zonelistfile=path],[Pathname
126126
AC_DEFINE_UNQUOTED(ZONELISTFILE, ["`eval echo $zonelistfile`"], [Pathname to the NSD zone list file.])
127127
AC_SUBST(zonelistfile)
128128

129+
# default cookiesecrets file location.
130+
cookiesecretsfile=${dbdir}/cookiesecrets.txt
131+
AC_ARG_WITH([cookiesecretsfile], AS_HELP_STRING([--with-cookiesecretsfile=path],[Pathname to the NSD cookie secrets file]), [cookiesecretsfile=$withval])
132+
AC_DEFINE_UNQUOTED(COOKIESECRETSFILE, ["`eval echo $cookiesecretsfile`"], [Pathname to the NSD cookies secrets file.])
133+
AC_SUBST(cookiesecretsfile)
134+
129135
# default xfr dir location.
130136
xfrdir="/tmp"
131137
AC_ARG_WITH([xfrdir], AS_HELP_STRING([--with-xfrdir=path],[Pathname to where the NSD transfer dir is created]), [xfrdir=$withval])

nsd-control.8.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ be dropped with the \fBdrop_cookie_secret\fR command.
210210
.sp
211211
Persistence is accomplished by writing to a file which if configured with the
212212
\fBcookie\-secret\-file\fR option in the server section of the config file.
213-
The default value for that is: @configdir@/nsd_cookiesecrets.txt .
213+
The default value for that is: @cookiesecretsfile@ .
214214
.TP
215215
.B drop_cookie_secret
216216
Drop the \fIstaging\fR cookie secret.

nsd.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -905,12 +905,12 @@ bind8_stats (struct nsd *nsd)
905905
static
906906
int cookie_secret_file_read(nsd_type* nsd) {
907907
char secret[NSD_COOKIE_SECRET_SIZE * 2 + 2/*'\n' and '\0'*/];
908-
char const* file = nsd->options->cookie_secret_file;
908+
char const* file = nsd->options->cookie_secret_file
909+
? nsd->options->cookie_secret_file : COOKIESECRETSFILE;
909910
FILE* f;
910911
int corrupt = 0;
911912
size_t count;
912913

913-
assert( nsd->options->cookie_secret_file != NULL );
914914
f = fopen(file, "r");
915915
/* a non-existing cookie file is not an error */
916916
if( f == NULL ) { return errno != EPERM; }
@@ -1592,7 +1592,7 @@ main(int argc, char *argv[])
15921592
}
15931593
#endif /* HAVE_SSL */
15941594

1595-
if(nsd.options->cookie_secret_file && nsd.options->cookie_secret_file[0]
1595+
if((!nsd.options->cookie_secret_file || nsd.options->cookie_secret_file[0])
15961596
&& !cookie_secret_file_read(&nsd) ) {
15971597
log_msg(LOG_ERR, "cookie secret file corrupt or not readable");
15981598
}

nsd.conf.5.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ calculations.
490490
File from which the secrets are read used in DNS Cookie calculations. When this
491491
file exists, the secrets in this file are used and the secret specified by the
492492
\fBcookie-secret\fR option is ignored.
493-
Default is @configdir@/nsd_cookiesecrets.txt
493+
Default is @cookiesecretsfile@
494494
.sp
495495
The content of this file must be manipulated with the \fBadd_cookie_secret\fR,
496496
\fBdrop_cookie_secret\fR and \fBactivate_cookie_secret\fR commands to the

options.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ nsd_options_create(region_type* region)
151151
opt->proxy_protocol_port = NULL;
152152
opt->answer_cookie = 0;
153153
opt->cookie_secret = NULL;
154-
opt->cookie_secret_file = CONFIGDIR"/nsd_cookiesecrets.txt";
154+
opt->cookie_secret_file = NULL;
155155
opt->control_enable = 0;
156156
opt->control_interface = NULL;
157157
opt->control_port = NSD_CONTROL_PORT;

tpkg/checkconf.tdir/checkconf.check

+6-6
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ server:
5656
tls-port: "853"
5757
#tls-cert-bundle:
5858
answer-cookie: no
59-
cookie-secret-file: "/etc/nsd/nsd_cookiesecrets.txt"
59+
cookie-secret-file: "/var/db/nsd/cookiesecrets.txt"
6060

6161
remote-control:
6262
control-enable: no
@@ -190,7 +190,7 @@ server:
190190
tls-port: "853"
191191
#tls-cert-bundle:
192192
answer-cookie: no
193-
cookie-secret-file: "/etc/nsd/nsd_cookiesecrets.txt"
193+
cookie-secret-file: "/var/db/nsd/cookiesecrets.txt"
194194

195195
remote-control:
196196
control-enable: no
@@ -267,7 +267,7 @@ server:
267267
tls-port: "853"
268268
#tls-cert-bundle:
269269
answer-cookie: no
270-
cookie-secret-file: "/etc/nsd/nsd_cookiesecrets.txt"
270+
cookie-secret-file: "/var/db/nsd/cookiesecrets.txt"
271271

272272
remote-control:
273273
control-enable: no
@@ -353,7 +353,7 @@ server:
353353
tls-port: "853"
354354
#tls-cert-bundle:
355355
answer-cookie: no
356-
cookie-secret-file: "/etc/nsd/nsd_cookiesecrets.txt"
356+
cookie-secret-file: "/var/db/nsd/cookiesecrets.txt"
357357

358358
remote-control:
359359
control-enable: no
@@ -483,7 +483,7 @@ server:
483483
tls-port: "853"
484484
#tls-cert-bundle:
485485
answer-cookie: no
486-
cookie-secret-file: "/etc/nsd/nsd_cookiesecrets.txt"
486+
cookie-secret-file: "/var/db/nsd/cookiesecrets.txt"
487487

488488
remote-control:
489489
control-enable: no
@@ -611,7 +611,7 @@ server:
611611
tls-port: "853"
612612
#tls-cert-bundle:
613613
answer-cookie: no
614-
cookie-secret-file: "/etc/nsd/nsd_cookiesecrets.txt"
614+
cookie-secret-file: "/var/db/nsd/cookiesecrets.txt"
615615

616616
remote-control:
617617
control-enable: no

tpkg/checkconf.tdir/checkconf.check2.in

+6-6
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ server:
5656
tls-port: "853"
5757
#tls-cert-bundle:
5858
answer-cookie: no
59-
cookie-secret-file: "@configdir@/nsd_cookiesecrets.txt"
59+
cookie-secret-file: "@cookiesecretsfile@"
6060

6161
remote-control:
6262
control-enable: no
@@ -190,7 +190,7 @@ server:
190190
tls-port: "853"
191191
#tls-cert-bundle:
192192
answer-cookie: no
193-
cookie-secret-file: "@configdir@/nsd_cookiesecrets.txt"
193+
cookie-secret-file: "@cookiesecretsfile@"
194194

195195
remote-control:
196196
control-enable: no
@@ -267,7 +267,7 @@ server:
267267
tls-port: "853"
268268
#tls-cert-bundle:
269269
answer-cookie: no
270-
cookie-secret-file: "@configdir@/nsd_cookiesecrets.txt"
270+
cookie-secret-file: "@cookiesecretsfile@"
271271

272272
remote-control:
273273
control-enable: no
@@ -353,7 +353,7 @@ server:
353353
tls-port: "853"
354354
#tls-cert-bundle:
355355
answer-cookie: no
356-
cookie-secret-file: "@configdir@/nsd_cookiesecrets.txt"
356+
cookie-secret-file: "@cookiesecretsfile@"
357357

358358
remote-control:
359359
control-enable: no
@@ -483,7 +483,7 @@ server:
483483
tls-port: "853"
484484
#tls-cert-bundle:
485485
answer-cookie: no
486-
cookie-secret-file: "@configdir@/nsd_cookiesecrets.txt"
486+
cookie-secret-file: "@cookiesecretsfile@"
487487

488488
remote-control:
489489
control-enable: no
@@ -611,7 +611,7 @@ server:
611611
tls-port: "853"
612612
#tls-cert-bundle:
613613
answer-cookie: no
614-
cookie-secret-file: "@configdir@/nsd_cookiesecrets.txt"
614+
cookie-secret-file: "@cookiesecretsfile@"
615615

616616
remote-control:
617617
control-enable: no

0 commit comments

Comments
 (0)