[Box Backup-commit] [boxbackup/boxbackup] 956003: Install executables in test tree after building, n...

GitHub noreply at github.com
Sun Jul 23 21:29:02 BST 2017


  Branch: refs/heads/s3_support_merge
  Home:   https://github.com/boxbackup/boxbackup
  Commit: 95600393a0f76d4256456eeb0152d665a3716bf7
      https://github.com/boxbackup/boxbackup/commit/95600393a0f76d4256456eeb0152d665a3716bf7
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/buildenv-testmain-template.cpp
    M infrastructure/cmake/CMakeLists.txt
    M infrastructure/makebuildenv.pl.in

  Log Message:
  -----------
  Install executables in test tree after building, not during "make install"


  Commit: 1fad457ade918e0d277f3b0cc4e4d78a1dc756ad
      https://github.com/boxbackup/boxbackup/commit/1fad457ade918e0d277f3b0cc4e4d78a1dc756ad
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/BoxPlatform.pm.in

  Log Message:
  -----------
  Fix build on SmartOS by switching back to GNU Make

I have no idea where I got the idea that there was a "bmake" command on SmartOS
that is BSD make, or why that would be better than gmake (GNU make). I can't
find any reference to the existence of such a thing. So I've just switched back
to using gmake unconditionally.


  Commit: 8f1d2ef2fd5b25f5e05b48d145b59e38334c57ce
      https://github.com/boxbackup/boxbackup/commit/8f1d2ef2fd5b25f5e05b48d145b59e38334c57ce
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/intercept/intercept.cpp

  Log Message:
  -----------
  Hopefully fix test/raidfile on Solaris.

64-bit Solaris has _FILE_OFFSET_BITS defined (to 64), which was wrongly causing
the substitute lseek in lib/intercept to enter the 32-bit branch.


  Commit: 692eae711d5061160896335cd59feab223ed5909
      https://github.com/boxbackup/boxbackup/commit/692eae711d5061160896335cd59feab223ed5909
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/bbackupd/BackupClientDirectoryRecord.cpp
    M lib/win32/emu.cpp
    M lib/win32/emu.h

  Log Message:
  -----------
  Fix emulated readdir() d_type to return DT_FILE or DT_DIR like Unix does

We used to abuse dirent.d_type to store Windows attributes, but we can now just
add a new attribute to store these (win_attrs), so I have.


  Commit: 88bcc2fe306f4896ef63c56bada86890bc3cd5b9
      https://github.com/boxbackup/boxbackup/commit/88bcc2fe306f4896ef63c56bada86890bc3cd5b9
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/bbackupd/testbbackupd.cpp

  Log Message:
  -----------
  Relax timings on test_changing_client_store_marker_pauses_daemon

Also increase test verbosity to help debug the test if it fails again.


  Commit: 848dacf846038a6cdf1152e3d0a20eec9ca63715
      https://github.com/boxbackup/boxbackup/commit/848dacf846038a6cdf1152e3d0a20eec9ca63715
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    A infrastructure/m4/ax_check_compile_flag.m4
    M infrastructure/m4/boxbackup_tests.m4
    M lib/backupstore/BackupAccountControl.h
    A lib/backupstore/BackupFileSystem.h
    M lib/backupstore/BackupStoreContext.h
    M lib/server/makeprotocol.pl.in

  Log Message:
  -----------
  Enable compiler error on classes with non-virtual destructors.

I found a serious problem where subclasses didn't clean up their resources
properly when destroyed, if they inherited from a parent class with a
non-virtual destructor. This caused BackupFileSystem's NamedLock not to be
released. This commit:

* fixes the error where it occurred;
* enables static checks for this error when compiled with GCC;
* promotes the resulting warnings to errors, to ensure that this problem
  cannot reoccur.


  Commit: 2c952ad84765d1c2ad63920e5732b1b0327a5475
      https://github.com/boxbackup/boxbackup/commit/2c952ad84765d1c2ad63920e5732b1b0327a5475
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M bin/bbackupquery/bbackupquery.cpp
    M lib/common/Box.h
    R lib/common/DebugPrintf.cpp
    M lib/server/Daemon.cpp
    M lib/server/ServerStream.h

  Log Message:
  -----------
  Remove unused code: BoxDebugTrace() and BoxDebug_printf()


  Commit: 0458cd301313c23d0b65571ac27843452fefbb84
      https://github.com/boxbackup/boxbackup/commit/0458cd301313c23d0b65571ac27843452fefbb84
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/buildenv-testmain-template.cpp
    M lib/common/Test.cpp
    M lib/common/Test.h

  Log Message:
  -----------
  Create a job object during Windows tests to kill abandoned daemons

Should prevent some cases of tests hanging on AppVeyor due to child
process daemons that were started and not stopped.

Delete files between tests using much more similar code (and the same
list) on Windows and Linux, to reduce risk of divergence causing tests
to pass on one and fail on the other.


  Commit: 5da656cc09bbb80878f53111465673a91c0a9585
      https://github.com/boxbackup/boxbackup/commit/5da656cc09bbb80878f53111465673a91c0a9585
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/win32/emu.cpp
    M lib/win32/emu.h
    M test/common/testcommon.cpp

  Log Message:
  -----------
  Add a platform-independent implementation of box_strtoui64

Replaces strtoull(), which doesn't exist on older Windows compilers (MSVC <
12), and in any case doesn't necessarily return a uint64_t, so this is a better
interface.


  Commit: 7e7ba9bfcfc53aec706089eb2fab8f9ace564b0c
      https://github.com/boxbackup/boxbackup/commit/7e7ba9bfcfc53aec706089eb2fab8f9ace564b0c
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupAccountControl.cpp
    M lib/backupstore/BackupAccountControl.h
    A lib/backupstore/BackupFileSystem.cpp
    M lib/backupstore/BackupStoreException.txt
    M lib/backupstore/BackupStoreInfo.h

  Log Message:
  -----------
  Move S3BackupFileSystem class into its own file.

Create BackupFileSystem, an abstract interface for reading and writing
files and directories, abstracting over RaidFile, S3, FTP etc. as a parent
class for S3BackupFileSystem.


  Commit: 83d68a4ae47726631124fc2fd658d84a21420b9b
      https://github.com/boxbackup/boxbackup/commit/83d68a4ae47726631124fc2fd658d84a21420b9b
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/BoxException.h
    M lib/common/CollectInBufferStream.h
    M lib/common/makeexception.pl.in
    M lib/httpserver/HTTPException.txt
    M lib/httpserver/HTTPServer.cpp
    M lib/httpserver/S3Client.cpp
    M lib/httpserver/S3Simulator.cpp
    M test/httpserver/testhttpserver.cpp

  Log Message:
  -----------
  Improve exception handling in S3Simulator, S3Client and HTTPServer.

Centralise error response generation in S3Simulator, driven by throwing and
catching exceptions.

