chiark / gitweb /
Finalise 0.6.0
[secnet.git] / debian / changelog
index 438be85f8ee2cf7de2d7f4803e930da1d38e2fd4..a80148444d21426ba4fefc07a5c52ede791fb778 100644 (file)
@@ -1,3 +1,133 @@
+secnet (0.6.0) unstable; urgency=medium
+
+  Bugfixes:
+  * mobile sites: Do not ever expire peer addresses.  In practice
+    this fixes transitions between IPv6-only and IPv4-only networks.
+  * make-secnet-sites: Tainted: Fix a lot of bad return values
+    (which would result in assertions rather than nice error messages).
+  * Fix hash algo confusion in mixed sha1/md5 configurations (see below).
+
+  Incompatible changes:
+  * site: Always advertise all capabilities, even in MSG1.  This is
+    incompatible with secnets earlier than 0.3.0 (September 2013), which
+    are all quite badly broken and should have been upgraded long ago.
+  * Drop support for using the same loaded rsa key with multiple different
+    hash algorithms (which was broken in 0.5.0).  Right now we support
+    only `sha1' and `md5' so everyone should be using `sha1'.
+    Installations which specified `md5' anywhere may need config changes.
+
+  Major new featureset (use of which is not adviseable yet):
+  * New facilities for negotiating about the signing keys to use for
+    authentication during key setup, and selecting and using the
+    appropriate keys.  (``key-cache'/`privcache' and `peer-keys').
+    Using these new facilities for keyrollover now is in principle
+    possible but rather complex.  Further machinery is planned;
+    for now, retain your existing config which should keep working.
+    In summary:
+       - secnet: new `privcache' closure;
+       - secnet: `key-cache' and `peer-keys' keys on site closures;
+       - secnet: new file format for peer public keysets;
+       - secnet: new `make-public' config operator;
+       - make-secnet-sites `pub', `pkg', `serial', etc. keywords;
+       - make-secnet-sites --filter, --pubkeys-*, --output-version.
+
+  More minor (logging) improvements:
+  * Make stderr line buffered and log to it by default.
+  * Do not log differently with --nodetach.
+  * New `prefix' option to `logfile' closure.
+  * Tidy and simplify some messages.
+
+  Supporting changes:
+  * Many substantial internal refactorings in secnet.
+  * Many substantial internal refactorings in make-secnet-sites.
+  * make-secnet-sites option parsing totally replaced.
+  * Imported subtrees for base91-c and base91-python.
+  * New portablity code, etc.: osdep.[ch], fmemopen reimplementation.
+  * Explicitly define oddly-rotated dh padding arrangement (write_mpbin).
+
+  Build system and packaging:
+  * Do not fail to build from git when HEAD refers to a packed ref.
+  * Update to subdirmk 0.3.
+  * Many makefile fixes (esp. to clean and cdeps).
+  * configure.ac: Drop or suppress some very obsolete checks.
+  * autogen.sh: Write a comment about need for autoheader.
+  * dir-locals: Provide python-indent-offset too.
+
+  Test suite bugfixes:
+  * stest: Use stderr, not tty, for logging.
+  * stest/udp-preload.c: Fix error handling of sun_prep.
+  * stest: Fix breakage if nproc is not installed.
+
+  Test suite improvements:
+  * New tests, including tests for new features.
+  * Existing tests (especially stest) generally made more thorough.
+  * New comprehensive-test and pretest-to-tested convenience scripts.
+  * Arrangements for testing with (user-provided) old secnet.
+  * parallel-test.*: scripts to help with parallelised bisection.
+  * stest: Print a lot more output about what we are doing.
+  * stest: Better support for cwd with longish pathname.
+  * stest: More flexibility, env var hooks, etc.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sun, 16 Feb 2020 12:48:13 +0000
+
+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:
+  * Credit 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:
@@ -20,9 +150,12 @@ secnet (0.5.0) unstable; urgency=medium
   * Bad address syntax error does not wrongly mention IPv6 scopes.
   * Minor refactoring to support forthcoming work.  [Mark Wooding]
 
-  other bugfixes:
+  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.
@@ -30,14 +163,12 @@ secnet (0.5.0) unstable; urgency=medium
   * 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]
-  * Significant internal rearrangements and refactorings, to support
-    forthcoming key management work.  [Mark Wooding and Ian Jackson]
 
   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