-secnet (0.3.1~~unstable) unstable; urgency=low
+secnet (0.5.2~) unstable; urgency=medium
+ *
+
+ --
+
+secnet (0.5.1) unstable; urgency=medium
+
+ POTENTIALLY INCOMPATIBLE CHANGE. Some security implications.
+
+ * make-secnet-sites: Prefix names when writing secnet sites.conf file.
+
+ make-secnet-sites must copy names (vpn, location and site names) from
+ the input sites file (which is not wholly trusted) to the secnet
+ config file. Prior to this release, naming a location or site the
+ same as a secnet predefined name could generate a broken sites.conf
+ which secnet would reject. (With the existing featureset,
+ malfunctions other than rejection, eg privilege escalation, are not
+ possible.)
+
+ make-secnet-sites now adds a prefix to these names when writing
+ sites.conf. This will not affect configurations which use the
+ make-secnet-sites-provided `all-sites' key, as is usual. Other
+ configurations will break unless the references in the static part of
+ the config are adjusted.
+
+ Previous behaviour can be restored with the --no-conf-key-prefix
+ option. (Planned future enhancements to secnet are likely to make use
+ of that option, with untrusted input, dangerously insecure.)
+
+ other changes to make-secnet-sites:
+ * Fix argument parsing. Fixes a regression affecting -P in 0.5.0,
+ and also fixes new facilities introduced in 0.5.0.
+ * Sort the properties on output (and adjust the test case expected
+ outputs). Tests now pass on (at least) Python 2.7.13, 3.5.3, 3.7.5.
+ * Delete some unused code.
+
+ secnet:
+ * Change one idiom to avoid a warning from GCC9. No functional change.
+
+ build system - MAJOR CHANGES:
+ * Fix out-of-tree builds. (Broken in 0.5.0)
+ * Replace recursive make with use of the new subdirmk system.
+ This represents a fairly comprehensive overhaul of the makefiles.
+ Several bugs (esp. involving dependencies between files in different
+ directories) are fixed.
+ * Drop `make check' from `make all'. (Otherwise there is no way
+ to ask for `all' without `check'.)
+ * Suppress two unhelpful new compiler warnings from GCC9.
+ * Release checklist update.
+
+ documentation:
+ * Creit Mark Wooding properly in CREDITS.
+ * Include DEVELOPER-CERTIFICATE.
+
+ tests:
+ * Locations now have different names to sites.
+ * Somewhat better debugging output from mtest.
+ * Do not run msgcode-test except with `make fullcheck'.
+ * Other minor bugfixes and improvments.
+ * stest: Suppress unhelpful -Wno-unused-result (needed for stretch).
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Fri, 22 Nov 2019 23:13:14 +0000
+
+secnet (0.5.0) unstable; urgency=medium
+
+ make-secnet-sites SECURITY FIX:
+ * Do not blindly trust inputs; instead, check the syntax for sanity.
+ Previous releases can be induced to run arbitrary code as the user
+ invoking secnet (which might be root), if a secnet sites.conf is used
+ that was generated from an untrustworthy sites file.
+ * The userv invocation mode of make-secnet-sites seems to have been safe
+ in itself, but it previously allowed hazardous data to be propagated
+ into the master sites file. This is now prevented too.
+
+ make-secnet-sites overhaul work:
+ * make-secnet-sites is now in the common subset of Python2 and Python3.
+ The #! is python3 now, but it works with Python2.7 too.
+ It will probably *not* work with old versions of Python2.
+ * We no longer depend on the obsolete `ipaddr' library. We use
+ `ipaddress' now. And this is onlo a Recommends in the .deb.
+ * Ad-hoc argument parser been replaced with `argparse'.
+ There should be no change to existing working invocations.
+ * Bad address syntax error does not wrongly mention IPv6 scopes.
+ * Minor refactoring to support forthcoming work. [Mark Wooding]
+
+ other bugfixes, improvements and changes to secnet itself:
+ * Better logging of why we are sending NAK messages.
+ * Correctly use the verified copy of the peer remote capabilities
+ from MSG3. (Bug is not a vulnerability.) [Mark Wooding]
+ * Significant internal rearrangements and refactorings, to support
+ forthcoming key management work. [Mark Wooding and Ian Jackson]
+
+ build system etc.:
+ * Completely overhaul release checklist; drop dist target.
+ * Remove dependency on `libfl.a'. [Mark Wooding]
+ * polypath.c: Fix missing include of <limits.h>. [Mark Wooding]
+ * Add a Wireshark dissector `secnet-wireshark.lua'. It is not
+ installed anywhere right now. [Mark Wooding]
+
+ documentation:
+ * Improve documentation of capability negotiation in NOTES, secnet(8)
+ and magic.h. [Mark Wooding]
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 24 Oct 2019 19:11:54 +0100
+
+secnet (0.4.5) unstable; urgency=medium
+
+ * INSTALL: Mention that rsa key generation might need ssh-keygen1.
+ * mobile: Fix negotiation bug with mixed old/new secnets and
+ simultaneous key setup attempts by each end. [Mark Wooding]
+ * Makefile.in: Support installation from a `VPATH' build. [Mark Wooding]
+ * Portability fixes for clang. [Mark Wooding]
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 21 Sep 2019 12:04:31 +0100
+
+secnet (0.4.4) unstable; urgency=medium
+
+ Security fix:
+ * make-secnet-sites: Don't allow setting new VPN-level properties
+ when restricted. This could allow denial of service by
+ users with delegated authorisation. [Mark Wooding]
+
+ Bugfixes for poor network environments:
+ * polypath: cope properly with asymmetric routing, by correcting
+ the handling of late duplicated packets etc. Protocol is now
+ incompatible with secnet prior to 0.3.0 when either end is mobile.
+ * Randomise key setup retry time.
+
+ Other bugfixes:
+ * rsa and cbcmac: Fix configuration error messages. [Mark Wooding]
+ * Handle IPv4 addresses properly (ie, not foolishly byte-swapped),
+ when IPv6 is not available. [Mark Wooding]
+ * Better logging (and less foolish debug), especially about whether
+ key is set up, and about crossed key setup attempts.
+ * Internal refactoring and fixes. [Ian Jackson and Mark Wooding]
+
+ Build system and portability:
+ * configure: rerun autogen.sh with autoconf 2.69-10
+ * Avoid memset(0,0,0) wrt st->sharedsecret. (Fixes compiler warning;
+ in theory might cause miscompilation.) [Mark Wooding]
+
+ Documentation:
+ * README.make-secnet-sites: new documentation file. [Mark Wooding]
+ * NOTES: Describe current allocation of capability bits. [Mark Wooding]
+ * NOTES: tiny fix tot protocol description.
+ * secnet(8): Delete wrong information about dh groups. [Mark Wooding]
+
+ Administrivia:
+ * Fix erroneous GPL3+ licence notices "version d or later" (!)
+ * .dir-locals.el: Settings for Python code. [Mark Wooding]
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 08 Sep 2019 22:53:14 +0100
+
+secnet (0.4.3) unstable; urgency=low
+
+ Security improvement:
+ * Use `mpz_powm_sec' for modexps.
+
+ Enhancements:
+ * Implement comm-info and dedicated-interface-addr feature, for
+ benefit of hippotat.
+ * Implement `keepalive' site option, to try to keep link always up.
+
+ Build etc. fixes:
+ * #include <limits.h> (fixes the build on jessie).
+ * Tolerate building from a git checkout, but with git not installed.
+ (This can happen in chroots.)
+ * Turn off -Wsign-compare for bison output.
+ * Makefile.in: Fix `check-ipaddrset' rule to get reference from
+ $(srcdir). (Makes out-of-tree builds work properly.)
+ * Release checklist fixes.
+ * Burn version numbers 0.4.1 and 0.4.2 due to errors in release prep.
+
+ Bugfixes:
+ * When printing messages about dropping IPv6, do not print anything
+ about ihl. (Check the IP version field first!)
+ * When turning on debug, turn on verbose too.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 25 Nov 2017 13:36:41 +0000
+
+secnet (0.4.0) unstable; urgency=low
+
+ Debugging improvements:
+ * Packet-level debugging from site notes errors from transmit.
+ * Report when transport peers updated as a result of transmit.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 28 Feb 2015 15:03:00 +0000
+
+secnet (0.4.0~beta2) unstable; urgency=low
+
+ Polypath bugfixes:
+ * Ignore IPv6 Unique Local unicast addresses.
+ * Skip "tentative" IPv6 local addresses.
+ * Improve logging and debug output.
+
+ Portability fix:
+ * Build where size_t is not compatible with int.
+
+ Build system and packaging fixes:
+ * Makefile: support DESTDIR.
+ * debian/rules: set DESTDIR (not prefix).
+ * debian/rules: Support dpkg-buildflags.
+ * Install ipaddrset.py and secnet.8 with correct permissions.
+ * Fix check for <linux/if_tun.h> and git rid of our copy.
+ * Use -lresolv only if inet_aton is not found otherwise.
+ * Use -lnsl only if inet_ntoa is not found otherwise.
+ * debian/rules: Provide build-arch and build-indep targets.
+ * debian/rules: Do not run build for *-indep (!)
+ * Makefile.in: Putative dual (backport and not) release build process doc.
+
+ Copyright updates:
+ * Update to GPLv3. Add missing copyright notices and credits.
+ * Get rid of old FSF street address; use URL instead.
+ * Remove obsolete LICENCE.txt (which was for snprintf reimplementation).
+ * Remove obsolete references to Cendio (for old ipaddr.py).
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 28 Dec 2014 17:14:10 +0000
+
+secnet (0.4.0~beta1) unstable; urgency=low
+
+ New features:
+ * Support transport over IPv6. (We do not yet carry IPv6 in the private
+ network.) IPv6 support depends on IPv6-capable adns (adns 1.5.x).
+ * New polypath comm, which can duplicate packets so as to send them via
+ multiple routes over the public network, for increased
+ reliability/performance (but increased cost). Currently Linux-only
+ but should be fairly easy to port.
+ * Support multiple public addresses for peers.
+ * Discard previously-received packets (by default).
+
+ Logging improvements:
+ * Report (each first) transmission and reception success and failure.
+ * Log reason for DNS reolution failure.
+ * Log unexpected kinds of death from userv.
+ * Log authbind exit status as errno value (if appropriate).
+
+ Configuration adjustments:
+ * Adjust default number of mobile peer addresses to store when a peer
+ public address is also configured.
+ * Make specifying peer public port optional. This avoids making special
+ arrangements to bind to a port for in mobile sites with no public
+ stable address.
+
+ Bugfixes:
+ * Hackypar children will die if they get a terminating signal.
+ * Fix signal dispositions inherited by secnet's child processes.
+ * Fix off-by-one error which prevented setting transport-peers-max to 5.
+
+ Test, build and internal improvements:
+ * Use conventional IP address handling library ipaddr.py.
+ * Provide a fuzzer for the slip decoder.
+ * Build system improvements.
+ * Many source code cleanups.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 26 Oct 2014 15:28:31 +0000
+
+secnet (0.3.4) unstable; urgency=low
+
+ SECURITY FIX:
+ * The previous security fix to buffer handling was entirely wrong. This
+ one is better. Thanks to Simon Tatham for the report and the patch.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Mon, 22 Sep 2014 16:16:11 +0100
+
+secnet (0.3.3) unstable; urgency=high
+
+ SECURITY FIXES:
+ * Pass correct size argument to recvfrom. This is a serious security
+ problem which may be exploitable from outside the VPN.
+ * Fix a memory leak in some error logging.
+
+ Other related fixes:
+ * Two other latent bugs in buffer length handling found and fixed.
+ * Non-critical stylistic improvements to buffer length handling, to make
+ the code clearer and to assist audit.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Fri, 19 Sep 2014 23:50:45 +0100
+
+secnet (0.3.3~beta1) unstable; urgency=low
+
+ Installation compatibility fix:
+ * In make-secnet-sites, always use our own ipaddr.py even if the
+ incompatible modern ipaddr.py is installed (eg via python-ipaddr.deb).
+ (Future versions of secnet are going to need that Python module to be
+ installed.)
+
+ For links involving mobile sites:
+ * Use source of NAK packets as hint for peer transport address.
+ * When initiating rekey, make use of data transport peer addresses.
+
+ Build fix:
+ * Provide clean target in test-example/Makefile.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Fri, 19 Sep 2014 00:11:44 +0100
+
+secnet (0.3.2) unstable; urgency=low
+
+ * Release of 0.3.2. No code changes since 0.3.1~beta1.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 26 Jun 2014 20:27:58 +0100
+
+secnet (0.3.2~beta1) unstable; urgency=low
+
+ For links involving mobile sites:
+ * SECURITY: Properly update peer address array when it is full.
+ * Do name-resolution on peer-initiated key setup too, when we are mobile
+ (and other name-resolution improvements).
+
+ Other minor improvements:
+ * Log peer addresses on key exchange timeout.
+ * When printing version (eg during startup), use value from git-describe
+ and thus include git commit id where applicable.
* Updates to release checklist in Makefile.in.
+ * Use C99 _Bool for bool_t.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Fri, 06 Jun 2014 01:17:54 +0100
+
+secnet (0.3.1) unstable; urgency=low
+
+ * Release of 0.3.1. No code changes since 0.3.1~beta3.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 15 May 2014 01:08:30 +0100
+
+secnet (0.3.1~beta3) unstable; urgency=low
+
+ * Build fixes for non-i386 architectures and gcc 4.8.2.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 08 May 2014 19:53:43 +0100
+
+secnet (0.3.1~beta2) unstable; urgency=low
+
+ Fix relating to new fragmentation / ICMP functionality:
+ * Generate ICMP packets correctly in point-to-point configurations.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 03 May 2014 18:58:09 +0100
+
+secnet (0.3.1~beta1) unstable; urgency=low
+
+ Security fixes (vulnerabilities are to inside attackers only):
+ * SECURITY: Fixes to MTU and fragmentation handling.
+ * SECURITY: Correctly set "unused" ICMP header field.
+ * SECURITY: Fix IP length check not to crash on very short packets.
+
+ New feature:
+ * Make the inter-site MTU configurable, and negotiate it with the peer.
+
+ Bugfixes etc.:
+ * Fix netlink SEGV on clientless netlinks (i.e. configuration error).
+ * Fix formatting error in p-t-p startup message.
+ * Do not send ICMP errors in response to unknown incoming ICMP.
* Fix formatting error in secnet.8 manpage.
* Internal code rearrangements and improvements.
- * Fix netlink SEGV on clientless netlinks (i.e. configuration error).
- --
+ Packaging improvements:
+ * Updates to release checklist in Makefile.in.
+ * Additions to the test-example suite.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 01 May 2014 19:02:56 +0100
secnet (0.3.0) unstable; urgency=low