Improve error messages returned by HTTPServer.

Improve exception messages thrown by S3Client.

Add a method to BoxException to quickly check what type of exception it is,
and a macro to make this even shorter.

Show the exception type as well as subtype in GetMessage().


  Commit: 2ef4e5e4d1ea04d35a59e35cbf421c0aa4293164
      https://github.com/boxbackup/boxbackup/commit/2ef4e5e4d1ea04d35a59e35cbf421c0aa4293164
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/travis-build.sh

  Log Message:
  -----------
  Travis build script: add extra debugging.

This script can be useful as a shortcut for command-line builds, but not if you
forget to set TEST_TARGET, so now it errors if you do.


  Commit: bcaffc0804a4b47995345f1ce166ac42440537ba
      https://github.com/boxbackup/boxbackup/commit/bcaffc0804a4b47995345f1ce166ac42440537ba
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupStoreFile.cpp
    M lib/backupstore/BackupStoreFile.h
    M lib/server/TcpNice.cpp
    M lib/server/TcpNice.h

  Log Message:
  -----------
  Fix overloaded virtual function warnings.

Revealed by enabling the -Woverloaded-virtual compiler option.


  Commit: 897f42910be92b3d23f90dfefbce19ae5ce96c25
      https://github.com/boxbackup/boxbackup/commit/897f42910be92b3d23f90dfefbce19ae5ce96c25
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Test.h
    M test/s3store/tests3store.cpp

  Log Message:
  -----------
  Refactor test/s3store to make check_new_account_info() reusable.

(cherry picked from commit 2f597e11ccf56129319851f767581de1055da53e)


  Commit: e0c3560e3a8065ea4e9b6497bc3850a84bd9033a
      https://github.com/boxbackup/boxbackup/commit/e0c3560e3a8065ea4e9b6497bc3850a84bd9033a
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M bin/bbackupquery/bbackupquery.cpp
    M bin/bbstoreaccounts/bbstoreaccounts.cpp
    M lib/backupstore/BackupAccountControl.cpp
    M lib/backupstore/BackupStoreAccounts.cpp
    M lib/backupstore/BackupStoreCheck.h
    M lib/backupstore/BackupStoreRefCountDatabase.cpp
    M lib/backupstore/BackupStoreRefCountDatabase.h
    M lib/backupstore/HousekeepStoreAccount.h
    M lib/bbackupd/BackupClientContext.cpp
    M lib/bbstored/BBStoreDHousekeeping.cpp
    M lib/common/Configuration.cpp
    M lib/common/Configuration.h
    M lib/common/IOStream.cpp
    M lib/common/NamedLock.h
    M lib/common/ReadLoggingStream.cpp
    M lib/common/Utils.cpp
    M lib/common/ZeroStream.h
    M lib/httpserver/HTTPRequest.cpp

  Log Message:
  -----------
  Whitespace cleanup

(cherry picked from commit 88f7f4ef025a32680d0545571e0e5bdf9e0d5c3c)


  Commit: 16f2d6ba5802f13f21056109158123811131f050
      https://github.com/boxbackup/boxbackup/commit/16f2d6ba5802f13f21056109158123811131f050
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/server/Daemon.cpp

  Log Message:
  -----------
  Fix warning about snprintf() being deprecated on Windows.

(cherry picked from commit eeb2a127fe1410a871f3943651fa363edff943d0)


  Commit: 0b9713c00fbadece031ec97ac9bae156a212ab6e
      https://github.com/boxbackup/boxbackup/commit/0b9713c00fbadece031ec97ac9bae156a212ab6e
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Test.cpp
    A lib/httpserver/HTTPHeaders.cpp
    A lib/httpserver/HTTPHeaders.h
    M lib/httpserver/HTTPQueryDecoder.cpp
    M lib/httpserver/HTTPQueryDecoder.h
    M lib/httpserver/HTTPRequest.cpp
    M lib/httpserver/HTTPRequest.h
    M lib/httpserver/HTTPResponse.cpp
    M lib/httpserver/HTTPResponse.h
    M lib/httpserver/S3Client.cpp
    M lib/httpserver/S3Simulator.cpp
    A test/httpserver/testfiles/dsfdsfs98.fd
    M test/httpserver/testhttpserver.cpp

  Log Message:
  -----------
  Refactor common HTTP header handling

Move the common code out of HTTPRequest and HTTPResponse into the new
HTTPHeaders class, a container for headers with some sensible HTTP-specific
behaviour.

(cherry picked from commit 546c0d068934e8fc5ba53f32bdf61b3a6841c65b)


  Commit: b6ded1a882ff443603bce95f11ef5599faafc6cd
      https://github.com/boxbackup/boxbackup/commit/b6ded1a882ff443603bce95f11ef5599faafc6cd
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/GetLine.cpp
    M test/basicserver/testbasicserver.cpp

  Log Message:
  -----------
  Fix incorrect timeout calculation in GetLine

Attaching a debugger to a process waiting in GetLine would previously cause the
read() to return immediately with EINTR, which we never retried. Now it retries
until the original timeout has expired.

(cherry picked from commit e997d092ad75aac98b5814c1b24d3ac0f8ae8e4a)


  Commit: 64f1adbffbc13f5f03be5177213162ef5febe8ae
      https://github.com/boxbackup/boxbackup/commit/64f1adbffbc13f5f03be5177213162ef5febe8ae
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Test.cpp
    A lib/httpserver/HTTPTest.cpp
    A lib/httpserver/HTTPTest.h
    A test/httpserver/testfiles/puppy.jpg
    M test/httpserver/testfiles/s3simulator.conf
    M test/httpserver/testhttpserver.cpp

  Log Message:
  -----------
  Add tests for S3Simulator and S3Client


  Commit: af8bc40134b73ddbf6e9d1fb4c38e1fdf40fbeec
      https://github.com/boxbackup/boxbackup/commit/af8bc40134b73ddbf6e9d1fb4c38e1fdf40fbeec
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/crypto/MD5Digest.h
    M test/httpserver/testhttpserver.cpp

  Log Message:
  -----------
  Add MD5DigestStream and test

(cherry picked from commit 3f0538bf1a2115c399f09a1735e7e9f3b426737e)


  Commit: 5d2a3953a4c4afe69887d8c74fcd27dfe899c9ab
      https://github.com/boxbackup/boxbackup/commit/5d2a3953a4c4afe69887d8c74fcd27dfe899c9ab
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/httpserver/S3Simulator.cpp
    M test/httpserver/testhttpserver.cpp

  Log Message:
  -----------
  Refactor S3Simulator to better support merge of SimpleDB support

