]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2977. [bug] 'nsupdate -l' report if the session key is missing.
authorMark Andrews <marka@isc.org>
Fri, 3 Dec 2010 00:37:33 +0000 (00:37 +0000)
committerMark Andrews <marka@isc.org>
Fri, 3 Dec 2010 00:37:33 +0000 (00:37 +0000)
                        [RT #21670]

CHANGES
bin/nsupdate/nsupdate.c
bin/tests/system/nsupdate/clean.sh
bin/tests/system/nsupdate/tests.sh

diff --git a/CHANGES b/CHANGES
index 796ed2b38c2d117c119de14fa70c9e98b551995b..e2f835d70a921ef476e0bedc545bfd9e0f9d93f5 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2977.  [bug]           'nsupdate -l' report if the session key is missing.
+                       [RT #21670]
+
 2976.  [bug]           named could die on exit after negotiating a GSS-TSIG
                        key. [RT #22573]
                        
index 8a36aa96ad76844a06d1fe54e7198ef87290b138..6ba76d83f4b751aec48f9e7e3d5f8630b50e4d5e 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: nsupdate.c,v 1.183 2010/12/02 23:22:41 marka Exp $ */
+/* $Id: nsupdate.c,v 1.184 2010/12/03 00:37:33 marka Exp $ */
 
 /*! \file */
 
@@ -901,9 +901,12 @@ setup_system(void) {
 
        if (keystr != NULL)
                setup_keystr();
-       else if (local_only)
-               read_sessionkey(mctx, lctx);
-       else if (keyfile != NULL)
+       else if (local_only) {
+               result = read_sessionkey(mctx, lctx);
+               if (result != ISC_R_SUCCESS)
+                       fatal("can't read key from %s: %s\n",
+                             keyfile, isc_result_totext(result));
+       } else if (keyfile != NULL)
                setup_keyfile(mctx, lctx);
 }
 
index 0d6bd3aa290c175a3c03ab8afd7d8a231d2dbf96..83f661090e243d25bf08625f79d7525b51eeb58b 100644 (file)
@@ -15,7 +15,7 @@
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: clean.sh,v 1.18 2010/11/30 23:46:55 tbox Exp $
+# $Id: clean.sh,v 1.19 2010/12/03 00:37:33 marka Exp $
 
 #
 # Clean up after zone transfer tests.
@@ -28,3 +28,4 @@ rm -f random.data
 rm -f ns2/example.bk
 rm -f ns2/update.bk
 rm -f */named.memstats
+rm -f nsupdate.out
index c70f697da7a5dd67b8e489a0038752f5a649ce01..ae4f8af0774b3fe257837987ea27a153327834a5 100644 (file)
@@ -15,7 +15,7 @@
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: tests.sh,v 1.30 2010/11/30 23:46:55 tbox Exp $
+# $Id: tests.sh,v 1.31 2010/12/03 00:37:33 marka Exp $
 
 SYSTEMTESTTOP=..
 . $SYSTEMTESTTOP/conf.sh
@@ -239,5 +239,14 @@ $DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd updated4.example.nil.\
        @10.53.0.1 a -p 5300 > dig.out.ns1 || status=1
 $PERL ../digcomp.pl knowngood.ns1.afterstop dig.out.ns1 || status=1
 
+ret=0
+echo "I:check that 'nsupdate -l' with a missing keyfile reports the missing file"
+$NSUPDATE -l -p 5300 -k ns1/nonexistant.key 2> nsupdate.out < /dev/null
+grep ns1/nonexistant.key nsupdate.out > /dev/null || ret=1
+if test $ret -ne 0
+then
+echo "I:failed"; status=1
+fi
+
 echo "I:exit status: $status"
 exit $status