[Box Backup-commit] [boxbackup/boxbackup] 7213d8: Add tests for S3Simulator and S3Client

GitHub noreply at github.com
Sat Jul 29 11:45:52 BST 2017


  Branch: refs/heads/s3_support_merge
  Home:   https://github.com/boxbackup/boxbackup
  Commit: 7213d8c0387deaebade1b826650834e84c8f86f4
      https://github.com/boxbackup/boxbackup/commit/7213d8c0387deaebade1b826650834e84c8f86f4
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M test/httpserver/testhttpserver.cpp

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


  Commit: c1b7d5be5c790a342eebce43cbe66f510e91d5e0
      https://github.com/boxbackup/boxbackup/commit/c1b7d5be5c790a342eebce43cbe66f510e91d5e0
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 08d2e17d3b0ddbae953d9e33c13a9a78d1b8beb3
      https://github.com/boxbackup/boxbackup/commit/08d2e17d3b0ddbae953d9e33c13a9a78d1b8beb3
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 3abf5625f7db5609d42f7d922580cfb45c4d26a7
      https://github.com/boxbackup/boxbackup/commit/3abf5625f7db5609d42f7d922580cfb45c4d26a7
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: b02e81d99085db0566790bb416cc9e5e731aa218
      https://github.com/boxbackup/boxbackup/commit/b02e81d99085db0566790bb416cc9e5e731aa218
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M test/bbackupd/testbbackupd.cpp

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

(cherry picked from commit 56631b8da4f8f22f291323d640560aca43f32b29)


  Commit: f4ebe7bdb1da3218f2ed2174bb2f729ca5c99187
      https://github.com/boxbackup/boxbackup/commit/f4ebe7bdb1da3218f2ed2174bb2f729ca5c99187
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 1753b9a3754952aa74621e21e863d139749d2b18
      https://github.com/boxbackup/boxbackup/commit/1753b9a3754952aa74621e21e863d139749d2b18
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: b6278bf04a7dceb8b389821ee7e78772b2d73662
      https://github.com/boxbackup/boxbackup/commit/b6278bf04a7dceb8b389821ee7e78772b2d73662
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M lib/httpserver/S3Client.cpp

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