(cherry picked from commit 35b581b3ac54769f5b343c995435a7c7b15041e7)


  Commit: 39e65a2b2c17dd6481f730d3f53dedd940c3a2b6
      https://github.com/boxbackup/boxbackup/commit/39e65a2b2c17dd6481f730d3f53dedd940c3a2b6
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    R lib/backupclient/BackupStoreObjectDump.cpp
    A lib/backupstore/BackupStoreObjectDump.cpp

  Log Message:
  -----------
  Move BackupStoreObjectDump.cpp to lib/backupstore

It doesn't depend on anything in lib/backupclient, so there's no need for it to
be there.

(cherry picked from commit 85fda42a5164cc574b9a9b0335d0cb14bbb802b0)


  Commit: 262e68677f710528220bfd339e304964bd0394bc
      https://github.com/boxbackup/boxbackup/commit/262e68677f710528220bfd339e304964bd0394bc
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/bbackupd/testbbackupd.cpp

  Log Message:
  -----------
  Remove unused intercept code from testbbackupd.

(cherry picked from commit 56631b8da4f8f22f291323d640560aca43f32b29)


  Commit: e9c2104786654d7bef8917f73a8890df9eb269c8
      https://github.com/boxbackup/boxbackup/commit/e9c2104786654d7bef8917f73a8890df9eb269c8
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupStoreContext.cpp
    M lib/common/CommonException.txt
    M lib/common/IOStream.cpp
    M lib/common/IOStream.h
    M lib/server/Protocol.cpp

  Log Message:
  -----------
  Make IOStream::CopyStreamTo honour timeout

Throw an exception on network timeout.  This is safer than returning false,
which isn't checked in many places, and allows us to return the number of bytes
copied instead.

(cherry picked from commit e38d3d771ebb303e75e635e618f4d1e41370aa23)


  Commit: 2b00c535d406cf142bbdd26cb06948de6d592f39
      https://github.com/boxbackup/boxbackup/commit/2b00c535d406cf142bbdd26cb06948de6d592f39
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/CollectInBufferStream.cpp

  Log Message:
  -----------
  Add an assertion to CollectInBufferStream

Ensure that we don't try to write a negative number of bytes.

(cherry picked from commit 755242a46275384592281878ad6cce8dc7883be7)


  Commit: 6ac2e9713f087b3f3ff582786b1d2037cf901683
      https://github.com/boxbackup/boxbackup/commit/6ac2e9713f087b3f3ff582786b1d2037cf901683
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/httpserver/S3Client.cpp

  Log Message:
  -----------
  Remove unwanted prototype for HeadObject()

(cherry picked from commit 71d3d970b00ee85408e8ea5166fe46fdbac82ce1)


  Commit: 4f5bf9a9b8e84528973cb7a43a8f003660a1cc64
      https://github.com/boxbackup/boxbackup/commit/4f5bf9a9b8e84528973cb7a43a8f003660a1cc64
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/httpserver/HTTPResponse.cpp
    M lib/httpserver/HTTPResponse.h
    M lib/httpserver/HTTPServer.cpp
    M lib/httpserver/HTTPServer.h

  Log Message:
  -----------
  Allow control of network timeout in HTTPResponse::Send()

(cherry picked from commit aabb13634e2ef79eb2843f8ab2f0cbd7be267c38)


  Commit: 86e3e31643d5e034a786481b4ab459b6489b0065
      https://github.com/boxbackup/boxbackup/commit/86e3e31643d5e034a786481b4ab459b6489b0065
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/httpserver/S3Client.cpp

  Log Message:
  -----------
  Log every request made using S3Client (for now)

(cherry picked from commit 699a70598942c1422f568843176542b9b302c1dd)


  Commit: 7c4f670f5043cd174d1cf620266ba42142c0778d
      https://github.com/boxbackup/boxbackup/commit/7c4f670f5043cd174d1cf620266ba42142c0778d
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/httpserver/S3Client.cpp

  Log Message:
  -----------
  Add initial (non-functioning) keepalive support in S3Client

(cherry picked from commit 3c62a5be57e0a7b7100b44c41cc8c69c20c92fa9)


  Commit: 52b44eebdae8c274520a4125bb39832b23cc562b
      https://github.com/boxbackup/boxbackup/commit/52b44eebdae8c274520a4125bb39832b23cc562b
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupAccountControl.h
    M lib/backupstore/BackupFileSystem.cpp
    M lib/backupstore/BackupFileSystem.h
    M test/s3store/tests3store.cpp

  Log Message:
  -----------
  Fix confusion about URIs and paths in S3 filesystem

* Make it clear (with parameter names and comments) which functions take paths
  (relative to the configured base path), which functions take URIs (complete
  paths) and which functions take URLs (hostname, port and URI).

* Put all objects (files and directories) in the same "directory" tree on S3,
  so that we can list them all together and easily identify the type of each
  object (from its extension). Previously they were separated into "directories"
  (delimited prefixes) called "files" and "dirs" (unlike BackupStore
  filesystems).

* Reinstate hierarchical "directories" on S3, similar to BackupStore
  filesystems, since the reasons for doing this in RaidFile may well apply to S3
  and other compatible stores too. However the objects are still named with
  their complete object ID (unlike RaidFile) and a .file or .dir extension.

(cherry picked from commit 3dd21a3028cacea2ecf6ee3de2f32db3c5138589)


  Commit: 0fb4a9ea457e3bf0ac789a466249e2f36ec7a0aa
      https://github.com/boxbackup/boxbackup/commit/0fb4a9ea457e3bf0ac789a466249e2f36ec7a0aa
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/makebuildenv.pl.in

  Log Message:
  -----------
  Fix quoting of CXXFLAGS and LDFLAGS in Makefiles

Previously, it was impossible to include an @ sign in these flags (for example,
to link to support --with-ssl-headers=/usr/local/opt/openssl at 1.1/include/)
because it was interpreted as a list variable name by Perl. Now the variables
are evaluated single-quoted before being substituted into the Makefile output.


  Commit: ce112ceb6931bccf8e2266c1c24261394aa98a10
      https://github.com/boxbackup/boxbackup/commit/ce112ceb6931bccf8e2266c1c24261394aa98a10
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/crypto/Random.cpp

  Log Message:
  -----------
  Replace RAND_pseudo_bytes with RAND_bytes

RAND_pseudo_bytes is less secure and is now deprecated.


  Commit: d3a6834ffd424d8c63c5fd479dd15f7bf2aba7f9
      https://github.com/boxbackup/boxbackup/commit/d3a6834ffd424d8c63c5fd479dd15f7bf2aba7f9
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupAccountControl.cpp
    M lib/backupstore/BackupAccountControl.h
    M lib/backupstore/BackupStoreAccounts.cpp
    M lib/backupstore/BackupStoreAccounts.h

  Log Message:
  -----------
  Move BackupStoreAccountControl code to BackupAccountControl file

