2019-02-23 Changes in burp-2.2.18
  * 797: Fix wide-character restores on Windows.
  * 794: Fix burp not starting with only one listen address.

2019-01-01 Changes in burp-2.2.16:
  * 786: Don't run relative attack detection on CMD_FINGERPRINT.
  * 785: Fix incorrect xattr buffer size.
  * 784: Fix compiler warning d->d_name always evaluates to true.
  * From Michael Hanselmann:
    - Remove unused sbuf_print_alloc_stats prototype

2018-12-12 Changes in burp-2.2.14:
  * Fix restoring with compressed/encrypted trailing vss data.
  * Protect the client against restoring over symlinks that point
    outside of the desired destination directory. Giving a restore
    directory is now mandatory. Make '-d /' work on Windows.
  * 753: More logging for VSS.
  * Protect against malicious relative paths in sbuf parsing.
  * 766: Don't run xattr tests if the filesystem doesn't support them.
  * Check lengths in xattr/extrameta/acl.
  * Avoid path attacks via cname.
  * Fix 'configure --enable-xattr=no'.
  * Buffer safety check in asfd::extract_buf().
  * Clean up burp_ca and make it more secure.
  * Fix buffer overrun in client-side long list.
  * Fix buffer overrun in asfd_do_read_ssl().
  * 766: Correct gzip os type in utest/server/test_restore.c.
  * From Michael Hanselmann:
    - Add option to verify client certificate early.
    - Use "O_NOFOLLOW" as appropriate.
    - Sanitise autoupgrade os name.
    - Random delay on password mismatch.
    - Sleep before giving auth failure message.
    - 772: Ensure O_NOATIME is passed to system calls.
    - 770: In extra_comms: Avoid calling unlink(2) with NULL.
    - 768: In run_script: Limit number of arguments to avoid stack overflow.
    - 767: Avoid interactive question on CentOS when overwriting binary.

2018-10-01 Changes in burp-2.2.12:
  * From ziirish:
    - 253: 'logic' rules parser with new exclude_logic option.
  * 753: Send error to server when there is a VSS problem.
  * 754: Fixes for find_logic code.
  * 756: Man page correction about number of notify args.
    Also rename 'warnings' to 'warning_count' in notify_script.
  * 675: Stdout command line options.
    '-v' now overrides stdout=0 in the config file, to be 1.
    '-Q' now overrides stdout=1 in the config file, to be 0, and turns
         off the progress counter.
    '-v' used to be the version option - that is now '-V'.
  * 743: Fix broken status monitor command parsing.
  * 759: Log backup start/resume/complete/failure in the main log.
  * 760: Fix and prevent possibility of infinite loops on error in asfd code.
  * 758, 763: Read errors should interrupt backing up a file.

2018-09-01 Changes in burp-2.2.10:
  * 737, 738: Multiple listen addresses.
  * 747: Fix for ACLs not getting restored on directories, and fix metadata
    client side counters.
  * 744: Fix for truncated .created file.
  * 750: fail_on_warning config option.
  * From ziirish:
    - 742: Clarify backup_script_pre documentation.
    - 746: Add '-o' flag to override configuration options on the command line.
    - 3: Implement 'include_regex' .
  * From deajan and hakong:
    - 740: Updates for backup tool script, including calendar.
  * From pablodav:
    - Fix Windows upgrade script getting stuck after execution.
  * Add j:response-markers-on/off monitor commands.
  * Fix utests for travis mac builds, they have a new gzip version.

2018-08-01 Changes in burp-2.2.8:
  * Do not try to log remotely with client side post_scripts.
  * 693: Fix RS_BLAKE2_SIG_MAGIC detection.
  * 734: Fix typo in retention doc.
  * 728: On error in protocol2, print the last tried file.
  * 731: Minor documentation update from Iznohak:
    - Remove references to yajl.
    - Clarify usage of backup_tool_script on the burp server.
    - Remove unimplemented diff options.
    - Reorder man page examples and group them by action.

2018-06-22 Changes in burp-2.2.6:
  * 726: Fix 'burp -t' missing fields.
  * 720: Bug fix for falling back to server name when ssl_peer_cn
    is not set
  * 721: Take note of restore_interrupt return correctly.
  * 721: restore_interrupt should return error.
  * 723: Make iobuf_to_printable accept newlines.

2018-06-01 Changes in burp-2.2.4:
  * 718: '[b/Kb/Mb/Gb]' -> '[B/KB/MB/GB]' in man page.
  * 716: '0000000 never' instead of 'never' in status monitor.
  * 710: max_resume_attempts option - if exceeded, delete working dir.
  * 714: DST mktime fix.
  * 715: Edit backup_tool_script.txt for spelling and formatting, put on
         the website.
  * 700: Attempt to fix "stats file: had an exception".
  * Add more logging around manio_tell when resuming.
  * Fix/run code coverage.

2018-05-01 Changes in burp-2.2.2:
  * 645: Update burp-cross-tools Windows libraries to use docker (thanks to
    josvo for hints):
    - binutils-2.29.1
    - gcc-7.3.0
    - gmp-6.1.2
    - isl-0.18
    - mingw-w64-v5.0.3
    - mpc-1.1.0
    - mpfr-4.0.1
  * From deajan:
    - 703: Add server port to Windows installer.
    - 693: Update Windows to librsync-2.0.2.
  * 693: Increase protocol1 strong length from 8 to 16.
  * 713: Fix for slow down after xattr warnings.
  * Add file descriptor number to asfd->desc, for better logging.

2018-04-01 Changes in burp-2.2.0:
  * 643: Protocol 2 restore load only up to the block that is needed.
  * 680: Strip trailing slashes from cross_filesystem option.
  * 689: Make list show working/finishing backups.
  * 707: Fix superfluous newlines on file vanished warnings.
  * From deajan:
         - 661: Add backup_tool_script housekeeping script.
  * All the fixes from burp-2.1.32.

2018-04-01 Changes in burp-2.1.32:
  * 696: Tests for some Windows installer command line switches, and
         use of hostname for cname.
  * 698: Fix for 'could not open current/incexc' warning on first backup.
  * 699: Remove use of strcasestr so that AIX is happy.
  * From deajan:
    - 701: Fix for broken Windows installer command line switches.
    - Man page tweak for rblk_memory_max.
  * From jirib:
    - spec file tweak for uthash.

2018-03-04 Changes in burp-2.1.30:
  * Revert "reopen syslog for child processes after fork".
  * Use iobuf_to_printable everywhere that iobufs are printed.
  * Don't run ncurses utests if you don't HAVE_NCURSES.
  * Bug fix for some utests accidentally closing stdin.
  * Protocol 2: Hash table for rblk lookups on restore/verify.
    Add rblk_memory_max option for configuring its size.
  * From deajan:
    - Replaced bits (b) with bytes (B) for quotas in man page.
  * From John Stoffel:
    - configure check for pkg-config.

2018-02-01 Changes in burp-2.1.28:
  * Set Windows creation time on restore.
  * From gfa-:
    - Fix for bedup junk files.
  * Unit test for bedup maximum hardlink code.
  * librsync_max_size option - only use librsync on files less than the
    given size.
  * Reopen syslog for child processes after fork.
  * Add a docs/restoring.txt file.
  * Tweak ratelimit man page descriptions.

2018-01-01 Changes in burp-2.1.26:
  * On non-Windows, strip vss on restore with the '-x' option.
  * Make 'burp -a m' work on a Windows console.
  * Monitor detect from storage when server side protocol unset.
  * Tweak man page 'backup_script_pre' section.
  * Fix all utests for openbsd 6.2.
  * Fewer warnings about the last backup on restore/verify.
  * Different setsockopt parameters for bulk packets with ipv6.
  * Log the return code of SSL_get_verify_result when it fails, so that
    we have a chance of knowing why "Certificate doesn't verify".
  * Make it a fatal error when bedup's do_hardlink() fails. Unlink the
    temporary path when bedup's do_rename() fails. This should stop
    bedup generating lots of mess when these things happen.
  * From Pablo Estigarribia:
    - Add additional entries to fstypes.
  * From BobRyanConsulting:
    - Add cifs entry to fstypes.
  * Note in docs/timer_script.txt about the internal timer_script.
  * Add Windows build tools to its own repo, and make the scripts download
    the sources: https://github.com/grke/burp-cross-tools
  * Make burp work with the new Windows build tools.

2017-12-01 Changes in burp-2.1.24:
  * Internalise the timer script.
  * Protocol2: Log a warning when a block cannot be retrieved during
    restore, and attempt to continue.
  * Fix for protocol 2 warnings not appearing on server side.
  * Fix encryption_password key length issue reintroduced in 2.1.18.
    Backups made by 2.1.18 to 2.1.22 using encryption_password should be
    considered broken.
  * Don't log version warning twice.
  * From Sergey Moskovkin:
    - Bug fix for rewriting the pidfile after forking - truncate first.
  * From Josef:
    - Include btrfs in fstype list.
  * From josvo:
    - Allow 'always' as an option to the timer script.
  * From DerGatt:
    - Small man page correction.