(cherry picked from commit 71d3d970b00ee85408e8ea5166fe46fdbac82ce1)


  Commit: 338ec56afc0473d8e995253a0ffb0817189eb8f3
      https://github.com/boxbackup/boxbackup/commit/338ec56afc0473d8e995253a0ffb0817189eb8f3
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 4212b1f8d569435d904b8922036b45799b1aef18
      https://github.com/boxbackup/boxbackup/commit/4212b1f8d569435d904b8922036b45799b1aef18
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: e8608e550a1baf6820ce5e7d1938011b38cf7077
      https://github.com/boxbackup/boxbackup/commit/e8608e550a1baf6820ce5e7d1938011b38cf7077
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: d08470fd2b391c2dfad78762175f60c7b1850415
      https://github.com/boxbackup/boxbackup/commit/d08470fd2b391c2dfad78762175f60c7b1850415
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: fb3885cbff0171b4465e09583932be6eb098a0f9
      https://github.com/boxbackup/boxbackup/commit/fb3885cbff0171b4465e09583932be6eb098a0f9
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 17fc51a64fb1bd74ed49e26aee9720f3d974351f
      https://github.com/boxbackup/boxbackup/commit/17fc51a64fb1bd74ed49e26aee9720f3d974351f
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 55916eeb0011194987fc3769eb3253fa7c95d0f5
      https://github.com/boxbackup/boxbackup/commit/55916eeb0011194987fc3769eb3253fa7c95d0f5
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 197e67cce95ba9914b896eb9c490345a126b5787
      https://github.com/boxbackup/boxbackup/commit/197e67cce95ba9914b896eb9c490345a126b5787
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 7fab4cc4cef381b0c85c6fe6145a225e11e92ced
      https://github.com/boxbackup/boxbackup/commit/7fab4cc4cef381b0c85c6fe6145a225e11e92ced
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 44235aa869c57ded39005bdc262ccfb356f85487
      https://github.com/boxbackup/boxbackup/commit/44235aa869c57ded39005bdc262ccfb356f85487
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 0ae6995a710c10a61df3189a4a34272c36d666f2
      https://github.com/boxbackup/boxbackup/commit/0ae6995a710c10a61df3189a4a34272c36d666f2
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: eb01d5169215dce0a3f45057a02e43393c851dc6
      https://github.com/boxbackup/boxbackup/commit/eb01d5169215dce0a3f45057a02e43393c851dc6
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M lib/httpserver/S3Client.h

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


  Commit: d529145397c0cafd702ace701c686e19136dc368
      https://github.com/boxbackup/boxbackup/commit/d529145397c0cafd702ace701c686e19136dc368
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 0071b6c3f1e408733c3689b1d5a0356e5535dfe2
      https://github.com/boxbackup/boxbackup/commit/0071b6c3f1e408733c3689b1d5a0356e5535dfe2
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: bed8df78865b5790bf7c84a931da0464e293b708
      https://github.com/boxbackup/boxbackup/commit/bed8df78865b5790bf7c84a931da0464e293b708
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 49c59dd9bbec8689c1a1adcc16f5813be67bec16
      https://github.com/boxbackup/boxbackup/commit/49c59dd9bbec8689c1a1adcc16f5813be67bec16
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 4ee45dc2cf9c7f2ea02ff1a61605fa455ff54b65
      https://github.com/boxbackup/boxbackup/commit/4ee45dc2cf9c7f2ea02ff1a61605fa455ff54b65
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 41680e5e4576012ca0bf21213ac5ce47a95c0656
      https://github.com/boxbackup/boxbackup/commit/41680e5e4576012ca0bf21213ac5ce47a95c0656
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 182cf287708de001ca94c28c0a4417bfdcea9b68
      https://github.com/boxbackup/boxbackup/commit/182cf287708de001ca94c28c0a4417bfdcea9b68
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 151ea703a86c40bed5ccabcac37ac021f6f5ebd7
      https://github.com/boxbackup/boxbackup/commit/151ea703a86c40bed5ccabcac37ac021f6f5ebd7
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: eff8c4374bb2c0dcb9e9683f3f5b489d7ccb3594
      https://github.com/boxbackup/boxbackup/commit/eff8c4374bb2c0dcb9e9683f3f5b489d7ccb3594
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: fec0dc0bf415c393b3fe6f04d6f824552a135ab5
      https://github.com/boxbackup/boxbackup/commit/fec0dc0bf415c393b3fe6f04d6f824552a135ab5
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: e908a01f5769091f3daae5f0d1e9e098965364fb
      https://github.com/boxbackup/boxbackup/commit/e908a01f5769091f3daae5f0d1e9e098965364fb
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 4f9ac54674b37a4eb10b246d08d0f4ba22bb603a
      https://github.com/boxbackup/boxbackup/commit/4f9ac54674b37a4eb10b246d08d0f4ba22bb603a
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M lib/common/DebugMemLeakFinder.cpp

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


  Commit: 41865cc05c710b53818c00f0b584d96171e15b03
      https://github.com/boxbackup/boxbackup/commit/41865cc05c710b53818c00f0b584d96171e15b03
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 2f9058047d9a338f95fb357ead2dd452c37b9444
      https://github.com/boxbackup/boxbackup/commit/2f9058047d9a338f95fb357ead2dd452c37b9444
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: e90c88a0e217c7477e5634e35fad04259d244514
      https://github.com/boxbackup/boxbackup/commit/e90c88a0e217c7477e5634e35fad04259d244514
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: c33a014a9f5eb6995a48a9599e43b4280cdf8830
      https://github.com/boxbackup/boxbackup/commit/c33a014a9f5eb6995a48a9599e43b4280cdf8830
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: ed545159f80ae92ea99bab77fb3c65ed997fc5a0
      https://github.com/boxbackup/boxbackup/commit/ed545159f80ae92ea99bab77fb3c65ed997fc5a0
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: afb33e8047febadd7f32b2b421c272fa97289a26
      https://github.com/boxbackup/boxbackup/commit/afb33e8047febadd7f32b2b421c272fa97289a26
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: b27ae53e84422074a7262e045ce8faf05728ffb1
      https://github.com/boxbackup/boxbackup/commit/b27ae53e84422074a7262e045ce8faf05728ffb1
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 85e6ffccc570622ce56cdaafb7328f6a4f86b9f2
      https://github.com/boxbackup/boxbackup/commit/85e6ffccc570622ce56cdaafb7328f6a4f86b9f2
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M test/bbackupd/testbbackupd.cpp

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


  Commit: 17cf4d5fb3d5ced41c30e55df565b9406c6cbef9
      https://github.com/boxbackup/boxbackup/commit/17cf4d5fb3d5ced41c30e55df565b9406c6cbef9
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: eddfe40d184f008135a3f215301c9b39e8822b21
      https://github.com/boxbackup/boxbackup/commit/eddfe40d184f008135a3f215301c9b39e8822b21
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M appveyor.yml

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


  Commit: b10fb0f2ddea4e3f4ab4af548f6cdf8ecaa247fb
      https://github.com/boxbackup/boxbackup/commit/b10fb0f2ddea4e3f4ab4af548f6cdf8ecaa247fb
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 05e39c7640429840a8e3d7600c0c38f08c79b7f1
      https://github.com/boxbackup/boxbackup/commit/05e39c7640429840a8e3d7600c0c38f08c79b7f1
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M appveyor.yml

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


  Commit: 523a2d6bc7a221bcfebd2b7b62dbbe582aa0af20
      https://github.com/boxbackup/boxbackup/commit/523a2d6bc7a221bcfebd2b7b62dbbe582aa0af20
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 64b699a4a6cecdd900d3212b9aa93ec7dbce06ed
      https://github.com/boxbackup/boxbackup/commit/64b699a4a6cecdd900d3212b9aa93ec7dbce06ed
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: ce7b7e4953f62528a8522498402b300dc49b5c41
      https://github.com/boxbackup/boxbackup/commit/ce7b7e4953f62528a8522498402b300dc49b5c41
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 7a7ea88a37e3cde4f63dee248560888624bc41c2
      https://github.com/boxbackup/boxbackup/commit/7a7ea88a37e3cde4f63dee248560888624bc41c2
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 0aaf35889c462c51d15a03beb0f4c506a883772b
      https://github.com/boxbackup/boxbackup/commit/0aaf35889c462c51d15a03beb0f4c506a883772b
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: a107067231f75d236db49d6ec3991e2abb251d29
      https://github.com/boxbackup/boxbackup/commit/a107067231f75d236db49d6ec3991e2abb251d29
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 242e18cfcbe55d27ebbd959bb3d1ad7d9915194a
      https://github.com/boxbackup/boxbackup/commit/242e18cfcbe55d27ebbd959bb3d1ad7d9915194a
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 53639ac7fca72b0751d0fa92c1a9e9640df9754a
      https://github.com/boxbackup/boxbackup/commit/53639ac7fca72b0751d0fa92c1a9e9640df9754a
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 5b87298c410fd6c2f1ab76624a438d61179b3107
      https://github.com/boxbackup/boxbackup/commit/5b87298c410fd6c2f1ab76624a438d61179b3107
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: ceb98911fd2af4335a742093a590e2e59da9342f
      https://github.com/boxbackup/boxbackup/commit/ceb98911fd2af4335a742093a590e2e59da9342f
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 7594e9ff4e7d92bc2eab935deea05646aebef811
      https://github.com/boxbackup/boxbackup/commit/7594e9ff4e7d92bc2eab935deea05646aebef811
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 6d2641f495fe0c4bbb2ca3e17a5dd06e0969a155
      https://github.com/boxbackup/boxbackup/commit/6d2641f495fe0c4bbb2ca3e17a5dd06e0969a155
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 12d0c6ef8509b96f234a448ca9b2caf3bd95e22c
      https://github.com/boxbackup/boxbackup/commit/12d0c6ef8509b96f234a448ca9b2caf3bd95e22c
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 519c85d18ccaa2f87777347861da96d759231466
      https://github.com/boxbackup/boxbackup/commit/519c85d18ccaa2f87777347861da96d759231466
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 926ff0903a632aeffda182897ff147bb0eef6e1b
      https://github.com/boxbackup/boxbackup/commit/926ff0903a632aeffda182897ff147bb0eef6e1b
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 52977ba67dec874606a9211bfe13f9288e2c6d7f
      https://github.com/boxbackup/boxbackup/commit/52977ba67dec874606a9211bfe13f9288e2c6d7f
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 152ffb498dd09974e8fdc7c62721ad3a65a96784
      https://github.com/boxbackup/boxbackup/commit/152ffb498dd09974e8fdc7c62721ad3a65a96784
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 5e6ffac26ffb41b0ca661e0b0c503f2ee38d70e4
      https://github.com/boxbackup/boxbackup/commit/5e6ffac26ffb41b0ca661e0b0c503f2ee38d70e4
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 2f8fab7a78f2981db3a11642c9459f2585bd1763
      https://github.com/boxbackup/boxbackup/commit/2f8fab7a78f2981db3a11642c9459f2585bd1763
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: f6025b5fdf31b79f7701c46388091f554f5132a7
      https://github.com/boxbackup/boxbackup/commit/f6025b5fdf31b79f7701c46388091f554f5132a7
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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 lib/httpserver/S3Simulator.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: ec26a236569f138dcffcf8d0498722239cf74ccb
      https://github.com/boxbackup/boxbackup/commit/ec26a236569f138dcffcf8d0498722239cf74ccb
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 61f5d84ee04b3583d605ee7e441d18cb38f76164
      https://github.com/boxbackup/boxbackup/commit/61f5d84ee04b3583d605ee7e441d18cb38f76164
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: a3e8e5e395c17f036e2ca39c00fe3bc5624dd336
      https://github.com/boxbackup/boxbackup/commit/a3e8e5e395c17f036e2ca39c00fe3bc5624dd336
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 04883f95c151ffa6f59b356449c7de6dd759eb87
      https://github.com/boxbackup/boxbackup/commit/04883f95c151ffa6f59b356449c7de6dd759eb87
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 Jul 2017)

  Changed paths:
    M test/common/testcommon.cpp

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


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

  Changed paths:
    M test/common/testcommon.cpp

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