(cherry picked from commit 2891416b675cdc346713a26c6e357fba302bbc89)


  Commit: 9ec6ba8b2be7dfe5d02f9ff12399e0d4fefd2d98
      https://github.com/boxbackup/boxbackup/commit/9ec6ba8b2be7dfe5d02f9ff12399e0d4fefd2d98
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M .travis.yml
    M infrastructure/cmake/CMakeLists.txt
    A infrastructure/m4/ax_boost_base.m4
    M infrastructure/m4/boxbackup_tests.m4

  Log Message:
  -----------
  Add Boost, needed for XML support in S3Simulator and S3Client

Boost will be needed on all platforms for S3 support at least. It's currently
mandatory, but could be made optional if necessary. XML support of some kind is
required both for S3's ListBucket command (which returns XML) and for SimpleDB
support in the S3Simulator, since the SimpleDB API uses XML.

I considered alternative XML libraries to Boost:

* https://stackoverflow.com/questions/170686/what-is-the-best-open-xml-parser-for-c
* https://stackoverflow.com/questions/9387610/what-xml-parser-should-i-use-in-c

The most commonly used one (libxml2) is huge, ugly, slow and hard to use, and
we don't need any of the extra features.  TinyXML would meet our needs, but
Boost is more likely to be available on more platforms, is well respected, and
brings other (unrelated) features that we might want to use in future.

(cherry picked from commit 1a9deec05151281e840b7df5a1244453c0111042)


  Commit: 93242003b6008f928a115109e174e56f1c0e2213
      https://github.com/boxbackup/boxbackup/commit/93242003b6008f928a115109e174e56f1c0e2213
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/httpserver/cdecode.cpp

  Log Message:
  -----------
  Declare Base64 decoding array as signed char

Need to use "signed char" explicitly to work around char being unsigned by
default on ARM, causing compile errors:
https://stackoverflow.com/a/31635045/648162


  Commit: ab43e242f1c3a9a35e5b9a875cd80c9f38527524
      https://github.com/boxbackup/boxbackup/commit/ab43e242f1c3a9a35e5b9a875cd80c9f38527524
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/m4/boxbackup_tests.m4

  Log Message:
  -----------
  Make narrowing conversions an error

E.g. on ARM64 with unsigned chars, this is a real error, and causes the build
to fail:
https://buildd.debian.org/status/fetch.php?pkg=boxbackup&arch=arm64&ver=0.11.1~r2837-4&stamp=1485057548&raw=0


  Commit: 4dfd21f52a9d32fb728aa1e4ac8ff7ea89259c5e
      https://github.com/boxbackup/boxbackup/commit/4dfd21f52a9d32fb728aa1e4ac8ff7ea89259c5e
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/raidfile/RaidFileRead.cpp
    M lib/raidfile/RaidFileRead.h

  Log Message:
  -----------
  Use a named enum type for DirReadType (RaidFileRead::ReadDirectoryContents)

Allows checking for valid values at compile time, and allows the debugger to
show the symbolic constant instead of just its numeric value.


  Commit: 026c371434785130a2e99df6117ffb5cb1d0dcb7
      https://github.com/boxbackup/boxbackup/commit/026c371434785130a2e99df6117ffb5cb1d0dcb7
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/httpserver/S3Client.h

  Log Message:
  -----------
  Add comments to explain the three S3Client constructors


  Commit: c841133359acd52333a64b29fe50bd3926a3b3ab
      https://github.com/boxbackup/boxbackup/commit/c841133359acd52333a64b29fe50bd3926a3b3ab
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt
    M lib/common/BoxPlatform.h
    M lib/intercept/intercept.h
    M test/raidfile/testraidfile.cpp

  Log Message:
  -----------
  Enable and fix raidfile intercepts on Mac OSX


  Commit: c86a6e95c7ae6833876e2daa10990a20d3d18c7a
      https://github.com/boxbackup/boxbackup/commit/c86a6e95c7ae6833876e2daa10990a20d3d18c7a
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/m4/ax_check_dirent_d_type.m4

  Log Message:
  -----------
  Fix check for a working struct dirent.d_type

Which I broke in 2007 and never noticed was broken until now. Oops!


  Commit: 043ecd675b0239290be70cde7075d0b89737ae3b
      https://github.com/boxbackup/boxbackup/commit/043ecd675b0239290be70cde7075d0b89737ae3b
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/buildenv-testmain-template.cpp

  Log Message:
  -----------
  Fix exit status from tests: could previously return 0 even after failures


  Commit: 54fdca936834b99d363a0eed9468af7acee9d72f
      https://github.com/boxbackup/boxbackup/commit/54fdca936834b99d363a0eed9468af7acee9d72f
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/bbackupd/testbbackupd.cpp

  Log Message:
  -----------
  Allow 1 extra second in test_store_error_reporting

Hopefully this will solve the random test failures on Travis.


  Commit: 54a1d8a0cb5da6cea2b4005fa4e33e0edc560cdc
      https://github.com/boxbackup/boxbackup/commit/54a1d8a0cb5da6cea2b4005fa4e33e0edc560cdc
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupAccountControl.h

  Log Message:
  -----------
  Fix delete of incomplete type in BackupAccountControl.h

This has been flagged up by MSVC for some time. I've been unable to make GCC or
Clang do so.


  Commit: 28c48b65a8b6a8e5f6f946fa393147e88af19f9b
      https://github.com/boxbackup/boxbackup/commit/28c48b65a8b6a8e5f6f946fa393147e88af19f9b
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Test.cpp

  Log Message:
  -----------
  Log time taken by each test case in a test suite.

Should help diagnose why test/backupstore sometimes takes >500 seconds on
Travis, when it normally takes ~120 seconds.


  Commit: efea1d0bf87b811c7c76612322e8150139512b77
      https://github.com/boxbackup/boxbackup/commit/efea1d0bf87b811c7c76612322e8150139512b77
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt

  Log Message:
  -----------
  Add support for RelWithDebInfo builds using CMake

Debugging release tests is pretty difficult without debug info. This
release-compatible build makes it easier.


  Commit: c5e9e1180186e91d22f798ad5610f733545d2907
      https://github.com/boxbackup/boxbackup/commit/c5e9e1180186e91d22f798ad5610f733545d2907
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt

  Log Message:
  -----------
  CMake: make readline support configurable, not automatic

