diff -ruN tarsnap-autoconf-1.0.31/configure tarsnap-autoconf-1.0.32/configure
--- tarsnap-autoconf-1.0.31/configure	2011-11-17 02:54:52.000000000 -0800
+++ tarsnap-autoconf-1.0.32/configure	2012-02-22 04:10:56.000000000 -0800
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for tarsnap 1.0.31.
+# Generated by GNU Autoconf 2.68 for tarsnap 1.0.32.
 #
 # Report bugs to <cperciva@tarsnap.com>.
 #
@@ -560,8 +560,8 @@
 # Identity of this package.
 PACKAGE_NAME='tarsnap'
 PACKAGE_TARNAME='tarsnap'
-PACKAGE_VERSION='1.0.31'
-PACKAGE_STRING='tarsnap 1.0.31'
+PACKAGE_VERSION='1.0.32'
+PACKAGE_STRING='tarsnap 1.0.32'
 PACKAGE_BUGREPORT='cperciva@tarsnap.com'
 PACKAGE_URL=''
 
@@ -1279,7 +1279,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures tarsnap 1.0.31 to adapt to many kinds of systems.
+\`configure' configures tarsnap 1.0.32 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1350,7 +1350,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of tarsnap 1.0.31:";;
+     short | recursive ) echo "Configuration of tarsnap 1.0.32:";;
    esac
   cat <<\_ACEOF
 
@@ -1450,7 +1450,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-tarsnap configure 1.0.31
+tarsnap configure 1.0.32
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2281,7 +2281,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by tarsnap $as_me 1.0.31, which was
+It was created by tarsnap $as_me 1.0.32, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -3212,7 +3212,7 @@
 
 # Define the identity of the package.
  PACKAGE='tarsnap'
- VERSION='1.0.31'
+ VERSION='1.0.32'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3263,7 +3263,7 @@
 _ACEOF
 
 
-$as_echo "#define TARVERSION \"1.0.31\"" >>confdefs.h
+$as_echo "#define TARVERSION \"1.0.32\"" >>confdefs.h
 
 
 $as_echo "#define TSSERVER \"betatest\"" >>confdefs.h
@@ -8956,7 +8956,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by tarsnap $as_me 1.0.31, which was
+This file was extended by tarsnap $as_me 1.0.32, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -9022,7 +9022,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-tarsnap config.status 1.0.31
+tarsnap config.status 1.0.32
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff -ruN tarsnap-autoconf-1.0.31/lib/util/getfstype.c tarsnap-autoconf-1.0.32/lib/util/getfstype.c
--- tarsnap-autoconf-1.0.31/lib/util/getfstype.c	2011-11-17 02:54:49.000000000 -0800
+++ tarsnap-autoconf-1.0.32/lib/util/getfstype.c	2012-02-22 04:10:53.000000000 -0800
@@ -171,6 +171,8 @@
 	"usbdevfs",		/* Linux */
 	"securityfs",		/* Linux */
 	"selinux",		/* Linux */
+	"kernfs",		/* NetBSD */
+	"ptyfs",		/* NetBSD */
 	"dev",			/* Solaris */
 	"ctfs",			/* Solaris */
 	"mntfs",		/* Solaris */
diff -ruN tarsnap-autoconf-1.0.31/libarchive/archive_read_open_filename.c tarsnap-autoconf-1.0.32/libarchive/archive_read_open_filename.c
--- tarsnap-autoconf-1.0.31/libarchive/archive_read_open_filename.c	2011-11-17 02:54:49.000000000 -0800
+++ tarsnap-autoconf-1.0.32/libarchive/archive_read_open_filename.c	2012-02-22 04:10:53.000000000 -0800
@@ -94,6 +94,7 @@
 	}
 	if (fstat(fd, &st) != 0) {
 		archive_set_error(a, errno, "Can't stat '%s'", filename);
+		close(fd);
 		return (ARCHIVE_FATAL);
 	}
 
diff -ruN tarsnap-autoconf-1.0.31/pkg/README tarsnap-autoconf-1.0.32/pkg/README
--- tarsnap-autoconf-1.0.31/pkg/README	2011-11-17 02:54:49.000000000 -0800
+++ tarsnap-autoconf-1.0.32/pkg/README	2012-02-22 04:10:53.000000000 -0800
@@ -39,7 +39,8 @@
 for VER = 12.2 and 13.1 (and possibly other versions by the time
 you read this).
 
-FreeBSD
--------
+FreeBSD, OpenBSD, and pkgsrc
+----------------------------
 
-Tarsnap is in the FreeBSD ports tree as sysutils/tarsnap.
+Tarsnap is in the FreeBSD ports tree, the OpenBSD ports tree, and
+the pkgsrc tree as sysutils/tarsnap.
diff -ruN tarsnap-autoconf-1.0.31/pkg/debian/changelog tarsnap-autoconf-1.0.32/pkg/debian/changelog
--- tarsnap-autoconf-1.0.31/pkg/debian/changelog	2011-11-17 02:54:49.000000000 -0800
+++ tarsnap-autoconf-1.0.32/pkg/debian/changelog	2012-02-22 04:10:53.000000000 -0800
@@ -1,3 +1,9 @@
+tarsnap (1.0.32) unstable; urgency=low
+
+  * New version of tarsnap fixes a bug which made the --nodump option
+    inoperative.
+
+ -- Colin Percival <cperciva@tarsnap.com>  Sun, 12 Feb 2012 02:18:25 +0000
 tarsnap (1.0.31) unstable; urgency=low
 
   * New version of tarsnap fixes security vulnerabilities relating to key
diff -ruN tarsnap-autoconf-1.0.31/tar/multitape/chunkify.c tarsnap-autoconf-1.0.32/tar/multitape/chunkify.c
--- tarsnap-autoconf-1.0.31/tar/multitape/chunkify.c	2011-11-17 02:54:49.000000000 -0800
+++ tarsnap-autoconf-1.0.32/tar/multitape/chunkify.c	2012-02-22 04:10:53.000000000 -0800
@@ -67,7 +67,7 @@
 static uint32_t
 nextprime(uint32_t n)
 {
-	uint32_t p;
+	volatile uint32_t p;
 
 	for (p = n; p != 0; p++)
 		if (isprime(p))
diff -ruN tarsnap-autoconf-1.0.31/tar/write.c tarsnap-autoconf-1.0.32/tar/write.c
--- tarsnap-autoconf-1.0.31/tar/write.c	2011-11-17 02:54:49.000000000 -0800
+++ tarsnap-autoconf-1.0.32/tar/write.c	2012-02-22 04:10:53.000000000 -0800
@@ -850,7 +850,8 @@
 #if defined(EXT2_IOC_GETFLAGS) && defined(EXT2_NODUMP_FL)
 		/* Linux uses ioctl to read flags. */
 		if (bsdtar->option_honor_nodump) {
-			int fd = open(name, O_RDONLY | O_NONBLOCK);
+			int fd = open(tree_current_access_path(tree),
+			    O_RDONLY | O_NONBLOCK);
 			if (fd >= 0) {
 				unsigned long fflags;
 				int r = ioctl(fd, EXT2_IOC_GETFLAGS, &fflags);