Remove redundant NamedLock tests.


  Commit: fe84ca70cf665fde7e0409bdc6ee8fda4668953e
      https://github.com/boxbackup/boxbackup/commit/fe84ca70cf665fde7e0409bdc6ee8fda4668953e
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 83aff9a79c02cff3d6b85f45a11307f7758b0699
      https://github.com/boxbackup/boxbackup/commit/83aff9a79c02cff3d6b85f45a11307f7758b0699
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 71dc5c2f59478e64524c9e1587994bea62df0b88
      https://github.com/boxbackup/boxbackup/commit/71dc5c2f59478e64524c9e1587994bea62df0b88
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: cc871eb2e9d21f967500cc169bfda98b86f10398
      https://github.com/boxbackup/boxbackup/commit/cc871eb2e9d21f967500cc169bfda98b86f10398
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: f72ce18b9e8815b4c6f021cc46b1791f739bd58f
      https://github.com/boxbackup/boxbackup/commit/f72ce18b9e8815b4c6f021cc46b1791f739bd58f
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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: 91e89eafe31cb3d94c0ccf703026b6cf7273f5fe
      https://github.com/boxbackup/boxbackup/commit/91e89eafe31cb3d94c0ccf703026b6cf7273f5fe
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2017-07-29 (Sat, 29 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.


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

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

  Log Message:
  -----------
  Refactor test code into process_is_running()

We need the ability to check whether a process is still running to check for
stale S3 account locks in SimpleDB, so move this code out of Test.cpp and into
Utils.cpp, for use outside of tests.


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

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

  Log Message:
  -----------
  Implement compare_lists and test_equal_maps in lib/common/Test.cpp


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

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

  Log Message:
  -----------
  Add static method HTTPQueryDecoder::URLEncode

This will be needed for request parameter encoding and for SimpleDB.


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

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

  Log Message:
  -----------
  Add query parameter editing and encoding to HTTPRequest


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

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

  Log Message:
  -----------
  Add support for virtualhost names in S3Client

This is a precondition of support for both S3 and SimpleDB in the S3Simulator,
since otherwise we can't tell the requests apart.


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

  Changed paths:
    M lib/httpserver/HTTPException.txt
    M lib/httpserver/S3Client.cpp
    M lib/httpserver/S3Simulator.cpp
    M lib/httpserver/S3Simulator.h
    A lib/httpserver/SimpleDBClient.cpp
    A lib/httpserver/SimpleDBClient.h
    M test/httpserver/testhttpserver.cpp

  Log Message:
  -----------
  Add simulator and client for SimpleDB

This will be used to support reliable instant locking of S3 accounts.


Compare: https://github.com/boxbackup/boxbackup/compare/59a3d8c93bbb...92e473cfd7f7


More information about the Boxbackup-commit mailing list