Otherwise if it's detected on the system (e.g. if you install GnuWin)
then it would always be enabled, but linking against GnuWin headers
breaks the build.


  Commit: 04a7a8e440fad476bf34315d622c818a7f7830e9
      https://github.com/boxbackup/boxbackup/commit/04a7a8e440fad476bf34315d622c818a7f7830e9
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupclient/BackupClientRestore.cpp
    M lib/backupstore/BackupClientFileAttributes.cpp
    M lib/backupstore/BackupStoreFile.cpp
    M lib/backupstore/BackupStoreRefCountDatabase.cpp
    M lib/bbackupd/BackupDaemon.cpp
    M lib/bbackupquery/BackupQueries.cpp
    M lib/common/InvisibleTempFileStream.cpp
    M lib/common/NamedLock.cpp
    M lib/common/Test.cpp
    M lib/raidfile/RaidFileWrite.cpp
    M lib/server/Daemon.cpp
    M lib/server/ServerControl.cpp
    M lib/server/ServerStream.h
    M lib/win32/emu.h
    M test/backupstore/testbackupstore.cpp
    M test/backupstorefix/testbackupstorefix.cpp
    M test/backupstorepatch/testbackupstorepatch.cpp
    M test/basicserver/testbasicserver.cpp
    M test/bbackupd/testbbackupd.cpp
    M test/httpserver/testhttpserver.cpp
    M test/raidfile/testraidfile.cpp

  Log Message:
  -----------
  Remove link and unlink macros on Windows.

They provided source-code compatibility with the POSIX versions of these
functions, but they conflict with Boost. Replace with EMU_LINK and
EMU_UNLINK everywhere.


  Commit: 58798dad71a3ce4f1c1a7733615dbd790b0afd82
      https://github.com/boxbackup/boxbackup/commit/58798dad71a3ce4f1c1a7733615dbd790b0afd82
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/WaitForEvent.cpp
    M lib/common/WaitForEvent.h
    M lib/server/SocketListen.h
    M lib/server/SocketStream.cpp
    M lib/win32/emu.cpp
    M lib/win32/emu.h
    M lib/win32/emu_winver.h

  Log Message:
  -----------
  Win32 build: upgrade to _WIN32_WINNT 0x600 (WinXP and above)

This should enable us to use Windows dbghelp functions to get stack
traces on exceptions, including demangled names.

This required replacing our custom "struct pollfd" with
EMU_STRUCT_POLLFD everywhere, to fix the conflict with newer versions of
winsock2.h.


  Commit: ada5e6615d314a1d9e4fc1ed379e09a5a82c4771
      https://github.com/boxbackup/boxbackup/commit/ada5e6615d314a1d9e4fc1ed379e09a5a82c4771
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M bin/bbackupquery/bbackupquery.cpp
    M infrastructure/buildenv-testmain-template.cpp
    A lib/common/MainHelper.cpp
    M lib/common/MainHelper.h
    M lib/server/Daemon.cpp

  Log Message:
  -----------
  Refactor winsock initialisation on Windows

Automatically initialise winsock in all binaries. Should fix issues with
bbstoreaccounts not working on Windows.


  Commit: c3198ea0abd48d61dee2b6b7a8d29e42aa2e25b8
      https://github.com/boxbackup/boxbackup/commit/c3198ea0abd48d61dee2b6b7a8d29e42aa2e25b8
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/DebugMemLeakFinder.cpp

  Log Message:
  -----------
  Fix compile warnings about printf format strings in DebugMemLeakFinder


  Commit: c9b6c3e9e46136609df16872da05e7fe289e5811
      https://github.com/boxbackup/boxbackup/commit/c9b6c3e9e46136609df16872da05e7fe289e5811
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/common/testcommon.cpp

  Log Message:
  -----------
  Reduce precision of common timer test

Ideally timers would be perfectly accurate and we could sleep for 1.0 seconds,
but on OSX in particular they could fire 50-100 ms late (I've seen 4 ms in
practice) and we don't want the tests to fail because of this, because we don't
really need that kind of precision in practice. So we reduce the timer
intervals by 100ms to be safe.

(cherry picked from commit 8d02eebce553ed822e0fcd60d6e319384e15ba4b)


  Commit: c82978e938a0942043b79087e5febfb8cddb9471
      https://github.com/boxbackup/boxbackup/commit/c82978e938a0942043b79087e5febfb8cddb9471
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Logging.h
    M test/common/testcommon.cpp

  Log Message:
  -----------
  Increase logging level and add timestamps in testcommon

Should help to debug frequent test failures such as Condition
[t2.HasExpired()] on OSX hosts on Travis.

(cherry picked from commit 61a8e7514e01bc05ea3ea77d110c16bff37a50f4)


  Commit: b0149c25217dbf6600dcf5952c0b33421b020a7c
      https://github.com/boxbackup/boxbackup/commit/b0149c25217dbf6600dcf5952c0b33421b020a7c
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M .gitattributes

  Log Message:
  -----------
  Stop Git from normalising line endings

Although recommended, "text" mode causes constant and unfixable conficts
that I give up fighting with.

(cherry picked from commit 25e445a6848a870aabd89a3b8a013265aa3cf17b)


  Commit: 2ecb332d69c80df86805287ed1908db1577e5534
      https://github.com/boxbackup/boxbackup/commit/2ecb332d69c80df86805287ed1908db1577e5534
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M appveyor.yml
    M infrastructure/cmake/CMakeLists.txt
    M infrastructure/cmake/getversion.pl

  Log Message:
  -----------
  Build Win32/64 binary packages automatically

Every AppVeyor build on the specified branches that passes will be packaged
into a ZIP file and installer using CPack and uploaded to GitHub Releases.

Generate version number entirely in AppVeyor config, and build it into the
binary, and use it in the names of the created binary packages, and compile it
into the binaries.


  Commit: cd1cd87e1f990505210545f06e8db624c59aaec4
      https://github.com/boxbackup/boxbackup/commit/cd1cd87e1f990505210545f06e8db624c59aaec4
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M bin/bbackupquery/bbackupquery.cpp
    M infrastructure/BoxPlatform.pm.in
    M lib/bbackupd/BackupDaemon.cpp
    M lib/bbstored/BackupStoreDaemon.cpp
    M lib/common/BannerText.h

  Log Message:
  -----------
  Update banner text, and shorten compiled-in Git version numbers

Shorten compiled-in version numbers based on Git revisions.  Git revisions are
often quoted as 7 hexadecimal digits, so let's do that here too.

Add sanity to banner texts of command-line utilities.

(cherry picked from commit 9afc3ca99d9cddd6f9a01fd5c0baa63ee16a449a)
(cherry picked from commit c10913a35c155fb1efbc2c32ba0db45c580c4fad)
(cherry picked from commit 0ce96b4c356b9f94b46e0c2842fdc81704c77f76)


  Commit: e8fa6aaadcb60fc8a31f3351c7637fcb4a1f9e20
      https://github.com/boxbackup/boxbackup/commit/e8fa6aaadcb60fc8a31f3351c7637fcb4a1f9e20
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M bin/bbstoreaccounts/bbstoreaccounts.cpp

  Log Message:
  -----------
  bbstoreaccounts: add support for standard command-line logging options

Tidy up usage text, and fix erroneous memory leak reported after calling
PrintUsageAndExit().

(cherry picked from commit 1a209b5c3c9cdd0ed3a92d2c884706a580b13844)


  Commit: 57b5907deb9707c8b1ddada1c16bb586b15f2d8e
      https://github.com/boxbackup/boxbackup/commit/57b5907deb9707c8b1ddada1c16bb586b15f2d8e
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt

  Log Message:
  -----------
  Make generated files depend on their generators under CMake

