X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=debian%2Fchangelog;h=92cd9049fe3ad653548cfc0569adec42346bae6e;hb=0d0c3b6af54a0c4d9440f48b31de97c1b066458f;hp=a2f71708b918c9cfbe62c579c3b6dec5e658cd95;hpb=509a30c079b5a8f5f996c6ccce102c512d4a238d;p=secnet.git diff --git a/debian/changelog b/debian/changelog index a2f7170..92cd904 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,16 +1,322 @@ -secnet (0.4.2~) unstable; urgency=medium +secnet (0.6.2) 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. + + -- Ian Jackson Thu, 30 Dec 2021 15:10:12 +0000 + +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 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 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 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 . [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 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 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 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 (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. - -- Ian Jackson Sat, 25 Nov 2017 14:04:42 +0000 - -secnet (0.4.1) unstable; urgency=low - - * Implement comm-info and dedicated-interface-addr feature, for - benefit of hippotat. - * Implement `keepalive' site option, to try to keep link always up. + 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.