2017-11-01 Changes in burp-2.1.22:
  * On certificate exchange, do not rewrite the client config file if there
    are no changes.
  * Limit 'set file owner' warnings on restore when not root
  * On restore, don't send Windows VSS directory data to non-Windows clients.
  * On restore, don't send to split VSS data to non-Windows.
  * Fix travis for osx, where brew is now installing librsync 2.0.1.
  * Add 'monitor_exe' client option, in order to set where to look for the
    burp executable when forking a monitor client. This might be needed on
    systems that don't have any sensible way to self-determine a process' own
    path, such as openbsd.
  * From josvo:
    - Use ComputerName from Windows registry as suggested cname.
  * From deajan:
    - Added /nopowermode option to the Windows installer, with checkbox.
      This allows you to run timed backups when the laptop is not plugged in.
    - Update README and src/win32/README files.
    - Update Windows cross-tools and depkgs README file.
  * From trustchk:
    - Update README for AIX.
  * Upgrade Windows depkgs to librsync-1.0.1.
  * Upgrade Windows depkgs to pcre-8.41.
  * Upgrade Windows depkgs to zlib-1.2.11.

2017-10-01 Changes in burp-2.1.20:
  * On server daemonise(), rewrite the pid/prog to the lockfile
    without trying to open it a second time. This should avoid permission
    problems after chuser/chgrp.
  * Fix for 'success notification on failed backup'.
  * Check fileno() for errors in asfd.c.
  * List the mtime instead of the more recent of mtime/ctime.
  * Fix client_lockdir option.

2017-09-01 Changes in burp-2.1.18:
  * From qm2k:
    - Fix buffer overrun and slightly refactor xstrsplit in glob_windows.c
    - Add Content-Type to notification emails.
    - Windows exclude_fs functionality.
  * Add Content-Type to summary emails.
  * Fix missing newlines on WARNING/MESSAGEs logged by the server.
  * Make 'orig_client=<the same client>' work OK.
  * Drop privileges after main pidfile creation (instead of before).
  * Be slightly more helpful with SSL error messages.

2017-08-10 Changes in burp-2.1.16:
  * Fix encryption_password key length issue introduced in 2.1.14.
    Backups made by 2.1.14 using encryption_password should be considered
    broken.
  * Follow AC_INIT defines throughout the codebase, including the Windows
    installer.
  * Log strerror(errno) when failing to write a lock.
  * From deajan:
    - Add systemd file for running Burp without root privileges.

2017-08-01 Changes in burp-2.1.14:
  * From Marek Szuba:
    - Use pkg-config to detect ncurses.
  * From deajan:
    - Fix burp service file for RHEL / CentOS 7 - should be 'forking'.
  * From Xaltonon:
    - Add proper key-derivation (and IV) for client encryption.
  * Make key derived encryption transparent, and add salt.
  * Upgrade Windows depkgs to openssl-1.1.0f.

2017-07-01 Changes in burp-2.1.12:
 * From moenoel:
   - Fix segfault when sb->link.buf is NULL.
 * Respond correctly to bfd->read returning an error - fixes client side
   segfault.
 * Fix for server side autoupgrade path corruption.
 * Add README link to the ansible wiki.
 * From ziirish:
   - Add the ability to reset strlists through the special ':=' syntax.
   - Fix missing globfree.
 * Fix a possible segfault in server protocol2 backup phase2.
 * Fix missing Windows log timestamps. Fix 'resumed' timestamps.
 * Minor typo in man page, for include_fs.
 * Make sure iobuf buffer is printable before trying to log it.
   Also, print the length.