If makeprotocol.pl.in or makeexception.pl changes, then we should rebuild
the source files that are built by them (and therefore anything that depends
on those source files, etc).

(cherry picked from commit f9818932b31120f139500cc524563fe8483b072d)
(cherry picked from commit 53d1a6c05ed4c39cb2eef34efb52a544ec4e02a1)


  Commit: 5d2826690d52c7f7dcaf4cded7f9fa262da20594
      https://github.com/boxbackup/boxbackup/commit/5d2826690d52c7f7dcaf4cded7f9fa262da20594
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/bbackupd/testbbackupd.cpp

  Log Message:
  -----------
  Whitespace fixes


  Commit: e82f2fa58e178d44df3fe83cdbbd25b762313d7c
      https://github.com/boxbackup/boxbackup/commit/e82f2fa58e178d44df3fe83cdbbd25b762313d7c
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M appveyor.yml

  Log Message:
  -----------
  Remove Xamarin to remove 500 lines of junk from build logs

See
http://help.appveyor.com/discussions/problems/4569-the-target-_convertpdbfiles-listed-in-a-beforetargets-attribute-at-c-does-not-exist-in-the-project-and-will-be-ignored for details.


  Commit: b52e899b50f518cba65df579172216b85ae287a3
      https://github.com/boxbackup/boxbackup/commit/b52e899b50f518cba65df579172216b85ae287a3
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M appveyor.yml

  Log Message:
  -----------
  Reorder lines in appveyor.yml to match actual execution order


  Commit: cd656b06b36ac7744734ea5189c5ae63a834afc0
      https://github.com/boxbackup/boxbackup/commit/cd656b06b36ac7744734ea5189c5ae63a834afc0
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M appveyor.yml
    M infrastructure/cmake/windows/CMakeLists.txt

  Log Message:
  -----------
  Reduce AppVeyor build verbosity by passing extra args to sub-CMake


  Commit: a61df55e8eba9e7050826d0feedf285b310cff22
      https://github.com/boxbackup/boxbackup/commit/a61df55e8eba9e7050826d0feedf285b310cff22
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M appveyor.yml

  Log Message:
  -----------
  Disable DEBUG to reduce CMake build verbosity on AppVeyor


  Commit: b9772182ffa927bc5eb91fc4aa0571d41344722c
      https://github.com/boxbackup/boxbackup/commit/b9772182ffa927bc5eb91fc4aa0571d41344722c
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/backupstorefix/testbackupstorefix.cpp

  Log Message:
  -----------
  Lock store while corrupting it in test/backupstorefix

Should hopefully reduce risk of random test failures/race conditions.

(cherry picked from commit 0f31359ca8ebbd6ddfd5f2d042c8c23af4d67997)


  Commit: 1b97080bc62ae4a51f12e7a01deda23b7e662f10
      https://github.com/boxbackup/boxbackup/commit/1b97080bc62ae4a51f12e7a01deda23b7e662f10
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt

  Log Message:
  -----------
  Improve error messages when PCRE detection fails (or is abused)

(cherry picked from commit 81528092fd51b6f81a21899bc205c369597c481d)


  Commit: 4127ec1d35a1d967d862bab391a0aedadcae522c
      https://github.com/boxbackup/boxbackup/commit/4127ec1d35a1d967d862bab391a0aedadcae522c
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt
    M lib/common/Box.h
    M lib/common/MainHelper.cpp
    M lib/common/MainHelper.h
    M lib/common/Utils.cpp

  Log Message:
  -----------
  Win32: add experimental stack backtraces with symbol lookup

(cherry picked from commit f4685e72c2c7e274533c1cb149180809631a1da7)


  Commit: 05f0e98c5e66db66c1f6ef3753d86784a9596f50
      https://github.com/boxbackup/boxbackup/commit/05f0e98c5e66db66c1f6ef3753d86784a9596f50
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Logging.cpp
    M lib/common/Logging.h

  Log Message:
  -----------
  Modify command-line -L option to override log level for a specific file

This allows enabling TRACE logging for a specific file (e.g. to enable
exception backtraces for that file) without enabling TRACE globally.

Replace HideFileGuard with LogLevelOverrideByFileGuard.

(cherry picked from commit 29f74be06351b6ce9a872765db63171ad902b596)


  Commit: 67e9588b9401d0700b1184ff15ca1b61f33e8af3
      https://github.com/boxbackup/boxbackup/commit/67e9588b9401d0700b1184ff15ca1b61f33e8af3
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Box.h
    M lib/common/Logging.cpp
    M lib/common/Logging.h
    M lib/common/Utils.cpp
    M lib/common/Utils.h
    M lib/server/SocketStream.cpp

  Log Message:
  -----------
  Use filename where exception was thrown in DumpStackBacktrace

Allows us to turn on exceptions for specific files, rather that
filtering them all as Utils.cpp.

(cherry picked from commit 3590e9745dac2f25267bd755ed3d554423395330)


  Commit: 8d27d823bad0d8790ef868ba4b91ebb7e319e6e7
      https://github.com/boxbackup/boxbackup/commit/8d27d823bad0d8790ef868ba4b91ebb7e319e6e7
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt
    M runtest.pl.in

  Log Message:
  -----------
  Enable backtraces and timestamps in all tests when building with CMake

(cherry picked from commit 166e39c11d242ebed6b62fc3f126af48345a22ca)


  Commit: c10c13590d6110c6de9e7369971f620d84ef3082
      https://github.com/boxbackup/boxbackup/commit/c10c13590d6110c6de9e7369971f620d84ef3082
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupFileSystem.h

  Log Message:
  -----------
  Use the correct preprocessor define for release builds

(cherry picked from commit 085149bf1c2c287ee744f2e094a99a77fc89dc60)


  Commit: f93ec0f4881d781c6360fe32a22e9405ce5cb443
      https://github.com/boxbackup/boxbackup/commit/f93ec0f4881d781c6360fe32a22e9405ce5cb443
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/server/SocketStream.cpp

  Log Message:
  -----------
  Show IP address as well as hostname for ServerException::SocketOpenError

(cherry picked from commit 1a51adcd6be000f09fa280e42fb12e5631cd69b9)


  Commit: db79ca420172f1f128897bab54890e975e0b53f0
      https://github.com/boxbackup/boxbackup/commit/db79ca420172f1f128897bab54890e975e0b53f0
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/backupstorefix/testbackupstorefix.cpp

  Log Message:
  -----------
  test/backupstorefix: tag bbstoreaccounts check output in tests

