-secnet (0.4.1~~) unstable; urgency=medium
+secnet (0.6.2~alpha0) unstable; urgency=medium
+
+ Bugfixes to code and build system:
+ * site: promote creation of st->scratch, allowing new pubkey scheme
+ to work even when secnet is restarting.
+ * comm-common.h: Remove unused `notify' variable. [Colin Watson]
+ * Dir.sd.mk: Prevent builtin make rule overwriting conffile.c.
+
+ Documentation:
+ * configure: Correct bug reporting address. Report from Colin Watson.
+ * example.conf improvements:
+ - Comment out some tuning overrides
+ - Improve syntax by deleting one of the two map examples
+ - Add a commented-out mobile site setting
+ - Add mtu-target
+ * OLD-NEWS, OLD-BUGS: Rename from NEWS and BUGS, and don't ship OLD-BUGS.
+
+ Debian packaging changes:
+ * debian/rules: Use dh sequencer. Resulting changes:
+ - We now provide debug symbols in the new Debian way.
+ - The way the prerm stops secnet accords with modern practice.
+ * init script: source /lib/lsb/init-functions.
+ * init script: make "restart" work if secnet is not running.
+ * Expand Description.
+ * debhelper compat: bump to 12 (stretch-backports).
+ * debian/rules: Use dh_prep instead of deprecated dh_clean -k.
+ * Adjust Priority (as per modern policy and lintian).
+ * Add some lintian overrides.
+ * Add missing Pre-Depends on init-system-helpers.
+
+ Credits and legal documentation improvements:
+ * Add missing credits for base91 and python argparse extension.
+ ensure some packaging credits exist in all the places they should be.
+ * Add copyright/credits notices to many files which were missing them.
+ * Move and centralise legal information into its own file, LICENCE.
+
+ Testing improvements:
+ * comprehensive-test: Actually allow OLD_SECNET_DIR set to ''
+ * test-example/common.conf: Fix a reference to the sites file.
+ * test-example/null-fake-userv: New test utility script.
+ --
+
+secnet (0.6.1) unstable; urgency=medium
+
+ Logging bugfixes:
+ * Fix completely broken startup logging. Config errors would not
+ be repoorted other than via the exit status! (Broken in 0.6.0.)
+ * Suppress various uninteresting messages during startup, to
+ avoid noise during successful startup.
+ * Move "starting" message earlier.
+
+ make-secnet-sites bugfixes:
+ * Fix error handling if caller is in wrong group.
+ * Fix regressions in handling of delegated sites file fragments
+ (especially wrt the optional group parameter to `location').
+ Broken since security fixes in 0.5.0.
+
+ Fixes to example config file:
+ * Use new name-prefixed format for map(site...) runes. Old runes
+ were desupported by make-secnet-sites security fix (in 0.5.0).
+ * Fix "transform" syntax (broken since 0.3.0).
+
+ Other bugfixes and improvements:
+ * rsa: Do not crash if private key file is not accessible when
+ running --just-check-config. (Broken since 0.6.0.)
+ * rsa: Print errno value if we fail to open key file.
+ * config parsing: When closure is of wrong type, give details.
+ * Use CLOCK_MONOTONIC for all our timing needs (but only when
+ built against an as-yet-unpublished adns feature).
+
+ Supporting changes:
+ * Tests for some of the changes.
+ * Minor internal refactorings and improvements.
+ * Merge subdirmk 1.0.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 24 May 2020 22:14:26 +0100
+
+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.
+ * 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