2017-06-01 Changes in burp-2.1.10:
 * Features sponsored by VSHN (https://vshn.ch/):
   + Ability to listen on multiple port/status_port numbers, individually
   configurable with additional max_children/max_status_children.
   + Add the ability for the client to connect to different server ports
   according to whether it is doing backup/restore/verify/list/delete.
   + Allow restore during a backup.
   + JSON output/input supports multiple actions on the same client.
 * Fix for restore interrupt on transfer_gzfile_inl() failing.
 * More UTF-8 in paths, from Alexey Kovalenko.
 * Add offsets to timestamps.
 * Take note of warnings from the status server.
 * Log timestamps of resumes in a file called 'resumed' inside the
   backup directory that was resumed.
 * Write '.created' when client directory is initially created.
 * qm2k's patch to limit notify_script to 1000 lines of log.
 * Fix two more bugs in relinking deleted hardlink master records.
 * Add Dave Ludlow's comments to the Windows2008 bare metal file.

2017-05-01 Changes in burp-2.1.8:
 * Fix two bugs in relinking deleted hardlink master records.
 * Fix status monitor failing if client password is not set.
 * trustchk's AIX: Complete initial support.
 * Increase size of d_name on windows.
 * chrisv5179's fixes for error handling in burp_ca.
 * moenoel's include_fs option.
 * moenoel's partial fixes for strip_from_path().
 * Fix for problems with truncating incexc file.

2017-04-01 Changes in burp-2.1.6:
 * Fix for bug treating too many files as new (a problem since 2.1.2).
 * Fix for changed/same counters being reversed in the monitor.
 * Set times on symlinks instead of dereferencing them.
 * Fix bug with backup_script_reserved_args = 0.
 * moenoel's burp_ca fix for SunOS.
 * trustchk's addition of ZFS to fstypes so that it can be excluded using
   exclude_fs.

2017-03-01 Changes in burp-2.1.4:
 * Protocol 1: When a file that is deleted on the client side was one that
   others hardlink to, do not treat the new first entry as a new file - link
   it in from the previous backup.
 * Protocol 2: It is OK if the cfiles directory already exists when trying to
   mkdir it.
 * Set windows d_name buffer to MAX_PATH.
 * Tests for run_action.

2017-02-01 Changes in burp-2.1.2:
 * Protocol 2 fixes:
   - Client side empty block memory leak
   - server side empty blocks lock up
   - server side limit number of paths loaded into memory
   - metadata protocol2 restore removing security capabilities
 * Don't try to set file times on Windows junction points.
 * Create 'bsparse' for recreating the sparse index.
 * Cleanup code in protocol1/backup_phase2.c.
 * Reinhard Biegel's fixes:
   - bad open call when ca_conf is not set
   - config check logic for ca_burp_ca

2017-01-01 Changes in burp-2.1.0:
 * Fix certificate and csr permissions on receive_a_file().
 * Fix for metadata restore removing security capabilities.
 * Fix for 'burp -a S' not outputting all clients.
 * Compile and run utests on Windows.
 * Delete unused Windows build code and icons.
 * Update manpage for server_script_pre/server_script_post.
 * Upgrade Windows dpkgs to openssl-1.1.0c and pcre-8.39.

2017-01-01 Changes in burp-2.0.54:
 * Fix certificate and csr permissions on receive_a_file().
 * Fix for metadata restore removing security capabilities.
 * Fix for 'burp -a S' not outputting all clients.

2016-11-07 Changes in burp-2.0.52:
  * Make compilation with openssl-1.1.0 work.
  * Fix for client side autoupgrade.
  * Rename 'enum page' so that compilation on Solaris 10 works.

2016-11-02 Changes in burp-2.0.50:
  * Bug fix for excluding directories directly inside /.
  * Fix for dindex regeneration concurrency accidently resulting in
    protocol2 data files getting deleted prematurely.

2016-10-01 Changes in burp-2.0.48:
  * Fix server-side segfault on re-encoding Windows attributes.
  * Stop server child hanging on verify/restore when gzipped file is corrupt.
  * If a file is missing on verify/restore, continue to verify/restore more
    files.
  * Make server initiated restores work in protocol 2.
  * Benjamin Sans' fixes for cname_ options:
    + manpage misses some returns
    + use globalcs while authenticating client
    + fix unit test
    + allow to change cname_fqdn and cname_lowercase on already setup servers
  * Add better docs for the cname_ options.
  * On the client side, make OPT_CNAME_FQDN and OPT_CNAME_LOWERCASE
    affect the cname retrieved from the ssl cert, as well as the
    cname when the certificate is generated in the first place.
  * Fix chuser/chgrp when switching with orig_client.
  * Fix server-initiated restores with orig_client.
  * Add end-to-end test for a server-initiated restore.
  * Avi Rozen's fixes:
    + for possible hardlink truncation on restore.
    + for burpfs support:
      - monitor/browse: link field added to file entries
      - monitor/browse: use "*" as browse directory in order to dump all files
      - fixed handling of NULL browse directory

2016-09-04 Changes in burp-2.0.46:
  * Fix server segfault in no-fork mode.
  * Counter fixes for protocol1.
  * Server to client counters via JSON.
  * Replace deprecated readdir_r() with readdir().
  * Make asfds count received and sent bytes instead of trying to do
    it inside the backup/restore/verify code.
  * Don't count metadata in the phase1 estimate counts.
  * Add cname_lowercase to force lowercase cname on server-side (from
    Benjamin Sans).
  * Add cname_fqdn option to allow stripping FQDN (from Benjamin Sans).
  * Switch to pure C for non-Windows (from Ruben Kerkhof).
  * Make 'burp -a e' work again.
  * Remove restore_spool.
  * Make 'burp -a s/S' output the 'burp -a m' log lines on error.
  * Re-enable chuser_and_or_chgrp code, which got broken during the
    automake/autoconf refactoring a few versions ago.
  * Remove unused configs/install script.
  * Use /proc/%d/exec to figure out the path to run when forking a
    monitor 'burp -a m' process.
  * Fix for the debian init script so that it understands $BURP_USER
    (from Peter Maloney).

2016-07-30 Changes in burp-2.0.44:
  * Default to protocol 1.
  * Another attempt to remove network timeout from champ chooser main socket.
  * Fix building with explicitly added --enable-xattr.
  * Enable SE_SECURITY_NAME privilege on Windows. Should fix permission
    problems on attempting to back up:
	C:\Program Files\WindowsApps
	C:\Windows\InfusedApps

2016-06-30 Changes in burp-2.0.42:
  * Remove network timeout from champ chooser main socket.
  * Tests for monitor cache.
  * Deduplicate the current manifest locally in backup_phase2.
  * Some protocol 2 counter improvements.
  * More coverage for cmd.c.
  * Tests for src/server/extra_comms.c
  * Tests for src/client/extra_comms.c
  * Local time in the top corner of the monitor.
  * Fix C++11 -Wliteral-suffix warnings.
  * Make sure that places that are checking RS_DEFAULT_STRONG_LEN have
    included librsync.h.
  * Bug fix for restore_script_pre running instead of restore_script_post.
  * Correct mistakes in the manpage about the status monitor.
  * Bug fix for status client ncurses with -C showing last backup only.
  * Fallback to /usr/sbin/burp for the forked 'burp -a m' process.
  * A small tidy up in protocol1 phase4.
  * Fix pathcmp on raspberry pis.
  * Fix bug in rabin fingerprinting due to signedness on the window.
  * Make the server verify checksums during a protocol2 backup.
  * Fix bug that let clients overwrite existing protocol2 data files.
  * Correct rabin.h include in src/server/restore.c.
  * Rabin fingerprinting should be using unsigned char.
  * Rabin fingerprinting should reset window after every block.

2016-05-30 Changes in burp-2.0.40:
  * Tidy symlink/readlink functions.
  * Yopito's patches to help RHEL5 builds.
  * Fix 'burp -a S', which has been broken up to this point in burp-2.0.x.
  * Add more unit tests.
  * Fix for writing statuses down multiple server status child pipes.
  * Fix for loading initial running client status server data.
  * Fix bugs in sorting paths with characters with ASCII values higher
    than 127. Make my_alphasort() use pathcmp(), like burp-1 did.
  * Clean up network_timeout, ratelimit, streamtype and fdtype.
  * Tidy up setup_signals().
  * Make path to CRL configurable.
  * Stéphane Berthelot's fix for too many lines for each client in the
    status monitor summary.
  * Fix segfault when using '-C <client> -a s'.
  * Fix compilation without ncurses.
  * Upgrade Windows depkgs to openssl-1.0.2h.
  * Upgrade Windows depkgs to pcre-8.38.

2016-04-30 Changes in burp-2.0.38:
  * Add 'enabled' option (from Benjamin Sans).
  * Fix bugs in protocol2 delete_unused_data_files().
  * Remove some hardcoded paths in scripts.
  * Add ecryptfs to the list of file types that can be excluded (from
    scosu).
  * Added ubuntu baremetal restore instructions (from Wybren Buijs).
  * Use an asfd for stdout in status_client_ncurses.
  * Make rubble cleanup with working_dir_recovery_method=delete delete
    unused data files.
  * Fix bno printf 32bit compile warnings.
  * Fix bug in server side restore regex parsing introduced in 2.0.36.
  * Don't try to set IPTOS_THROUGHPUT if it is not defined.
  * Fix and tidy up include_glob test.
  * Fix champ_chooser to try until max_tries instead of 10 seconds (from
    Stéphane Berthelot)
  * Add glob_after_script_pre option to evaaluate glob after script pre
    execution (from Benjamin Sans).
  * Adapt rpm spec file for 2.0.36, test on CentOS7 (from Marco Fretz).
  * Fix protocol2 backup deletion not obeying multiple 'keep' values.

2016-03-31 Changes in burp-2.0.36:
  * Support xattrs and acls in protocol2.
  * Fix acl+xattr bug introduced in 2.0.28.
  * Fix default acl bug that has existed forever.
  * Fix acl memory leak.
  * Some tests for status_client_ncurses.c.
  * Add server_can_override_includes option.
  * Fix Travis Darwin builds.
  * More test coverage for champ_chooser.

2016-02-29 Changes in burp-2.0.34:
  * Add support for glibc's additional algorithms in crypt(3)-style passwords
    ("passwd" configuration option).
  * Unit tests for check_passwd.
  * Bug fix for acls - use acl_free() instead of free_w().
  * Make server accept 'restoreend_ok' and 'restoreend ok'.
  * Make client send 'restoreend ok', the same as burp 1.4.40.
  * Some work on protocol2 xattr support.
  * Implement labels being passed via status monitor.
  * Use localtime() instead of gmtime() in cntr_print().
  * Better locking for burp_ca.
  * Make close_zp() not crash on OpenBSD on Z_RET_ERROR.
  * Add Travis file.
  * Turn on all tests for NetBSD.
  * Fix dindex filename in protocol 2 phase 4 regenerate client index.

2016-01-31 Changes in burp-2.0.32:
  * Tweak README install instructions.
  * Fix ncurses output option.
  * Fixes for ncurses support on OpenIndiana.
  * Header inclusion order fixes.
  * NetBSD be64toh and le64toh cleanup.
  * Make xattr code compile on NetBSD.
  * Attempt SSL_accept again on SSL_ERROR_WANT_READ.
  * Fix 'make distcheck'.
  * Add 'make install-config' and 'make install-all' commands.
  * Use AC_CHECK_TYPES to check for struct utimbuf.
  * Replace flock locking with bash file creation locking.
  * Portability fixes in test_main.
  * Make xattr.c depend more on detected functionality, less on OS.
  * Compiler warning fixes on various platforms.
  * Fixes so that burp runs on DragonFlyBSD.
  * Fix a protocol2 champsock problem for FreeBSD.
  * Use the BSD-style xattr functions on NetBSD.
  * FreeBSD now fully added to automatic test system.
  * Simplify checks for endian conversion functions.
  * Install bedup, bsigs, and vss_strip.
  * Don't try to create sockets with mknod.
  * Fix xattr test so that ordering doesn't matter.
  * Add keepalive flag to sockets.
  * Remove child status pipe from the connections that timeout.
  * Mark log functions as printf-like, clean up format warnings.
  * Allow for setting test verbosity from environment.
  * NetBSD fix - getaddrinfo: don't lookup http service.
  * Set timezone to UTC before calling mktime, otherwise Solaris uses the
    system timezone.
  * Use gmtime instead of localtime, to fix test failures on OpenIndiana and
    OmniOS.
  * Fix AM_PROC_CC_C_O warning with older automake versions.
  * Fix base64 decoding test on NetBSD.
  * Fix test_fzp for older zlib versions.
  * Updated yajl in burp-depgs in order to fix a Windows XP linking bug.

2016-01-03 Changes in burp-2.0.30:
  * Ruben Kerkhof has rewritten the automake/configure system.
  * Make CMD_INTERRUPT work in protocol 2.
  * Tests for restore.
  * Tests for backup phase2.
  * Tests for champ_server.
  * Tests for slist.
  * Fix minor memory leaks.
  * Bug fix for deleting the current backup.
  * Correct documentation about ca_crl_check.
  * Fix listing all backups and using '-d'.
  * Fix status monitor segfault on exit.

2015-11-30 Changes in burp-2.0.28:
  * Use the same maximum blocksize as rsync ((int32_t)1<<17).
  * Clean up client side librsync load_signature code.
  * Add freebsd to AWS automatic build (actual tests not working yet).
  * Parallel test runs.
  * Update Debian autoupgrade script.
  * A lot more unit test coverage.
  * Always flush asfd at the end of tasks.
  * Make bad regexes produce error messages.
  * Make bad restore regexes produce a message on the client side.
  * Bug fix to make bad strlist regexes not match everything.
  * Fix memory leaks in xattr.c.
  * Fix memory leaks in cntr.c and cstat.c.
  * Fix segfaults in cstat.c.
  * Get basic diff to work.
  * On restore, always open deltas via zlib, so it doesn't matter whether
    they have been compressed or not.
  * Make it possible to use '-b all' on restore/verify. Use '-b all' in
    tests.
  * Don't quit the restore if inflating or patching failed - move on to
    the next file.
  * Fix listing all backups.
  * Remove json list option.
  * Don't build separate .a files. Just use .o files.
  * Fix protocol 1 EFS restore breakage.
  * Add some EFS files to the Windows tests.
  * Fix winattr values not being preserved on changed files.
  * Fix for yajl sprintf_s.

2015-10-31 Changes in burp-2.0.26:
  * Paid for by an anonymous user: add a new screen to the Windows installer
    for choosing 'include' directories.
  * Upgrade Windows depkgs to openssl-1.0.2d.
  * Upgrade Windows depkgs to librsync-1.0.0.
  * Add internal CRL revocation feature based on a patch from Sebastien
    Couppey (as opposed to using the old ssl_extra_checks_script server pre
    script).
  * Fix protocol2 bug where rblk wasn't initialised.
  * Add linux i386 machine to automatic tests.
  * Use -Werror when build utests.
  * Delete unused protocol2 data files.
  * Eliminate compile warnings from the Windows build and add  -Werror
    to the Windows CFLAGS.
  * Change dhfile.pem generation command to use -dsaparam and 2048 bits.
  * Fix memory leak in protocol2 restore.
  * Fix protocol2 problem where new candidates wouldn't be loaded during
    backups.
  * Make sure split/strip_vss don't break protocol 2.
  * Unit test client/auth.c by overriding asfd function pointers.
  * Fix iobuf_free() bug.
  * Code coverage report for all files.
  * Start unit testing client restore.
  * Preparation for fixing restore interrupt for protocol 2

2015-09-30 Changes in burp-2.0.24:
  * Another fix for sigchld handling.
  * Tests for delete algorithm.
  * Tests for bu_get.
  * Fix a bug where deleting with multiple keep settings and no hardlinked
    archives would result in too many backups getting removed in the oldest
    keep range.
  * During backup, read compression settings from the attribs buffer sent from
    the client rather than relying on the server config being correct.
  * Fix a bug where interrupting the server whilst it was deleting old
    backups would result in the next backup erroneously being given a backup
    number incremented from the timestamp in the 'deleteme' directory.
  * Fix the 'manual_delete' option so that it works on backups instead of
    just the rubble left behind by a librsync=1 backup. Add the option to the
    man page as it was missing.
  * Add acl=[0|1] and xattr=[0|1] options so that acls and xattrs can be
    turned on and off at runtime.
  * Ensure all logw() messages end with a newline.

2015-09-04 Changes in burp-2.0.22:
  * Make protocol2 resume work. Add unit tests for resume components.
  * Store manifest fingerprints and md5sums in binary instead of strings,
    plus related endian fixes.
  * Fix '-a l' regex so that it isn't split in two at the right-most
    colon.
  * Fix possible buffer overrun when encoding attribs.
  * Fix protocol 1 phase 2 resume bug introduced in 2.0.20.
  * Fix protocol 1 phase 2 bug where librsync was never used.
  * Fix possible protocol 2 phase 2 segfaults.
  * Make protocol 1 and 2 share the same code for phase 3.
  * Set default_md=sha256 in CA.cnf.
  * Use 'stat' for checking ssl files instead of 'lstat', and log if
    the ssl file was not found.
  * Fix path for server initiated backup via timer_script.
  * Use getpid() for random delay seed so that I can get rid of OS specific
    clock code and '-lrt' link flag.
  * Get xattr working on Mac OSX. This should mean that resource forks and
    finder info backup/restore is working.
  * Fix Windows protocol1 restore segfault when using split_vss.
  * Fix directories in Windows protocol1 strip_vss mode.
  * Fix from Patrick Van der Veken to correct typo in timer_script that
    meant month settings were broken.
  * Make listing a non-existent backup give an error.
  * Stop using scandir with a comparison function, in order to avoid
    problems with compilation on Macs.
  * Fix bug where Windows backups with split_vss was saving CMD_METADATA
    instead of CMD_VSS.
  * Prevent warnings when listing backups that contain metadata.
  * Fix for SIGHUP causing server to stop listening.
  * Use flock to stop simultaneous runs of burp_ca, hopefully preventing CA
    corruption.
  * Unit tests for src/client/find.c, enabling the removal of some of the
    time consuming end-to-end tests.
  * Fix 'nobackup' conf item.
  * Don't use absolute path to 'sort' in 'make test'.
  * Fix bug where fs_name_max could get set to an incorrect value on the
    server side, causing scandir to fail at the end of a backup.
  * Fix for a growing list of defunct child processes on busy servers, where
    overlapping sigchlds would get conflated into one, and waitpid would only
    get run once.
  * Set the server address in linux client burp.conf to "::1" if IPv6 is
    supported, and "127.0.0.1" otherwise.
  * Substitute 127.0.0.1 for the default burp.conf server address if the OS
    doesn't have IPv6.
  * Fix for server side restore file causing '-a m' to exit.
  * Fix large file support for 32 bit machines.
  * Let the champ chooser continue if candidate_add_fresh could not read a
    new candidate file.
  * On the server, log the client address and port for every connection.
  * Upgrade Windows depkgs to openssl-1.0.1p.

2015-07-01 Changes in burp-1.4.40:
  * Fix '-a l' regex so that it isn't split in two at the right-most colon.
  * Set default_md=sha256 in CA.cnf.
  * Correct logp format strings in quota.c.
  * Upgrade Windows depkgs to openssl-1.0.1o.

2015-05-30 Changes in burp-2.0.20:
  * Fix conf bug that was causing the server to segfault when the client
    used the -C option. Also add unit test for it.
  * Add documentation about retention and keep values.
  * Make status monitor print a warning in the JSON response if there was a
    problem with the request.
  * Add status monitor commands to turn pretty printing on and off.
  * Add documentation about adding and removing clients.
  * Use librsync hash blake2, if available on both server and client.
  * Remove 'working_dir_recovery_method = use'.
  * Stop bedup from trying to process protocol 1 directories.
  * Fix bedup segfaults.
  * Fix bug where setting the same include in both client burp.conf and
    server clientconfdir file could result in the item being used twice as
    a starting point and causing chaos.
  * Add 'include' directories that are not starting points to the
    'cross_filesystem' list.
  * Add more protocol 1 phase 2 interrupt tests.
  * Fix some protocol 1 phase 2 resume bugs.

2015-05-30 Changes in burp-1.4.38:
  * Turn SO_REUSEADDR on instead of turning it off.

2015-05-03 Changes in burp-2.0.18
  * Fix bug where an error generated by link() was obeyed, but not logged.
  * Allow compilation when openssl has no SSL_OP_NO_COMPRESSION option
    Log a message if an attempt to use the feature was made.
  * Fix problem where a client connecting while a backup was finalising
    would cause 'backup failed' emails to be sent.
  * Fix two possible segfaults discovered with efence.
  * Fix status monitor segfault due to recent conf system changes.
  * Use setlinebuf(stdout) with '-a m' so that reading processes get the
    output of the logp printfs straight away.
  * Add out-of-date report script from Pablo Daniel Estigarribia Davyt.
  * 'backup_script_reserved_args=0|1' and 'restore_script_reserved_args='0|1'
    client side options.
  * Fix protocol2 dpth incrementing bugs.
  * Fix Windows VSS output so that it prints the writer names at the start of
    backups.
  * More unit tests.
  * Add some documentation about working_dir_recovery_method.
  * Don't open the log when about to delete the working directory.
  * Stop server side 'auth ok' message logging a freed string.
  * Updates to out_of_date_report_script from Pablo Estigarribia.

2015-05-03 Changes in burp-1.4.36:
  * Fix bug where an error generated by link() was obeyed, but not logged.
  * Fix possible segfaults in asyncio.c.
  * Don't open a log file in a directory that we are about to delete. Fixes
    'error in get_lock_and_clean()' that was happening with some network
    attached storages.

2015-02-28 Changes in burp-2.0.16:
  * Add ability to do 'burp -a l -b c' and list the files in the current
    backup.
  * Rewrite the conf system. Gives the ability to use 'burp -t' to show the
    current conf settings. Add '-c <conf file>' and '-C <client>' to get
    client/server conf settings, and clientconfdir settings.
  * More unit tests.
  * Add 'scan_problem_raises_error' option, which lets you treat phase1 scan
    warnings as hard errors.
  * Fix bug where 'burp -a S' was limited to 24 lines.
  * Make 'burp -a S' not truncate client names.
  * Implement glob '. /some/dir/*' conf syntax on non-Windows machines.
  * Changes to support librsync-1.0.0.
  * When listing a directory, include a '.' entry to indicate the directory
    itself.
  * When listing a directory, send an error if the directory was not found.
  * Fix for client getaddrinfo error message.
  * Fix resume bug when a backup is interrupted before phase1 has got under
    way.
  * Fix resume bug where an interruption in phase3 causes problems.
  * Fix compile when there is no ncurses.

2015-02-28 Changes in burp-1.4.34:
  * Fix bug where permissions would not be backed up correctly when only
    permissions have changed.
  * Support librsync-1.0.0.
  * Bug fix for client getaddrinfo error message.
  * Upgrade Windows depkgs to openssl-1.0.1m.

2015-03-02: Changes in burp-2.0.14:
  * Improve utest/Makefile.
  * Add unit test for base64.c.
  * Make from_base64() ignore invalid characters.
  * Make the path to pidfiles in the config files substitutable.
  * Fix some phase1 bugs related to min/max_file_size and hard links.
  * BSD compilation fixes from Stefan Paletta.
  * Make restoring a hard link without restoring the original file work.
  * Fix for a protocol 1 bug to do with the first hardlinked entry being
    deleted on the client.
  * Make verify work for protocol 2.

2015-02-06: Changes in burp-2.0.12:
  * Move /etc/burp scripts to /usr/share/burp/scripts.
  * Do some sed replacement when installing config files.
  * Start to add unit tests with 'check'.
  * Don't return code for restore warnings if there was an error.
  * RHEL updates from Andrew Niemantsverdriet: Added support for systemd and
    cleaned up the spec file according to rpmlint.
  * Allow syslog and stdout logging at the same time (was broken in 2.0.10).
  * Fix some file descriptors timing out due to the network timeout code, when
    they shouldn't be considered for that.
  * Use __STDC_FORMAT_MACROS to get rid of printf warnings on Debian 7.6 and
    also use them for Windows printf formatting, which simplifies some code.
  * Upgrade Windows depkgs to openssl-1.0.1l.

2015-02-05 Changes in burp-1.4.32:
  * Allow syslog and stdout logging at the same time (was broken in 1.4.30).
  * In the client, don't use the return code for restore warnings if an error
    code is already set.
  * Upgrade Windows depkgs to openssl-1.0.1l.

2015-01-03 Changes in burp-2.0.10:
  * There are many changes since the last burp-2 release, including:
    - Massive reworking of the status monitor system and ncurses client.
    - Massive reworking of async i/o.
    - Forward ports of all 1.4.x patches.
  * The main focus was improving the status monitor system in order to better
    support projects like burp-ui. There are still missing pieces to it, but
    most of the basics are now there.
    Be sure to read the UPGRADING file. Protocol 2 is still work in progress,
    so do not expect protocol 2 backups to work with future releases.

2015-01-03 Changes in burp-1.4.30:
  * Better SSL error logging.
  * Replace c_rehash with a line of shell script, from Markus Heberling.
  * Use lutimes to set times on symlinks.

2014-12-03 Changes in burp-1.4.28:
  * Help Mac compilation by removing calls to basename() in vss_strip.c and
    bedup.c.
  * Add soft/hard quota feature.

2014-10-28 Changes in burp-1.4.26:
  * Bug fix for incorrect handling of '' in check_browsedir().
  * Bug fix for made up directory names in check_browsedir() not having the
    directory bit set.
  * Close unnecessary file descriptors after forking children.
  * Check for EAGAIN and EINTR when read on child status pipe fails in main
    server process.
  * Make status_wfd non-blocking and run a select() on it before the child
    tries to write to it.
  * Fix a possible segfault when reading from a status client.
  * Log a more accurate description of ssl_ciphers.
  * Make the Windows client return codes other than 0.
  * Set openssl options SSL_OP_NO_SSLv2 and SSL_OP_NO_SSLv3, to avoid the
    poodle vulnerability.
  * Slightly better logging when SSL fails in src/async:do_write().
  * Bug fix for bedup not obeying clientconfdir configs.

2014-09-28 Changes in burp-1.4.24:
  * Make vss_strip.c include the configure output, so that vss_strip gets the
    large file options.
  * Make the server initiated restore not require an 'include' line.
  * Add the ability to list backup_stats/restore_stats/verify_stats via the
    status port.
  * Add 'client_is_windows=0|1' to the stats files.
  * Bug fix for resume bug not correctly truncating the phase2/unchanged
    manifests.
  * Make restore_clients override client_can_restore/list/verify/delete
    settings.

2014-08-31 Changes in burp-1.4.22:
  * Fix for xattrs with zero length values.
  * Fix for restore bug when a file cannot be opened.
  * Tweak to compile with burp-2 cross-tools/depkgs.

2014-07-26 Changes in burp-2.0.8:
  * There are many changes since the last burp-2 release, including:
    - Ability to configure the server listening addresses at run time.
    - Run the champion chooser as a separate process.
    - Option to remove the need for a client password and cname - use certs
      exclusively.
    - Warn if files are restored from outside a hardlinked_archive.
    - Fix unnecessary duplication and deletion with hardlinked_archive=1.
    - Fix backups failing with too long server side paths.
    - Add option to configure SSL compression.
    - Burp protocol 1 support looks good.
    - Many code improvements and bug fixes.
  * This release was focused on making the burp protocol 1 support good.
    Be sure to read the UPGRADING file. Protocol 2 is still work in progress,
    so do not expect protocol 2 backups to work with future releases.

2014-07-26 Changes in burp-1.4.20:
  * Fix for backing up fifos with xattrs.

2014-07-06 Changes in burp-1.4.18:
  * Fix some Mac compilation warnings.
  * Fix a bug where specifying an alternative restore directory with a trailing
    slash would not work.
  * Set REMOTE_ADDR and REMOTE_PORT environment variables.
  * Force the user spell out '-a delete', to avoid confusion with the future
    'diff/long diff' options. Prevent old clients from deleting, to prevent
    potential accidents.
  * Fix a problem where interrupting the client during a list could leave the
    server child process hanging indefinitely.

2014-05-31 Changes in burp-1.4.16:
  * Bug fix for restoring permissions on empty directories.
  * Compile for systems that have no O_NOATIME and fdopendir() - ie, Mac OS X.
  * Bug fix - some readlink() returns were getting assigned to an unsigned
    variable, not a signed variable.
  * Removed references to old '-l' logfile option.
  * Added Jarkko Kniivilä's FreeBSD init script.
  * Added Jarkko Kniivilä's tweaks to make scripts run more easily on FreeBSD.
  * In bedup, detect if a rename failed after unlinking the target file,
    print a warning and stop processing.
  * Fix a case where an interrupted backup may not have been automatically
    recoverable.
  * Set IPTOS_THROUGHPUT bit on Windows, so that burp is doing the right thing
    even if Windows decides to remove it.

2014-04-29 Changes in burp-1.4.14:
  * Add an 'atime' option, which allows the user to choose whether to use
    O_NOATIME or not.
  * Fix function not returning anything when it should return an int
    in list_server.c.

2014-03-29 Changes in burp-2.0.4:
  * First release of burp-2. Use with extreme caution.

2014-03-29 Changes in burp-1.4.12:
  * Make 'make test' skip tests if no source of randomness seems to exist
    for openssl to use.
  * Bug fix for restoring correct file times on Windows clients.
  * Bug fix for false failure notification - differentiate between
    not getting a lock and getting an error when trying to get a lock.
  * Turn off excessive logging on some restores.
  * Debian packaging changes.
  * Rename configure.in to configure.ac to avoid Debian build warnings.
  * Make test script check for lock file instead of working/finishing symlinks
    when checking whether an operation has finished yet.
  * Fix encryption casting problem on 64 bit big endian platforms (eg, s390x,
    ppc64, sparc64).

2013-12-01 Changes in burp-1.4.10:
  * Bug fix for false failure notification when a client tries to connect again
    while a backup is still in progress.

2013-11-27 Changes in burp-1.4.8:
  * Be sure to close directory file descriptor if fdopendir() fails.
  * Extend the JSON list functionality so that covers all types of listing.
  * Allow the backup to carry on if a filename was too long for the server.
  * Regenerate server certificates if the CA directory exists and is empty.
  * Add machine-readable statistics files for restores and verifies in the
    backup directories.
  * Bug fix for server not exiting after one connection with '-n'.
  * Add 'manual_delete=<directory>' option. This makes the server move
    directories to be deleted to the specified directory, with the intention
    that they will be deleted manually (perhaps by a cron job) later.

2013-10-30 Changes in burp-1.4.6:
  * Add client option '-a T', which checks whether it is yet time for a backup
    without actually doing a backup.

2013-10-02 Changes in burp-1.4.4:
  * Bug fix for include_glob xmalloc success check on Windows.
  * Fix long list and status monitor output when a directory argument is given.
  * Fix restore problem with backups containing both compressed and
    uncompressed files.
  * Bug fix for an interrupted backup causing a resume when a restore_client
    connects.
  * Bug fix for defaulting 'resume partial' to off.

2013-09-02 Changes in burp-1.4.2
  * Add a machine-readable statistics file to each backup directory.

2013-07-29 Changes in burp-1.4.0
  * Add Abbas Khan's RHEL spec files and related things.
  * Add Benjamin Sans's include_glob feature.

2014-01-27 Changes in burp-1.3.48:
  * Bug fix for restoring correct file times on Windows clients.

2013-12-30 Changes in burp-1.3.46:
  * Another bug fix for false failure notification - differentiate between
    not getting a lock and getting an error when trying to get a lock.
  * Turn off excessive logging on some restores.

2013-12-01 Changes in burp-1.3.44:
  * Bug fix for false failure notification when a client tries to connect again
    while a backup is still in progress.

2013-11-27 Changes in burp-1.3.42:
  * In backup phase 4, a 'deleteme' directory may already exist if the server
    was previously interrupted whilst deleting it. If so, delete it before
    attempting to rename anything to it.

2013-10-30 Changes in burp-1.3.40:
  * Make the server request the whole file when ctime changes on Windows,
    otherwise changes to metadata when the file content is unchanged will not
    be noticed.
  * Add 'delete' to the client help output.
  * Bug fix for the include_glob code being run on the server side.
  * Bug fix for in the include_glob code not initialising the glob_t struct
    correctly.
  * Get 'include_glob=' in the clientconfdir server side file to work without
    also needing an 'include='.
  * When backing up, open files and directories with O_NOATIME flag so that the
    access time is not changed.
  * Bug fix for no failure notification being sent when the backup directory
    cannot be created.

2013-10-02 Changes in burp-1.3.38:
  * Fix long list and status monitor output when a directory argument is given.
  * Fix restore problem with backups containing both compressed and
    uncompressed files.
  * Bug fix for an interrupted backup causing a resume when a restore_client
    connects.
  * Bug fix for defaulting 'resume partial' to off.

2013-07-29 Changes in burp-1.3.36:
  * Fix truncation of timestamps in the live status monitor.
  * Default the 'resume partial' feature to being off, and add an option to
    turn it on.
  * Upgraded Windows cross tools to:
	+ binutils-2.23.1
	+ gcc-4.7.3
	+ gmp-5.1.2
	+ mingw-w64-v2.0.8
	+ mpc-1.0.1
	+ mpfr-3.1.2
  * Upgraded Windows depkgs to:
	+ openssl-1.0.1e
	+ zlib-1.2.8
	+ pcre-8.33

2013-06-29 Changes in burp-1.3.34:
  * Contributions from Avi Rozen:
	+ Major autoconf cleanup.
	+ Initial support for cross-building android targets.
  * On the server, indicate where logging is occurring.
  * Fix bedup segfault when using -m with no argument.

2013-05-31 Changes in burp-1.3.32:
  * Fix status monitor segfault.
  * Run timed backups with lower thread priority on Windows.
  * Add 'vss_drives' option, which gives the ability to specify which Windows
    drives get a VSS snapshot.

2013-04-02 Changes in burp-1.3.30:
  * Add a warning when run on Windows without admin privileges.
  * Perform fewer lstat()s on systems that support d_type (ie most Linux
    systems), in order to speed up certain operations.
  * Allow _FORTIFY_SOURCE to work.
  * Fix problem with burp_ca.bat and repeated field names in burp.conf.
  * Put registry keys back in the Windows installer.
  * Fix for SIGHUP reload causing the server to go into non-forking mode.
  * Indicate the backups that are deletable.
  * Add a client option for deleting deletable backups.
  * Add a 'client_can_delete' option on the server.
  * Fix for using the wrong lock directory when 'directory' is overridden for
    a client.

2013-03-30 Changes in burp-1.3.28:
  * Add the ability to resume partially transferred files.
  * Make sure 'timer conditions not met' message appears on the client.
  * Bug fix for turning off compression before resuming a backup.

2013-03-05 Changes in burp-1.3.26:
  * When a read_blockdev option matches a symlink, backup the destination as
    a raw block device.
  * Avi Rozen's valgrind cleanup. Includes a fix for a bug in restore_client.c
    where overwrite_ok checked the wrong stat struct when considering a FIFO.
  * Add '-v' option to bedup (output the names of duplicate files).
  * Add '-d' option to bedup (delete duplicates instead of hardlinking - not
    for use on burp storage directories).

2013-01-29 Changes in burp-1.3.24:
  * Bug fix for strip_vss/split_vss truncating backups of changed files on
    Windows.
  * Bug fix for autoupgrade failing on Windows if autoupgrade_dir has been
    modified.
  * Bug fix for listing backups created with split_vss=1.
  * Bug fix for restoring uncompressed encrypted backups created with
    split_vss=1.
  * Bug fix for making backups with min_file_size and split_vss=1.
  * Bug fix for Debian init do_stop() function from Peter Maloney.
  * Bug fix for resuming backups where a file to patch has already been
    hard linked into place. Also get the client to report a more helpful
    message if any similar problem happens.
  * Bug fix for signal handler race conditions.
  * Bug fix for the forkchild child not exiting when execv fails.
  * Changed the run_script() code to take an array.
  * Added server_script_pre_notify and server_script_post_notify options.
  * Rework the test script so that it can test Windows clients.
  * Attempt a Windows signal handler to try to shut VSS down nicely on certain
    signals, such as Ctrl-C.
  * Include an example server side offsite rsync backup script. This is not
    quite working properly, but it may still be useful.
  * Bug fix to stop Windows going to sleep during a backup, from Avi Rozen.

2013-01-02 Changes in burp-1.3.22:
  * Contributions from Avi Rozen:
	+ Added a '-j' option to format the long file list as JSON. Intended
	  for use with burpfs (https://github.com/ZungBang/burpfs).
	+ Bug fix for list/verify/restore when regex is long and/or contains
	  a colon.
	+ Bug fix for split_vss backups being restored on a linux
    	  restore_client with the -f (force) option. Prevents overwrite of the
          destination file with the vss footer.
  * Contributions for burp_ca from Patrick Koppen:
	+ Bug fix for the size option.
	+ Use shell numeric comparison instead of string comparison.
	+ Added subjectAltName patch (in case it is needed outside of burp).

2012-12-18 Changes in burp-1.3.20:
  * Bug fix for split/strip_vss = 1 on the client side always causing all files
    to be backed up.
  * Make configure report /usr as the default prefix.

2012-11-02 Changes in burp-1.3.18:
  * Turn --enable-ipv6 configure option into --disable-ipv6.
  * Print a carriage return when rewriting ssl_peer_cn on Windows.
  * Make all places that log 'out of memory' also log the function name.
  * Remove version_warn debug.
  * Tweaks to the test script.
  * Option to store Windows VSS headers separately to the actual file data.
  * Option to strip Windows VSS headers from the actual file data.
  * If no timebands are given to timer_script, default to not allowing a
    backup.
  * Add LC_TIME=C to LANG=C in the timer script.
  * Add 'vss_strip' program, which is a tool for extracting the file data from
    a file containing both VSS data and the file data.
  * Add Patrick Koppen's patches:
	- Add 'ssl_cipher' option.
	- Add support for signal USR2 to Debian init script.
	- Write pid first in pidfile.

2012-10-09 Changes in burp-1.3.16:
  * Important bug fix for exclude_comp.
  * Bug fix for read_blockdev.
  * Add 'version_warn=[0|1]' option.

2012-09-28 Changes in burp-1.3.14:
  * Remove '-l <logfile> / logfile=' options because they didn't work properly
    and were adding too much complexity to the code.
  * Add 'stdout=[0|1]' option, which defines whether to log messages to stdout.
  * Add 'progress_counter=[0|1]' option for the client, which defines whether
    to print counters to stdout.
  * When syslogging, do not prepend a date to the log message.
  * Don't count phase 2 counters twice when resuming.
  * Ignore files in clientconfdir starting with '.' or ending with '~', as
    these are hidden or temporary files.
  * Fix bug where the client_can_* options were not being overridden in the
    client specific conf files.
  * Fix bug that stopped client_can_restore=0 working.
  * Scan the manifest before restore/verify so that counters and status
    monitor can show estimates.
  * Add verify/restore notifications.
  * Fix Windows batch file IF/ELSE syntax in Windows autoupgrade script.
  * Have the server send the client the counters when resuming.
  * Have the server send the client the counters when verifying/restoring, so
    that it knows what to expect.
  * Avi Rozen's bug fix for directory browsing on windows
  * Do not skip restores of sockets.
  * Add server_can_restore=[0|1] client side option, so that clients can refuse
    server initiated restores.
  * Allow server_can_restore and encryption_password to be set with the Windows
    installer.
  * Indicate to the server post script whether there was an error.
  * Indicate to the server post script whether a timed backup was attempted.
  * Add the ability to restore using a different client. See the
    'restore_client' option in the man page.
  * Add the ability to exclude compression on files by extension. See the
    'exclude_comp' option in the man page.
  * Make the functions that strcmp file extensions more efficient.
  * Fixed bug introduced in 1.3.12 that made the client crash when scanning
    files with very long names.

2012-08-28 Changes in burp-1.3.12:
  * Remove 'forward' timestamp references in backup directories, to allow the
    easier deletion of backup directories.
  * Add missing_return_in_non_void_function.patch from Suse.
  * Further break down find_files() into smaller functions.
  * Make sure behaviour is sensible when a client runs out of storage
    directories.
  * On Windows, use PROGRAMFILES environment variable(s) instead of
    C:/Program Files/Burp/.
  * Stop the Windows installer writing/reading stuff to/from the registry and
    the start menu.
  * Allow the Windows installer options to be set on the Windows command line.
  * Add password_check=[0|1] to options on the server. Defaults to on. Turning
    it off disables client password checks (although SSL certificates are still
    checked).
  * Count deleted files.
  * Remove unnecessary counter code.

2012-07-28 Changes in burp-1.3.10:
  * Added Tony Cheneau's IPv6 fixes.
  * Fixed bug to do with directory_tree=1 that would stop resume working.
  * Stop status monitor exiting on terminal resize.
  * Small man page corrections about overwriting existing files.
  * Don't use mingw64's utime() to set Windows file times, because it doesn't
    work on read-only files.
  * Tweak to timer_script to let it run with slightly older versions of 'date',
    plus the FreeBSD version of 'date'.
  * "burp -a l" should say that a backup is finalising.
  * Upgraded Windows to gcc-4.6.3.
  * Upgraded Windows to zlib-1.2.7.
  * Upgraded Windows to openssl-1.0.0j.
  * Added pcre-8.31 to Windows.
  * Added Gonéri Le Bouder's exclude_regex option.
  * Add a gentle shutdown server option - send signal 12 to the main process.
  * Make librsync errors in phase4 non-fatal.
  * Check for errors on gzclose() and fclose().

2012-06-08 Changes in burp-1.3.8:
  * Fix bug introduced in the new storage directory structure stuff that had
    the potential to corrupt backups.
  * Force directory_tree = 0 for clients on less than version 1.3.6.
  * Escape '-' symbols in man pages.
  * Save received certs as temporary files and then rename them, to avoid
    accidently truncating the current ones.
  * If Windows VSS snapshot fails, do not continue.
  * 32bit mingw64 has difficulty printf-ing multiple %llu items and sometimes
    even segfaults, so split the counters into individual printfs.

2012-05-28 Changes in burp-1.3.6:
  * Store files in a directory structure like that of the original client.
  * Fix 'ERROR: Please use absolute include/exclude paths' when setting paths
    on the server side.
  * Add configure test for uthash.h. If it doesn't exist, use the uthash.h
    included with the burp source.
  * Make top level excludes not be a fatal error.
  * Make syslogging begin sooner.
  * Unhide warning messages originally hidden by bacula when having errors
    when setting things like file times.
  * Fix bug where file times were not getting set on Windows directories.
  * Remove openssl "can't open config file" warning when generating
    certificates on Windows.
  * Set IPTOS_THROUGHPUT bulk packet flag for linux backups. Windows/mingw64
    appears not to be able to do this.

2012-04-27 Changes in burp-1.3.4:
  * Bug fix for Windows backups where it had stopped using the Windows backup
    API in 1.3.2.
  * Automatically convert backslashes to forward slashes for includes/excludes
    on Windows clients.
  * Bug fix: pass the path to the CA conf file whenever running burp_ca (fixes
    problems with the test scripts).
  * Remove whitespace that was causing the burp_ca '--crl' option not to work.
  * Have separate CA directories for the client and server. Make 'make install'
    create the directory /etc/burp/CA-client.
  * Make compile succeed when there is no libncurses library.
  * Add 'client_can_force_backup' option, defaulted to on. Turning it off means
    that only timed backups are allowed. Also add similar 'client_can_list',
    'client_can_restore' and 'client_can_verify' options.
  * Remove getopt from burp_ca, allowing it to work on Macs.
  * Make an unknown exclude_fs a non-fatal error.
  * Add ability to trigger a backup on the server side by placing a file called
    'backup' in the client's storage directory.
  * Fix bug where block device nodes were not backed up. Add 'read_blockdev'
    and 'read_all_blockdevs' options that work the same as the equivalent
    fifo options.
  * Add 'notify_success_changes_only' option, which means that success
    notifications only get sent if there were new or changed files.
  * Added Ruben Kerkhof's fixes to make run_script() work on OSX.
  * For each file, store the compression setting in the manifest.
  * Stop clients connecting twice when a timed backup is rejected.

2012-03-31 Changes in burp-1.3.2:
  * Add options for the client to automatically generate a certificate signing
    request, have the server sign and return it, and have the client use the
    new certificate. Remove old default SSL certificates because they should
    no longer be needed.
    See docs/burp_ca.txt for more information.
  * Add ability for conf files to point to more conf files to read.
  * Fix status server segfault when deleting files from clientconfdir.
  * Allow directories in clientconfdir.
  * Add the ability for the server to set the client include/excludes.
  * Simulate browsing backups with the use of "-a l/L -d path".
  * Add ability to set up a restore on the server side.
  * Add ability to specify child processes separately to status child process
    with new max_status_children option.
  * Status monitor - make keypresses more responsive.
  * Fix bug where old clients that didn't leave an incexc file on the server
    meant that resume would not start.
  * Add 'include_ext' option, which excludes all files unless their names end
    in the given extension.
  * Fall back to using the client or server name if ssl_peer_cn is unset on the
    server or client.
  * Don't try to chuser/chgrp in the child if the user/group settings are the
    same as the parent (fixes bug where setting user/group in the server
    wouldn't work, because it would try to chuser/chgrp twice).
  * Windows installer: add comment about poll interval '0' means that the
    scheduled job isn't installed.
  * Windows installer: don't install the scheduled task when doing an upgrade.
  * Unlock the client directory after server_script_post has run instead of
    before.
  * Fix bug where the wrong arg count was being given to the server post
    script.
  * Make sure status snapshot exits when there are no backup clients.
  * Ability to dump logs and paths in backups using '-a S' (useful for making
    a gui that browses backup contents).
  * Bug fixes to ssl_extra_checks_script.
  * Bug fix: initialise network_timeout properly.
  * Fix typos in docs/burp_ca.txt.
  * Add 'LANG=C' to the timer script, so that timer_arg days are always
    expected in English.
  * Add config file option to turn syslog logging on/off.
  * Bug fix for 'compression = gzip[0-9]'.
  * Pass the server version to the client.

2012-02-27 Changes in burp-1.3.1:
  * EFS support on Windows.
  * Move to using mingw-w64 for both 32bit and 64bit Windows builds.
  * Add 'exclude_fs =' option for Linux so that you can skip partitions
    types (for example, tmpfs) without generating warnings.
  * If recovery method 'resume' is set, but the includes/excludes change,
    switch to 'use', then start a new backup.
  * In the tests, check to see whether it looks like the server has finished
    the backup before moving on, rather than just waiting a set amount of time.
  * Add man pages for bedup and burp_ca.
  * Remove embedded uthash code. It will need to be installed as a dependency.
    For example, in Debian, you might run 'apt-get install uthash-dev'.
  * Add Bas van den Dikkenberg's tweaks for getting burp into official Debian
    and Ubuntu repositories. Burp is now in debian sid and ubuntu precise.
  * Make the server tell the client what extra_comms features it supports, so
    that, in future, old servers are more likely to work with new clients.
  * Improve 'make clean'.
  * Add option to strip off leading path components on restore.
  * Fix segfault that was happening on the server when SSL_accept() failed.
  * Move burp and bedup to /usr/sbin (you need to check that any cron jobs
    are pointing there too).
  * Moved list of things to do to https://github.com/grke/burp/issues

2012-01-27 Changes in burp-1.3.0:
  * Add a mechanism for automatically upgrading clients.
  * Fix bug where attributes on Windows directories were not getting read
    properly.
  * Fix rounding problem in remaining time estimation in the status monitor.
  * Don't backup the whole file if only ctime changed.
  * Include the client name in arguments to server scripts.
  * Do not log a message in the server SIGCHLD handler, as this appeared to
    be causing an occasional lock up on a Ubuntu server.
  * Upgrade Windows depkgs to latest versions of openssl.
  * Make Windows uninstall work.
  * Add 'allow autoupgrade' option to a second screen on the Windows installer.
  * Add 'max_storage_subdirs' option, and default it to 30000.

2011-12-30 Changes in burp-1.2.7:
  * Add an automated test script.
  * Fix bugs with uncompressed encrypted backup/restore.
  * Get verify all backups for a client (-a v -b a) to work.
  * Return non-zero if there were warnings on verify or restore.
  * Add 'min_file_size' option, fix 'max_file_size' option.
  * Add generic server-side pre/post scripts that can run on every connection
    after authentication and before disconnecting.
  * Set environment variables from SSL cert details so that the server-side
    scripts can see them.
  * Add Jason Haar's server script for doing extra SSL certificate checks.
  * Add 'max_hardlinks' option, which limits the number of times a single file
    is hardlinked in storage. Default is 10000.
  * Add '-i' option: print an index table of symbols that humans may see burp
    produce, and exit.
  * Let backups carry on when files cannot be opened.
  * Spot Windows EFS directories and files and warn about them.
  * Add an 'estimate' option (-a e), which does a scan of the file system to
    be backed up, and prints counters, without contacting the server.
  * Strip out 744 lines of unused Windows code.
  * Fix possible segfault when backup directory forward paths don't match.
  * Removed working_dir_recovery_method=merge. Use 'resume' instead.
  * Add a flexible way of passing new fields from the client to the server so
    that clients are less likely to have to upgrade.

2011-11-26 Changes in burp-1.2.5:
  * IMPORTANT: Fixed critical path comparison typo bug. If you have been using
	1.2.4 either as a server or as a client, you need to upgrade
	immediately! Backups made with 1.2.4 should be treated as suspicious.
  * Add a 'max_file_size' option.
  * Store windows file attributes in a separate field to the standard unix ones.

2011-11-22 Changes in burp-1.2.4:
  * Add a file deduplication program, "bedup".
  * Add a network_timeout parameter. Default is 7200 seconds (2 hours).
  * Add option to send success notifications only if there were warnings.
  * Try to create the pidfile directory if it doesn't exist.
  * Restore times on Windows files.
  * Restore readonly/hidden attributes on Windows.
  * Fix bug in 'keep' mechanism where setting 'keep=2' would delete both
	backups.
  * Only install clientconfdir/testclient with 'make install' if clientconfdir
    didn't previously exist.
  * Fix possible segfault when resume mode triggers with nothing to resume.

2011-09-29 Changes in burp-1.2.2:
  * Multiple retention periods (e.g, keep 1 backup per day for 7 days, 1
    backup per week for 4 weeks, 1 backup per 4 weeks for a year). See the
    'keep' option in the man page.
  * Make sure the client version warning message appears in the backup log.
  * Network send rate-limiting feature (both client and server).
  * Change pidfile paths to /var/run/burp instead of /var/lock/burp.
  * Get pre backup scripts running reliably again. Also, send script messages
    on stderr to the server backup log.
  * Fix 'Warnings' line on the status monitor.
  * Fix resume mode bug to do with potentially partially written entries at
    the end of the phase2 file.

2011-09-09 Changes in burp-1.2.0:
  * Improvements to the counters and status monitor - remember the phase1
    scan counters for later phases to use for things like estimated times.
  * Add 'working_dir_recovery_method = resume' option, which continues a
    backup from the point it was interrupted.
  * Add a useful message about options when run with '-h' or '-?'.
  * Get the client to pass its version to the server. The minimum version the
    client needs to be is now this release.
  * Get the server to warn when the client is on a different version.
  * Put the number of warnings in the subject of the notification emails.
  * Allow config file location to be changed via configure (Michael Roland's
    suggestions).
  * Implement main server process config reload functionality on SIGHUP.
  * Uncomment the reload lines in the Debian init script.
  * Add logrotate file for Debian.
  * Add ability to send a regular snapshot of the status summary screen in an
	email ("daily backup summary" feature).
  * Add simple 'exclude_ext =' feature.
  * Add Windows 7 bare metal restore instructions.

2011-07-26 Changes in burp-1.1.70:
  * FreeBSD ACL support.
  * FreeBSD xattr support.
  * Handle Windows junction points.
  * Add 'nobackup = [file name]' option. If this file system entry exists, the
    directory containing it will not be backed up.
  * Set librsync signature block size based on the old file size.
  * Small bug fixes to the status monitor.
  * Fixed working directory recovery bug where it couldn't find the manifest.gz
    file due to it being called manifest.gz.tmp.
  * Get rid of the stupidly complicated 'find_files' callback mechanism
    inherited from bacula. Just call all the functions directly.
  * Fix compiler warnings and '-ldl' linker error on FreeBSD 8.2.
  * When down to 'C:' in mkpath() on Windows restore, strip the ':'.
  * Run ERR_clear_error() before SSL_read/write.

2011-06-27 Changes in burp-1.1.65:
  * Add mechanism for backing up and restoring extra meta data.
  * Linux acl support.
  * Linux xattr support.
  * Add option to set the umask on the server.
  * Added option to specify the clientconfdir password in passwd format.
  * Allow user and group options to be placed in the server clientconfdir files,
    so that different client backups can be owned by different users.
  * Add Patrick's burp_ca patches and README.CA.
  * Sanitised magic characters by defining them in a new cmd.h file.
  * Fixed 'ret OK, but zstream not finished: 0' when refusing to restore over
    existing files.
  * Fixed bug that made clients disappear from the status monitor.
  * Bug fix the client_lockdir option.
  * On the server, be more cautious about creating directories that don't exist.
  * Remove link kludge in async_read_stat().

2011-06-14 Changes in burp-1.1.57:
  * Add options to run as a different user and group.
  * Add Patrick Koppen's burp_ca script.
  * Get the client restore to use the sbuf functions, remove related kludges.
  * Fix possible client segfault when refusing to restore over existing files.
  * Make a failure to restore over a busy file not cause the whole restore to
    fail.
  * Print byte count as well as human readable byte count in the status summary
    screen.
  * Include backup numbers with the backup list in the status summary.
  * Don't close the server read fd when running in non-forking mode.
  * Add ssl_key options so that the cert and key can be in separate files.
  * Add ssl_key_password, a synonym for ssl_cert_password.

2011-05-13 Changes in burp-1.1.55:
  * Make the status monitor use ncurses.
  * Fixed two bugs that could drastically slow down the server if a file
    disappeared on a client after the initial scan (to get these two bug fixes,
    you need to upgrade your clients).
  * IPv6 patches.
  * Ability to specify the location of the client lockfiles on the server.
  * Make the server fork into the background by default. Use '-F' to stay in
    the foreground.
  * Add option to specify a log file.

2011-04-14 Changes in burp-1.1.51:
  * Added a script for backing up zfs snapshots with 'zfs send'.
  * Added the ability to set the level of compression.
  * Added the ability to turn off compression.
  * Added an option to define the poll interval in the Windows installer.
  * Added the ability to turn off librsync delta differencing.
  * Added the ability to give arguments to backup/restore/pre/post scripts.
  * Make configure/make work better on Solaris.

2011-04-02 Changes in burp-1.1.40:
  * Added the ability to run client pre/post backup/restore scripts.
  * Added the ability to read data from fifos (and restore to them).
  * Fixed a bug when restoring the first link in a directory.
  * Fixed a bug that prevented giving a backup number when using the verify option.

2011-03-27 Changes in burp-1.1.30:
  * First pass at having a live status monitor.
  * Fixed a bug that meant you couldn't restore links.
  * Fixed a bug when freeing structs at the end of a restore.

2011-03-18 Changes in burp-1.1.22:
  * Added scheduling.
  * Added email notifications.
  * Fixed autoconf. Programs like ccache should now work.
  * Strip whitespace from end of conf lines, ignore quotes around conf lines.
  * Updated the Windows build tools.

2011-03-10 Changes in burp-1.1.14:
  * Added client-side blowfish file encryption. See the man page for details.
  * Byte counters also give counts in KB/MB/GB/etc as appropriate.
  * Restore directories after their contents so that the access times are
    correct.
  * Updated the win32 build tools.

2011-03-02 Changes in burp-1.1.5:
  * Added a 'verify' command. See the man page for details.
  * Improved the include/exclude path functionality.
  * Added the ability to define mount points to cross.
  * Fixed a crash on 64bit Windows when exiting.

Changes in burp-1.1.0:
  * Added openssl.
  * Added byte counters and checksums to the backup manifest files, in
    anticipation of a 'verify' command.

    IMPORTANT IF YOU ARE UPGRADING FROM AN OLDER VERSION OF BURP:
    a) Your previous backups will no longer work, due to changes in the
    manifest files. You will also need to move old backups aside in order to
    continue to make new backups.
    b) Your old config files will need some fields to do with SSL added to them.
    See the man page and the examples in the 'configs' directory for help.

    IMPORTANT FOR MY ENCOURAGEMENT AND THE FUTURE OF BURP:
    If you have tried burp, I really want to hear from you to find out what
    you like about it, what you don't like, what new features you would like,
    how you have been using it, whether it has helped you, or anything that
    you would like to tell me. I am currently working in the dark!

Changes in burp-1.0.31:
  * Large scale rewrites to the main backup process to make it more efficient
    and easier to understand.
  * Much tidying up of code and splitting into smaller files.
  * Removed complicated/flaky compression code from the network stuff. Network
    compression will come free with SSL anyway (when it is implemented).
    Currently, whole new files are transmitted compressed, file information
    and deltas are not.

Changes in burp-1.0.11:
  * Fixed Windows restore crash. Windows restores should now work better.

Changes in burp-1.0.10:
  * Fixed three major bugs introduced in burp-1.0.9 to do with client/server
    communication when doing deltas.
  * Make "make install" and the Windows installers not overwrite an existing
    config file.
  * Support for backup and restore of fifos and nodes.
  * KNOWN ISSUE: There seems to be a problem with restoring multiple files
    at once to Windows. I am working on this.

Changes in burp-1.0.9:
  * Added counters to summarise the files that were backed up or restored.
  * Added the ability to have warnings instead of errors always being fatal.
  * Prevent restores overwriting existing files, unless the new '-f' option is
    given.
  * Notice invalid characters in paths on Windows and replace them with
    '_'. This also means that you can now restore to alternative directories
    (the colon in the drive name no longer gets in the way).
  * Added instructions for building the Windows installer.