(cherry picked from commit c31d7143273f2d5257ec690e894442a8398aaf21)


  Commit: 04ece62965d46b0e5b04cdf5f5848452ea8371c7
      https://github.com/boxbackup/boxbackup/commit/04ece62965d46b0e5b04cdf5f5848452ea8371c7
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt
    M infrastructure/m4/boxbackup_tests.m4

  Log Message:
  -----------
  Add support for M4 CXX flag detection in CMakeLists

Enables all flags that are detected by M4 builds to be detected by CMake builds
as well (except for -Wall which enables a bunch of junk).

(cherry picked from commit 2ea8a9706d79a386729c7b2d814089e90bac6926)


  Commit: 04ec6166f0f527374d7f3f040c502e8f715f3aa5
      https://github.com/boxbackup/boxbackup/commit/04ec6166f0f527374d7f3f040c502e8f715f3aa5
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/DebugMemLeakFinder.cpp
    M lib/common/Utils.cpp

  Log Message:
  -----------
  Store and log full stack traces for leaked memory allocations

Don't dump stack backtrace when logging memory leaks to a file

Since the backtrace goes to the console instead, it's confusing to have them in
different places.

(cherry picked from commit 6e7df4dfdc06eaff2dd0ef51741df3cf6ba319ea)
(cherry picked from commit 270cd1f16fa8a32b07ae0b9762a417db7b95b82f)
(cherry picked from commit c627e9547fb8a191ea36780b140fd0516a0bffa8)


  Commit: 998992a060b2b9131a457f28082aa5692e3d8a76
      https://github.com/boxbackup/boxbackup/commit/998992a060b2b9131a457f28082aa5692e3d8a76
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/buildenv-testmain-template.cpp
    M lib/backupstore/StoreTestUtils.cpp
    M lib/backupstore/StoreTestUtils.h
    M lib/common/Test.h
    M test/backupstorefix/testbackupstorefix.cpp
    M test/bbackupd/testbbackupd.cpp

  Log Message:
  -----------
  Increase default verbosity in some timing tests


  Commit: 7531f5bff6e7ad40127bc18a9378d37c883682f9
      https://github.com/boxbackup/boxbackup/commit/7531f5bff6e7ad40127bc18a9378d37c883682f9
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/m4/boxbackup_tests.m4
    M infrastructure/makebuildenv.pl.in

  Log Message:
  -----------
  Detect which debugger to use in t-gdb scripts: lldb or gdb

Should make debugging on Mac and BSD less painful.

Make t-gdb fail with an error when no debugger was detected.

(cherry picked from commit da98a8183737fb1fcb658cebd9612791a4750c4c)
(cherry picked from commit ea6bc722131222d1fad08521e61f552f16941b01)


  Commit: f7dad7e56b11755c6a58de512bb123704b7176bc
      https://github.com/boxbackup/boxbackup/commit/f7dad7e56b11755c6a58de512bb123704b7176bc
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/makebuildenv.pl.in

  Log Message:
  -----------
  Don't add CXXFLAGS to CFLAGS

Some CXXFLAGS such as enabling C++11 don't make sense for CC and will be
rejected, causing the compile to fail. We don't really test for flags being
compatible with the C compiler anyway, and we don't have enough C files to
care that much.

(cherry picked from commit 2ad9ee9012d4a7354c33ff0272c0768b952a9064)


  Commit: 55a3fed525b0d58160fa385f1d0ce21ce3c936ea
      https://github.com/boxbackup/boxbackup/commit/55a3fed525b0d58160fa385f1d0ce21ce3c936ea
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/makebuildenv.pl.in

  Log Message:
  -----------
  Perl buildsystem: add test prepare targets

Similar to the CMake prepare targets, these are useful when intending to
debug tests or run a server using a standard test configuration, which
requires the testfiles directory to be copied into the binary output tree.

(cherry picked from commit 2afecdd57a3bcf42c116c8535843039a1596feac)


  Commit: 81987596f5af8f1d2c634734e37cb911c166e4da
      https://github.com/boxbackup/boxbackup/commit/81987596f5af8f1d2c634734e37cb911c166e4da
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M bin/bbstoreaccounts/bbstoreaccounts.cpp
    M lib/backupstore/BackupAccountControl.cpp
    M lib/backupstore/BackupAccountControl.h
    M lib/backupstore/StoreTestUtils.cpp

  Log Message:
  -----------
  Rename BackupStoreAccountsControl to BackupStoreAccountControl

For consistency with the base class, BackupAccountControl, and grammatical
reasons.


  Commit: 6fc2a7e582d75d1d430e3d4598fe0daa57a83d3c
      https://github.com/boxbackup/boxbackup/commit/6fc2a7e582d75d1d430e3d4598fe0daa57a83d3c
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupFileSystem.cpp
    M lib/backupstore/BackupFileSystem.h

  Log Message:
  -----------
  Add missing implementations of RaidBackupFileSystem methods

These should have been added whenever BackupFileSystem.h was added, which was
4db4deed3448b9c2b9e885a20cb1a777632464d6, although it didn't really belong in
that commit either. But it's too late to change history now. Adding the missing
method definitions makes it possible to instantiate a RaidBackupFileSystem.


  Commit: 5148e0fe453d661ce6c1031d67d6031f92f78a70
      https://github.com/boxbackup/boxbackup/commit/5148e0fe453d661ce6c1031d67d6031f92f78a70
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M bin/bbstoreaccounts/bbstoreaccounts.cpp
    M lib/backupstore/BackupAccountControl.cpp
    M lib/backupstore/BackupAccountControl.h
    M lib/backupstore/StoreTestUtils.cpp

  Log Message:
  -----------
  Refactor BackupStoreAccountControl to be for a specific account ID

This allows other BackupAccountControl implementations to implement the same
interface without needing to support account IDs, which are very
store-specific.


  Commit: 29a5587411ed497a4750a0268446d6bae752b93d
      https://github.com/boxbackup/boxbackup/commit/29a5587411ed497a4750a0268446d6bae752b93d
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/backupstore/testbackupstore.cpp

  Log Message:
  -----------
  Remove debugging code to list files during test_multiple_uploads

Revert "Try listing files to help debug random failures of test_multiple_uploads()."

