chiark / gitweb /
Finalise 0.6.0
[secnet.git] / debian / changelog
index 27fd42d6b261b30b147e7b04d4358b6b59a4830c..a80148444d21426ba4fefc07a5c52ede791fb778 100644 (file)
@@ -1,3 +1,175 @@
+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:
+  * 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.