This reverts commit e302ded5b7d40fe88d65808564f4db9df2a6f878.


  Commit: 1df0e1a46ddc2258ebd98196de2deca083df7275
      https://github.com/boxbackup/boxbackup/commit/1df0e1a46ddc2258ebd98196de2deca083df7275
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M bin/bbstoreaccounts/bbstoreaccounts.cpp
    M infrastructure/m4/boxbackup_tests.m4
    M infrastructure/makebuildenv.pl.in
    M infrastructure/travis-build.sh
    M lib/backupstore/BackupAccountControl.cpp
    M lib/backupstore/BackupConstants.h
    M lib/backupstore/BackupFileSystem.cpp
    M lib/backupstore/BackupProtocol.txt
    M lib/backupstore/BackupStoreAccounts.h
    M lib/backupstore/BackupStoreCheck.cpp
    M lib/backupstore/BackupStoreCheck.h
    M lib/backupstore/BackupStoreCheck2.cpp
    M lib/backupstore/BackupStoreContext.cpp
    M lib/backupstore/BackupStoreContext.h
    M lib/backupstore/BackupStoreException.txt
    M lib/backupstore/BackupStoreFile.cpp
    M lib/backupstore/BackupStoreRefCountDatabase.cpp
    M lib/backupstore/HousekeepStoreAccount.cpp
    M lib/backupstore/StoreTestUtils.cpp
    M lib/backupstore/StoreTestUtils.h
    M lib/bbstored/BackupStoreDaemon.cpp
    M lib/common/CollectInBufferStream.cpp
    M lib/common/CommonException.txt
    M lib/common/NamedLock.cpp
    M runtest.pl.in
    M test/backupstore/testbackupstore.cpp
    M test/backupstorefix/testbackupstorefix.cpp
    M test/backupstorepatch/testbackupstorepatch.cpp
    M test/bbackupd/testbbackupd.cpp
    M test/common/testcommon.cpp

  Log Message:
  -----------
  Whitespace and comment cleanup


  Commit: 4cfd9613ef81807a9ef02488962597aafeab7375
      https://github.com/boxbackup/boxbackup/commit/4cfd9613ef81807a9ef02488962597aafeab7375
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/makebuildenv.pl.in

  Log Message:
  -----------
  Custom build system: fix autogen dependencies

Remove useless inclusion of Makefile.extras with paths in subdirs that will
never match anything, and replace those inclusions with recursive Make calls to
build those targets. This allows changes to exception and protocol files to be
detected automatically, and the C++ code regenerated.


  Commit: 5b9133e38f879ae587cb0af442fbac350e1e8a41
      https://github.com/boxbackup/boxbackup/commit/5b9133e38f879ae587cb0af442fbac350e1e8a41
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupclient/BackupClientRestore.cpp
    M lib/backupstore/BackupStoreCheck.cpp
    M lib/backupstore/BackupStoreCheck.h
    M lib/common/Test.cpp
    M lib/common/Utils.cpp
    M lib/common/Utils.h
    M lib/httpserver/S3Simulator.cpp

  Log Message:
  -----------
  Make ObjectExists and BackupStoreCheck use object_exists_t enum


  Commit: 64933c639fd9b08c8e3584baa7443356c790c7ba
      https://github.com/boxbackup/boxbackup/commit/64933c639fd9b08c8e3584baa7443356c790c7ba
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Utils.cpp
    M lib/common/Utils.h

  Log Message:
  -----------
  Add GetTempDirPath() for portability

On Unix, check TEMP, TMP and TMPDIR, and if no env var is set, fall back to
/tmp.  For some reason it's becoming increasingly common for Unixes not to set
TMP* to anything.


  Commit: 978decd1ffaf984d81f20ff39f2d3a380b2fcdd1
      https://github.com/boxbackup/boxbackup/commit/978decd1ffaf984d81f20ff39f2d3a380b2fcdd1
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/common/testcommon.cpp

  Log Message:
  -----------
  Fix include ordering in testcommon.cpp


  Commit: d379d8b6db3f12b8613c6049252a5c6ebdd03d61
      https://github.com/boxbackup/boxbackup/commit/d379d8b6db3f12b8613c6049252a5c6ebdd03d61
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M test/common/testcommon.cpp

  Log Message:
  -----------
  Refactor testcommon to split into independent tests

Remove redundant NamedLock tests.


  Commit: a20533c7907d95c40676e00be92f3ffdaec2b081
      https://github.com/boxbackup/boxbackup/commit/a20533c7907d95c40676e00be92f3ffdaec2b081
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/common/Utils.cpp
    M lib/common/Utils.h
    M test/common/testcommon.cpp

  Log Message:
  -----------
  Add force parameter to RemovePrefix and RemoveSuffix


  Commit: d33905c8ef5c055d69559d62b119c97b6898a054
      https://github.com/boxbackup/boxbackup/commit/d33905c8ef5c055d69559d62b119c97b6898a054
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupCommands.cpp
    M lib/backupstore/BackupStoreContext.cpp
    M lib/backupstore/BackupStoreContext.h

  Log Message:
  -----------
  Remove BackupStoreContext::ReceivedFinishCommand

Replace with CleanUp(). We don't need two methods that do almost the same
thing.


  Commit: 2f2e3c48d8f135e20a0b033edd876e5d6ff7130f
      https://github.com/boxbackup/boxbackup/commit/2f2e3c48d8f135e20a0b033edd876e5d6ff7130f
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupProtocol.h
    M lib/backupstore/BackupStoreContext.cpp
    M lib/backupstore/BackupStoreContext.h
    M test/backupstore/testbackupstore.cpp

  Log Message:
  -----------
  Refactor BackupStoreContext::GetBackupStoreInfo

Almost all access to mapStoreInfo is now via GetBackupStoreInfo(Internal), in
preparation for the refactor that will move the main copy of the
BackupStoreInfo to the BackupFileSystem instance instead.


  Commit: 22f2bc52868d93c00adc93cd167b3f8a7f6efb7e
      https://github.com/boxbackup/boxbackup/commit/22f2bc52868d93c00adc93cd167b3f8a7f6efb7e
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M infrastructure/cmake/CMakeLists.txt
    M infrastructure/m4/boxbackup_tests.m4
    M lib/backupstore/BackupStoreContext.cpp

  Log Message:
  -----------
  Enable C++0x support

We need C++0x features enabled for "auto" to work, and using Boost properly
seems to require this. Use "auto" in a few places to prove that it works.


  Commit: 7e95728b9463a63c1ae350d49bdab1cc07657e81
      https://github.com/boxbackup/boxbackup/commit/7e95728b9463a63c1ae350d49bdab1cc07657e81
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupFileSystem.cpp
    M lib/backupstore/BackupFileSystem.h

  Log Message:
  -----------
  Refactor to create BackupFileSystem::GetBackupStoreInfo

Extract common code from filesystem-specific implementations, and rename them
to GetBackupStoreInfoInternal().


  Commit: 47bf767b26357091abaedbd84d74ddb851138b9f
      https://github.com/boxbackup/boxbackup/commit/47bf767b26357091abaedbd84d74ddb851138b9f
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-23 (Sun, 23 Jul 2017)

  Changed paths:
    M lib/backupstore/BackupFileSystem.cpp
    M lib/backupstore/BackupFileSystem.h

  Log Message:
  -----------
  Refactor BackupFileSystem::GetLock()

Call subclass implementations of TryGetLock(), and throw an exception if we
fail to get a lock instead of returning false.


Compare: https://github.com/boxbackup/boxbackup/compare/0926319e9e32...47bf767b2635


More information about the Boxbackup-commit mailing list