[Box Backup-commit] [boxbackup/boxbackup] 733e44: Fix confusion about URIs and paths in S3 filesyste...
GitHub
noreply at github.com
Mon Sep 25 21:50:59 BST 2017
Branch: refs/heads/s3_support_merge
Home: https://github.com/boxbackup/boxbackup
Commit: 733e443d2fad6c2505708b2b4451d0d92b6d617b
https://github.com/boxbackup/boxbackup/commit/733e443d2fad6c2505708b2b4451d0d92b6d617b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/common/Test.cpp
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: 76e44c25c6f7eeb3ea666baf918e9006f51d9bc9
https://github.com/boxbackup/boxbackup/commit/76e44c25c6f7eeb3ea666baf918e9006f51d9bc9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 1442c912c357ffa5611c3fad104e4986ea3da012
https://github.com/boxbackup/boxbackup/commit/1442c912c357ffa5611c3fad104e4986ea3da012
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 8afc3322548936dda717db7b0d766ebfae572095
https://github.com/boxbackup/boxbackup/commit/8afc3322548936dda717db7b0d766ebfae572095
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: a7db6fca9bee47af5eb9e66a7aad88149dea7c95
https://github.com/boxbackup/boxbackup/commit/a7db6fca9bee47af5eb9e66a7aad88149dea7c95
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: cdfba68b063c3149791129e09ccde5b5542111e3
https://github.com/boxbackup/boxbackup/commit/cdfba68b063c3149791129e09ccde5b5542111e3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: cf7c1115c5e45d305a2b603e15a43acaf75af946
https://github.com/boxbackup/boxbackup/commit/cf7c1115c5e45d305a2b603e15a43acaf75af946
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 4f03228f17d2e5bc6024eca92017694e02780ecc
https://github.com/boxbackup/boxbackup/commit/4f03228f17d2e5bc6024eca92017694e02780ecc
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: ca7c5dde6b84a8c07401def77ba96962a6e7d337
https://github.com/boxbackup/boxbackup/commit/ca7c5dde6b84a8c07401def77ba96962a6e7d337
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/httpserver/S3Client.h
Log Message:
-----------
Add comments to explain the three S3Client constructors
Commit: 1fce16a59a979e9cbb4c0643b32c06b78cae780c
https://github.com/boxbackup/boxbackup/commit/1fce16a59a979e9cbb4c0643b32c06b78cae780c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 3cd6d9a25d2a5c240fcaf3f4655ccc54b3ce003a
https://github.com/boxbackup/boxbackup/commit/3cd6d9a25d2a5c240fcaf3f4655ccc54b3ce003a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 0a8430d67ea47ea180a36ca70ad2fbc2f1dfdbac
https://github.com/boxbackup/boxbackup/commit/0a8430d67ea47ea180a36ca70ad2fbc2f1dfdbac
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M infrastructure/buildenv-testmain-template.cpp
Log Message:
-----------
Fix exit status from tests: could previously return 0 even after failures
Commit: aeece4fcc97ab0ad56edc224dd4ee8bf4e1b7abf
https://github.com/boxbackup/boxbackup/commit/aeece4fcc97ab0ad56edc224dd4ee8bf4e1b7abf
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 7f9685c94b7e7ce11d674eb4154989d62d624d01
https://github.com/boxbackup/boxbackup/commit/7f9685c94b7e7ce11d674eb4154989d62d624d01
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 490ad643a78f572379476efb8b613e77db7db94b
https://github.com/boxbackup/boxbackup/commit/490ad643a78f572379476efb8b613e77db7db94b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 64ff56f172a74fc5b6e4830d7cd0a376f95803e4
https://github.com/boxbackup/boxbackup/commit/64ff56f172a74fc5b6e4830d7cd0a376f95803e4
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 09f6d2afc1591859195abfb29ac7751ccd564f38
https://github.com/boxbackup/boxbackup/commit/09f6d2afc1591859195abfb29ac7751ccd564f38
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 90abd7163f52f9272bbbb4a806af22accd2a44f5
https://github.com/boxbackup/boxbackup/commit/90abd7163f52f9272bbbb4a806af22accd2a44f5
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 32de0463a36f57a526701775784904a4e30164a8
https://github.com/boxbackup/boxbackup/commit/32de0463a36f57a526701775784904a4e30164a8
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 0b6e71dabcaaeed0394c1b8ae38f03d48db2f34a
https://github.com/boxbackup/boxbackup/commit/0b6e71dabcaaeed0394c1b8ae38f03d48db2f34a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 131f38b031cff5af55796f6eb9007174de994ec0
https://github.com/boxbackup/boxbackup/commit/131f38b031cff5af55796f6eb9007174de994ec0
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/common/DebugMemLeakFinder.cpp
Log Message:
-----------
Fix compile warnings about printf format strings in DebugMemLeakFinder
Commit: 659e38955d852fe9f3db245ba3df10ad7d5a6d25
https://github.com/boxbackup/boxbackup/commit/659e38955d852fe9f3db245ba3df10ad7d5a6d25
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 90a5d65796d14926df4ea1b8cf3b5f7e9884116a
https://github.com/boxbackup/boxbackup/commit/90a5d65796d14926df4ea1b8cf3b5f7e9884116a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 8bf00509f11b7eef0ec18fcd10cadc30ce3730d3
https://github.com/boxbackup/boxbackup/commit/8bf00509f11b7eef0ec18fcd10cadc30ce3730d3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 1ac9ea845fa41d45a8125d19be10294730eb6551
https://github.com/boxbackup/boxbackup/commit/1ac9ea845fa41d45a8125d19be10294730eb6551
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 0e35730ad95b802e1b09ead95a1f9f52e89c2350
https://github.com/boxbackup/boxbackup/commit/0e35730ad95b802e1b09ead95a1f9f52e89c2350
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 22724802b4e35b444b2d2482f1c251b4acfd85f9
https://github.com/boxbackup/boxbackup/commit/22724802b4e35b444b2d2482f1c251b4acfd85f9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 19b2f5983714bd28c4bc235a8371aab404cc224e
https://github.com/boxbackup/boxbackup/commit/19b2f5983714bd28c4bc235a8371aab404cc224e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: f1a29fcae73cf0e83340217727c66413d898da1b
https://github.com/boxbackup/boxbackup/commit/f1a29fcae73cf0e83340217727c66413d898da1b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M test/bbackupd/testbbackupd.cpp
Log Message:
-----------
Whitespace fixes
Commit: 05e060566070ba73a854f9cbafee7d509c597d92
https://github.com/boxbackup/boxbackup/commit/05e060566070ba73a854f9cbafee7d509c597d92
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 273b38fca7f2a500c9ed9508117904f22ad473b3
https://github.com/boxbackup/boxbackup/commit/273b38fca7f2a500c9ed9508117904f22ad473b3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M appveyor.yml
Log Message:
-----------
Reorder lines in appveyor.yml to match actual execution order
Commit: d0a3a56152f9cd7370e454ff8a1c6dac915b1be5
https://github.com/boxbackup/boxbackup/commit/d0a3a56152f9cd7370e454ff8a1c6dac915b1be5
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: e88c365f65aa087e2a5b2e9a0c4346fdb0c79db4
https://github.com/boxbackup/boxbackup/commit/e88c365f65aa087e2a5b2e9a0c4346fdb0c79db4
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M appveyor.yml
Log Message:
-----------
Disable DEBUG to reduce CMake build verbosity on AppVeyor
Commit: d12b15d119d54bd91cd23dcfffec9c0af2ad955c
https://github.com/boxbackup/boxbackup/commit/d12b15d119d54bd91cd23dcfffec9c0af2ad955c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 9da58d5f7582e819261b04a3f085bcc3361c0c6a
https://github.com/boxbackup/boxbackup/commit/9da58d5f7582e819261b04a3f085bcc3361c0c6a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: f4bf9ec324c88ff7eb4dac6d43492250fdca1f15
https://github.com/boxbackup/boxbackup/commit/f4bf9ec324c88ff7eb4dac6d43492250fdca1f15
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 2a38d4119677b5ded50748d074536a27b2b708d3
https://github.com/boxbackup/boxbackup/commit/2a38d4119677b5ded50748d074536a27b2b708d3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: f7cff37cfe4b8dd1f1a3c4802c0e6e8d20be823f
https://github.com/boxbackup/boxbackup/commit/f7cff37cfe4b8dd1f1a3c4802c0e6e8d20be823f
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: aa16578a3877af0ec29317cb66564b172aa88119
https://github.com/boxbackup/boxbackup/commit/aa16578a3877af0ec29317cb66564b172aa88119
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: cef28cfca1bcbe20410cbfb7a5b11356d3c2f3e4
https://github.com/boxbackup/boxbackup/commit/cef28cfca1bcbe20410cbfb7a5b11356d3c2f3e4
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Use the correct preprocessor define for release builds
(cherry picked from commit 085149bf1c2c287ee744f2e094a99a77fc89dc60)
Commit: a56aaa3cd840ae0e18b991744a06c3ea229cb1a8
https://github.com/boxbackup/boxbackup/commit/a56aaa3cd840ae0e18b991744a06c3ea229cb1a8
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 62eb5cfdbb60e585e041fb8fbf8c8ce5f64a25ba
https://github.com/boxbackup/boxbackup/commit/62eb5cfdbb60e585e041fb8fbf8c8ce5f64a25ba
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M test/backupstorefix/testbackupstorefix.cpp
Log Message:
-----------
test/backupstorefix: tag bbstoreaccounts check output in tests
(cherry picked from commit c31d7143273f2d5257ec690e894442a8398aaf21)
Commit: 166d1ec6e711176e32cbf01beb00d1425e03da45
https://github.com/boxbackup/boxbackup/commit/166d1ec6e711176e32cbf01beb00d1425e03da45
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 336859cb7f499300d4b6e0b6bcd18e275a1f0043
https://github.com/boxbackup/boxbackup/commit/336859cb7f499300d4b6e0b6bcd18e275a1f0043
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 1cdca12e0025c4551c2cc8a33dcb89a7bc6dc212
https://github.com/boxbackup/boxbackup/commit/1cdca12e0025c4551c2cc8a33dcb89a7bc6dc212
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 38ba7510f2cad9accf445d5633c64e98a637a139
https://github.com/boxbackup/boxbackup/commit/38ba7510f2cad9accf445d5633c64e98a637a139
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 03ba60897794d92b5710808ad694146931da6fb1
https://github.com/boxbackup/boxbackup/commit/03ba60897794d92b5710808ad694146931da6fb1
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: a566e6a5dcc56bbaa8bc3ba7e60b7fcd89928918
https://github.com/boxbackup/boxbackup/commit/a566e6a5dcc56bbaa8bc3ba7e60b7fcd89928918
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: e3bb358cb1ff41ec546db929023f5830db77366e
https://github.com/boxbackup/boxbackup/commit/e3bb358cb1ff41ec546db929023f5830db77366e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 54f07522aa8837cd5673aebe91da7a01fcc1c5d0
https://github.com/boxbackup/boxbackup/commit/54f07522aa8837cd5673aebe91da7a01fcc1c5d0
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: c2572e705c38dbb552c0d69e7851b2c300650cdc
https://github.com/boxbackup/boxbackup/commit/c2572e705c38dbb552c0d69e7851b2c300650cdc
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 28b977048b86d38edbbc14b3887d9e787da0046b
https://github.com/boxbackup/boxbackup/commit/28b977048b86d38edbbc14b3887d9e787da0046b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 21494566d89044da6ac986ac2062ac380e96f1df
https://github.com/boxbackup/boxbackup/commit/21494566d89044da6ac986ac2062ac380e96f1df
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Whitespace and comment cleanup
Commit: de0206641da75d588855474b8a756fb4cada7a00
https://github.com/boxbackup/boxbackup/commit/de0206641da75d588855474b8a756fb4cada7a00
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 8f6076a3bebc419224184695ba41e67fda2e7db5
https://github.com/boxbackup/boxbackup/commit/8f6076a3bebc419224184695ba41e67fda2e7db5
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 858f7c2e7b67d4ee650909ef0dc248bc8b1a4cb7
https://github.com/boxbackup/boxbackup/commit/858f7c2e7b67d4ee650909ef0dc248bc8b1a4cb7
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 42e2b70340a79078369ee26f5b0a43baad7716b2
https://github.com/boxbackup/boxbackup/commit/42e2b70340a79078369ee26f5b0a43baad7716b2
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M test/common/testcommon.cpp
Log Message:
-----------
Fix include ordering in testcommon.cpp
Commit: 79b46b17d66498b5f30e1272948b078558bd0055
https://github.com/boxbackup/boxbackup/commit/79b46b17d66498b5f30e1272948b078558bd0055
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M test/common/testcommon.cpp
Log Message:
-----------
Refactor testcommon to split into independent tests
Remove redundant NamedLock tests.
Commit: 16a037524df72cc7a173ce8d50080c20e0622281
https://github.com/boxbackup/boxbackup/commit/16a037524df72cc7a173ce8d50080c20e0622281
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 2623d879ef2dd594da522f392cc7c618be8c4564
https://github.com/boxbackup/boxbackup/commit/2623d879ef2dd594da522f392cc7c618be8c4564
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 79d89af10a6c54101571730f0e23e522e4d3c85b
https://github.com/boxbackup/boxbackup/commit/79d89af10a6c54101571730f0e23e522e4d3c85b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 07ed9cc557c600b21743cd0ca80bf707c0571cab
https://github.com/boxbackup/boxbackup/commit/07ed9cc557c600b21743cd0ca80bf707c0571cab
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 881f02657014f9cc251d592f3f6ecc077aadd198
https://github.com/boxbackup/boxbackup/commit/881f02657014f9cc251d592f3f6ecc077aadd198
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: e1b82802336870b0dd63e2ca6ec4c8cc322aff7d
https://github.com/boxbackup/boxbackup/commit/e1b82802336870b0dd63e2ca6ec4c8cc322aff7d
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 1d5d5e417c66fb67785a7cdef38550cfe2a5f6b7
https://github.com/boxbackup/boxbackup/commit/1d5d5e417c66fb67785a7cdef38550cfe2a5f6b7
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: b562039f1b048590d6fb924c926149357a58c2b6
https://github.com/boxbackup/boxbackup/commit/b562039f1b048590d6fb924c926149357a58c2b6
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 3b15f85a054a2edbd14cc577cb46be2bfd07f9d4
https://github.com/boxbackup/boxbackup/commit/3b15f85a054a2edbd14cc577cb46be2bfd07f9d4
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 8f5120b18b4d91e4831c85df782a6e52d5210c3d
https://github.com/boxbackup/boxbackup/commit/8f5120b18b4d91e4831c85df782a6e52d5210c3d
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 3b67f039382683ea568bb391ab4cdb5399fa485b
https://github.com/boxbackup/boxbackup/commit/3b67f039382683ea568bb391ab4cdb5399fa485b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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: 9926b622d74eecf000e6e6be1ee25703f768ff81
https://github.com/boxbackup/boxbackup/commit/9926b622d74eecf000e6e6be1ee25703f768ff81
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/common/Test.cpp
M lib/httpserver/HTTPException.txt
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.
Commit: 80540ca33ab05fb1bdf65f56e09b0593c765ef1a
https://github.com/boxbackup/boxbackup/commit/80540ca33ab05fb1bdf65f56e09b0593c765ef1a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/httpserver/S3Simulator.cpp
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Add support for S3-compatible ETag headers to S3Simulator
Commit: 23bdbc6d62a26e27bd6c19c6cee0d012a2f4ce89
https://github.com/boxbackup/boxbackup/commit/23bdbc6d62a26e27bd6c19c6cee0d012a2f4ce89
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/httpserver/S3Client.cpp
M lib/httpserver/S3Client.h
M lib/httpserver/S3Simulator.cpp
M lib/httpserver/S3Simulator.h
M modules.txt
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Add support for If-None-Match header to S3Client and S3Simulator
This allows the client to only download a file if it doesn't match the one in
the local cache, which makes it possible to use the cache very efficiently.
Commit: 662e7cb8b53508d51692844c3b2939dfe0dde237
https://github.com/boxbackup/boxbackup/commit/662e7cb8b53508d51692844c3b2939dfe0dde237
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M test/bbackupd/testbbackupd.cpp
Log Message:
-----------
Rename setup_test_bbackupd() in test/bbackupd
The name of this utility function was confusing with the SETUP_TEST_BBACKUPD
macro which served an entirely different purpose, so I renamed it to
prepare_test_with_client_daemon().
Commit: 1a86a0ec4253a517f8053e5881ecb3904483c5d0
https://github.com/boxbackup/boxbackup/commit/1a86a0ec4253a517f8053e5881ecb3904483c5d0
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/BackupCommands.cpp
M lib/backupstore/BackupStoreContext.cpp
M lib/backupstore/BackupStoreContext.h
Log Message:
-----------
Make GetBlockSize() use BackupFileSystem
Refactor BackupAccountControl, BackupStoreContext and BackupCommands to call
BackupFileSystem to get the block size of the filesystem. It's a start.
Commit: 9dea0edff38efe327dc5305cacfcfc5ea4508d76
https://github.com/boxbackup/boxbackup/commit/9dea0edff38efe327dc5305cacfcfc5ea4508d76
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/StoreTestUtils.h
M lib/server/makeprotocol.pl.in
Log Message:
-----------
Protocol generator: record last error message received
Store this as a string (as well as the error code) so that we can report it to
the user, for example in test failure messages.
Commit: 3dca0831ef2718193d3936d7bc038188b94e9a00
https://github.com/boxbackup/boxbackup/commit/3dca0831ef2718193d3936d7bc038188b94e9a00
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/common/Logging.h
M lib/server/Socket.cpp
Log Message:
-----------
Improve error message on hostname lookup failure
Throw exceptions with a message, including the OS error, which means retrieving
it properly from the winsock library on Windows.
Commit: 03b1973de8d733761fff6709261b29d458af4006
https://github.com/boxbackup/boxbackup/commit/03b1973de8d733761fff6709261b29d458af4006
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 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
(cherry picked from commit 3433291fc5bfbbdc87385796c26c44699edf5c0c)
Commit: 784fe4320f70c125f8d24d02f195e30064e09ab3
https://github.com/boxbackup/boxbackup/commit/784fe4320f70c125f8d24d02f195e30064e09ab3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
M infrastructure/m4/boxbackup_tests.m4
M lib/intercept/intercept.cpp
M lib/intercept/intercept.h
Log Message:
-----------
Fix incorrect detection of the need to intercept lxstat
For some reason, #if defined __GNUC__ && __GNUC__ >= 2 was true on OSX,
resulting in intercepts not working properly. It was also broken on MIPS64,
causing test/raidfile to fail with errors like: TEST FAILURE: Condition
[TestGetFileSize(stripe1fn) == fs1] failed at testraidfile.cpp:415
https://buildd.debian.org/status/fetch.php?pkg=boxbackup&arch=mips64el&ver=0.11.1~r2837-4&stamp=1485060478&raw=0
Now we detect when to intercept Linux' lxstat syscall using autoconf macros.
We also detect whether to intercept stat64 (instead of stat) based on whether
the stat64 function exists.
(cherry picked from commit a042c9951fabc1fb4f57e6d13d739192dda76025)
Fix d2775d5b
Commit: 198a48b7011234ec6dbec93b2a2f49e37582c159
https://github.com/boxbackup/boxbackup/commit/198a48b7011234ec6dbec93b2a2f49e37582c159
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/common/BoxTime.cpp
Log Message:
-----------
Increase precision of timing on Windows.
Should hopefully reduce random failures of timing-dependent tests which
rely on subsecond precision for accuracy.
(cherry picked from commit c845b2e39fffeb560983a301d810616a6495469d)
(cherry picked from commit ce7e000d43a91dcd0d39ee3a505521e700875556)
Commit: e4d488d1a07bf1db32e96a9526d1fd1ea54f0967
https://github.com/boxbackup/boxbackup/commit/e4d488d1a07bf1db32e96a9526d1fd1ea54f0967
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M infrastructure/cmake/windows/CMakeLists.txt
Log Message:
-----------
Switch PCRE back to an official release
Commit: 2d31a3178ba5a39af594c1a0188748f5c8045b18
https://github.com/boxbackup/boxbackup/commit/2d31a3178ba5a39af594c1a0188748f5c8045b18
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M infrastructure/cmake/windows/CMakeLists.txt
Log Message:
-----------
Remove BoxBackup install step from Windows unibuild
We don't need to install anything in C:\Program Files\BoxBackup, and often
don't have permission to do that anyway.
Commit: 95b5d8f14f59cf8a887bccfa78c1d0fda0008aba
https://github.com/boxbackup/boxbackup/commit/95b5d8f14f59cf8a887bccfa78c1d0fda0008aba
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M infrastructure/cmake/windows/CMakeLists.txt
Log Message:
-----------
Upgrade to OpenSSL 1.0.2l
Run OpenSSL tests after building it for Windows Unibuild
Commit: 3ecc0f2211b3e1b12dd6770c3e8d39a4b613c701
https://github.com/boxbackup/boxbackup/commit/3ecc0f2211b3e1b12dd6770c3e8d39a4b613c701
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/raidfile/RaidFileWrite.cpp
Log Message:
-----------
Improve exception messages from RaidFileWrite
Use THROW_SYS_FILE_ERROR to include the system error message in the exception
message. Replace calls to BOX_LOG_SYS_ERROR where previously used.
Commit: 58870818a787cd658fa7b9df90a9a90f5fb6ee45
https://github.com/boxbackup/boxbackup/commit/58870818a787cd658fa7b9df90a9a90f5fb6ee45
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M .travis.yml
Log Message:
-----------
Travis CI: exclude (don't build) tags created by AppVeyor
AppVeyor creates new tags for each release (binary build), which have the same
git commit that we already built, so building it again is a waste.
Commit: 73f70d5c655925c8225cb9f71f8980ec237b87d0
https://github.com/boxbackup/boxbackup/commit/73f70d5c655925c8225cb9f71f8980ec237b87d0
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/httpserver/HTTPResponse.h
M lib/httpserver/S3Client.cpp
Log Message:
-----------
Add ResponseCodeString shortcut to HTTPResponse
Useful for debug logging and exception messages.
Add the actual HTTP response to the exception message in
S3Client::CheckResponse, to help with debugging.
Commit: 3e4ec9293867452f5f07245395aaf0079560a4dd
https://github.com/boxbackup/boxbackup/commit/3e4ec9293867452f5f07245395aaf0079560a4dd
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/httpserver/HTTPRequest.cpp
M lib/httpserver/HTTPRequest.h
M lib/httpserver/S3Simulator.cpp
Log Message:
-----------
Add option to include parameters in HTTPRequest::GetRequestURI
This is needed to support the ListBucket command.
Commit: 0b18b384375bdbf0dca3803b6740eff7516c38ef
https://github.com/boxbackup/boxbackup/commit/0b18b384375bdbf0dca3803b6740eff7516c38ef
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/common/Utils.cpp
Log Message:
-----------
Fix FileExists in Utils.cpp
Testing for st.st_mode & S_IFLNK doesn't work on OSX, because IFLNK and IFREG
share bits, so regular files have a nonzero result and appear to be links. It
seems safer and more readable to use the mode test macros, e.g. S_ISLNK and
S_ISDIR.
Commit: c80dbca83ec9467c449c35fd35ff34fcaaa47aa2
https://github.com/boxbackup/boxbackup/commit/c80dbca83ec9467c449c35fd35ff34fcaaa47aa2
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/httpserver/S3Client.cpp
M lib/httpserver/S3Client.h
M lib/httpserver/S3Simulator.cpp
M lib/httpserver/S3Simulator.h
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Add ListBucket command support to S3Simulator and S3Client
Commit: 2cfaafc3452d237d5b646a717afa1c61cab8113f
https://github.com/boxbackup/boxbackup/commit/2cfaafc3452d237d5b646a717afa1c61cab8113f
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/common/ReadLoggingStream.cpp
Log Message:
-----------
Fix negative estimated remaining time due to 64-bit integer overflow on large files.
(cherry picked from commit b27d4e7c61b04db054399435b5c57df1f9b1832b)
Commit: a3a7dd26ebb04637348dfa9f9ce63dcae6a1938e
https://github.com/boxbackup/boxbackup/commit/a3a7dd26ebb04637348dfa9f9ce63dcae6a1938e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/httpserver/S3Client.cpp
M lib/httpserver/S3Client.h
M lib/httpserver/S3Simulator.cpp
M lib/httpserver/S3Simulator.h
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Add support for the HEAD and DELETE methods to the S3Simulator and S3Client.
Commit: a453085ee87c2221514e4abd3a2838c4a202ae2e
https://github.com/boxbackup/boxbackup/commit/a453085ee87c2221514e4abd3a2838c4a202ae2e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/common/BoxPlatform.h
Log Message:
-----------
Enable memory testing under Darwin, as it does work now
(cherry picked from commit 86dc5ff3666c934dcf4fce261a93431b78bf018f)
Commit: 20c1b2df7b6f9672a1a451bda83e0d3b20fe846a
https://github.com/boxbackup/boxbackup/commit/20c1b2df7b6f9672a1a451bda83e0d3b20fe846a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/HousekeepStoreAccount.cpp
Log Message:
-----------
Rename local variable
First part of refactoring HousekeepStoreAccount to use BackupFileSystem.
Commit: 738d9ba6a2ba04f8ea2e634cf3e21ffa5f890d1f
https://github.com/boxbackup/boxbackup/commit/738d9ba6a2ba04f8ea2e634cf3e21ffa5f890d1f
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreException.txt
M lib/backupstore/BackupStoreRefCountDatabase.cpp
M lib/backupstore/BackupStoreRefCountDatabase.h
Log Message:
-----------
Fix conflict over unlocked refcount DB
If BackupStoreCheck is are read-only, then it should not open a "temporary"
database in the old sense, because that does actually change the store: the
temporary file would conflict with any other process which wants to do the same
thing at the same time (e.g. housekeeping), and if neither process locks the
store, they will break each other.
Instead, we now distinguish between "potential" refcount DBs (of which there
can only be one at a time, and which require a lock to create) and really
"temporary" ones which are created in a temporary directory, can never become
permanent via Commit(), do not require a lock, and are unlimited in number.
Commit() will rename them, but still in the temporary directory, so it has no
effect on the store.
This requires some changes to the BackupStoreRefCountDatabase::Create interface
to add new flags.
Commit: b01f623b8b3bcf0a67727e61eb2632cda55b3e66
https://github.com/boxbackup/boxbackup/commit/b01f623b8b3bcf0a67727e61eb2632cda55b3e66
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupStoreRefCountDatabase.cpp
M lib/backupstore/BackupStoreRefCountDatabase.h
Log Message:
-----------
Refactor BackupStoreRefCountDatabase to an abstract interface
This makes it easier to cleanly subclass in BackupFileSystem, to change its
behaviour by hooking into its Commit() method.
Commit: f4a567582d8de5ed7dcfd6598a602cf9db694bca
https://github.com/boxbackup/boxbackup/commit/f4a567582d8de5ed7dcfd6598a602cf9db694bca
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreException.txt
M lib/backupstore/BackupStoreRefCountDatabase.cpp
M lib/backupstore/BackupStoreRefCountDatabase.h
Log Message:
-----------
Move management of BackupStoreRefCountDatabase into BackupFileSystem
This is needed to allow BackupFileSystem to commit the database to storage on
request, and to cache it, which is needed for S3 support.
Commit: 294f34c4241247e761b423db53e76f95659c4e6e
https://github.com/boxbackup/boxbackup/commit/294f34c4241247e761b423db53e76f95659c4e6e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreAccounts.cpp
M lib/backupstore/BackupStoreAccounts.h
M lib/backupstore/BackupStoreException.txt
M lib/backupstore/BackupStoreInfo.cpp
M lib/backupstore/BackupStoreInfo.h
Log Message:
-----------
Initial refactor of BackupAccountControl to use BackupFileSystem
Abstract away some account operations using BackupFileSystem so that they can
be implemented differently for S3 accounts. In particular, account opening and
NamedLock usage were targets for this refactor. BackupStoreInfo creation and
opening ended up being partially addressed as well. This significantly reduces
the diffs to the s3_support branch.
Commit: 567684c8eaa190ef2468ddb37fb72fa37bee64fb
https://github.com/boxbackup/boxbackup/commit/567684c8eaa190ef2468ddb37fb72fa37bee64fb
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M infrastructure/m4/boxbackup_tests.m4
M lib/backupstore/BackupProtocol.h
M lib/backupstore/BackupStoreFile.h
M lib/backupstore/BackupStoreFileCmbIdx.cpp
M lib/backupstore/BackupStoreFileEncodeStream.h
M lib/common/BufferedStream.h
M lib/common/BufferedWriteStream.h
M lib/common/CollectInBufferStream.h
M lib/common/FileStream.h
M lib/common/MemBlockStream.h
M lib/common/PartialReadStream.h
M lib/common/RateLimitingStream.h
M lib/common/ReadGatherStream.h
M lib/common/ReadLoggingStream.h
M lib/common/SelfFlushingStream.h
M lib/common/ZeroStream.h
M lib/compress/CompressStream.h
M lib/raidfile/RaidFileRead.h
M lib/raidfile/RaidFileWrite.h
M lib/server/ProtocolUncertainStream.h
M lib/server/SocketStream.h
M lib/server/SocketStreamTLS.h
M lib/server/TcpNice.h
M lib/server/WinNamedPipeStream.h
M test/bbackupd/testbbackupd.cpp
M test/compress/testcompress.cpp
Log Message:
-----------
Enable compiler warning -Werror=overloaded-virtual, and fix
Commit: fa88a49b07ff1fa5348f01f9b2aa1b9369ffa5ba
https://github.com/boxbackup/boxbackup/commit/fa88a49b07ff1fa5348f01f9b2aa1b9369ffa5ba
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/HousekeepStoreAccount.cpp
M lib/backupstore/HousekeepStoreAccount.h
M lib/backupstore/StoreTestUtils.cpp
M lib/backupstore/StoreTestUtils.h
M lib/bbstored/BBStoreDHousekeeping.cpp
Log Message:
-----------
Refactor HousekeepStoreAccount to use BackupFileSystem
This involved moving big chunks of functionality into RaidBackupFileSystem, for
example CombineFile, CombineDiffs and RaidPutFileCompleteTransaction. Not much
is implemented for S3BackupFileSystem yet.
Commit: 3f6d408405a133278cb518852f060524a69228d6
https://github.com/boxbackup/boxbackup/commit/3f6d408405a133278cb518852f060524a69228d6
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck.h
M lib/backupstore/BackupStoreCheck2.cpp
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 1
Pass the BackupFileSystem from BackupAccountControl to BackupStoreCheck, and
use it for locking the account (actually a no-op because it's already locked).
Trivial, but it's a start.
Commit: 093c74dcb428cf91a12665efd7e8f8bfcac560b7
https://github.com/boxbackup/boxbackup/commit/093c74dcb428cf91a12665efd7e8f8bfcac560b7
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck.h
M lib/backupstore/BackupStoreCheck2.cpp
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 2
Use BackupFileSystem to access the refcount database.
Commit: 35535e2cbfc51452e1220ca7aa3e5f8ec0395452
https://github.com/boxbackup/boxbackup/commit/35535e2cbfc51452e1220ca7aa3e5f8ec0395452
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupStoreCheck2.cpp
M lib/backupstore/BackupStoreInfo.cpp
M lib/backupstore/BackupStoreInfo.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 3
Use BackupFileSystem to access the per-account BackupStoreInfo.
Commit: f94bc6f6782e384d9193971e2985ddcab0e89368
https://github.com/boxbackup/boxbackup/commit/f94bc6f6782e384d9193971e2985ddcab0e89368
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreCheck.cpp
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 4
Use BackupFileSystem to EnsureObjectIsPermanent.
Commit: 3bb73fb5937c4bee9f769c530d3c950c23123454
https://github.com/boxbackup/boxbackup/commit/3bb73fb5937c4bee9f769c530d3c950c23123454
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck.h
M lib/backupstore/BackupStoreCheck2.cpp
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 5
Use BackupFileSystem to Get and Put Files and Directories.
Commit: 4b84ded76b84810cbae2be967f7b681959f0b783
https://github.com/boxbackup/boxbackup/commit/4b84ded76b84810cbae2be967f7b681959f0b783
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreCheck.cpp
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 6
Use BackupFileSystem to delete corrupt objects.
Commit: 6fecc9420d3d21093e1e91b8f73e371f4967ffc5
https://github.com/boxbackup/boxbackup/commit/6fecc9420d3d21093e1e91b8f73e371f4967ffc5
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck2.cpp
M lib/backupstore/BackupStoreException.txt
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 7
Move most low-level filesystem structure check code into BackupFileSystem, and
add specialised implementation for S3.
Commit: 3f6e5b209711bdf6affa7fd679206ae5fdb5f307
https://github.com/boxbackup/boxbackup/commit/3f6e5b209711bdf6affa7fd679206ae5fdb5f307
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck.h
M lib/backupstore/BackupStoreCheck2.cpp
Log Message:
-----------
Refactor BackupStoreCheck to use BackupFileSystem, part 8
Remove last vestiges of RaidFile from BackupStoreCheck.
Commit: 1ccda544fa5b37fd099a249a8754807163142aed
https://github.com/boxbackup/boxbackup/commit/1ccda544fa5b37fd099a249a8754807163142aed
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupStoreCheck2.cpp
Log Message:
-----------
Rename some local variables in BackupStoreCheck
Commit: 3492170b2b3a7b523abdb9610de7f3260101a174
https://github.com/boxbackup/boxbackup/commit/3492170b2b3a7b523abdb9610de7f3260101a174
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupclient/BackupDaemonConfigVerify.cpp
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreException.txt
M test/s3store/testfiles/bbackupd.conf
Log Message:
-----------
Add configuration for S3 local cache directory
Commit: 1f28ca1666d4fb797de2126ee535a7389fbb2032
https://github.com/boxbackup/boxbackup/commit/1f28ca1666d4fb797de2126ee535a7389fbb2032
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
Log Message:
-----------
Fix repeated calls to TryGetLock() when already holding lock
Commit: 3b6d71b2b7b8d76a4ef8a882c84084d6cc8d050f
https://github.com/boxbackup/boxbackup/commit/3b6d71b2b7b8d76a4ef8a882c84084d6cc8d050f
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Implement RefCountDatabase methods in S3BackupFileSystem
Commit: 4e8932b1129a26b0215902f5900bdc5ea2097aa9
https://github.com/boxbackup/boxbackup/commit/4e8932b1129a26b0215902f5900bdc5ea2097aa9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Fix writeback of refcount databases on BackupFileSystem destruction
Call ReleaseLock in the child destructor (not the parent) to allow the refcount
database to clean itself up (normally involving calling
BackupFileSystem::SaveRefCountDatabase) before the BackupFileSystem is too
destroyed to be able to fulfil the request.
Commit: 5b35b6870f411b5c08ac369979950e99bf42e890
https://github.com/boxbackup/boxbackup/commit/5b35b6870f411b5c08ac369979950e99bf42e890
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/bbstored/BBStoreDHousekeeping.cpp
M lib/bbstored/BackupStoreDaemon.cpp
Log Message:
-----------
Wait for housekeeping to finish before bbstored exits
Should fix random test failures due to housekeeping process realising that the
master has asked it to terminate, and logging that it has, after the master has
already died and the test finished, confusing the test runner with its extra
output. Should also help make the occasionally-reported housekeeping crashes
more obvious and easier to debug.
Commit: 1fab5de958c9f3a71a687ff3114bddfac4b4727e
https://github.com/boxbackup/boxbackup/commit/1fab5de958c9f3a71a687ff3114bddfac4b4727e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Remove useless Get/Put/HeadObject methods from S3BackupFileSystem
These should not have been part of the API, and are not needed since mrClient
has the same methods.
Commit: 9148f9d49c955c2c7ab894539d3d79796387095c
https://github.com/boxbackup/boxbackup/commit/9148f9d49c955c2c7ab894539d3d79796387095c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreInfo.cpp
M lib/backupstore/BackupStoreInfo.h
R test/s3store/testfiles/store/subdir/dirs/create-me.txt
M test/s3store/tests3store.cpp
Log Message:
-----------
Refactor BackupAccountControl to use BackupFileSystem
Commit: a38d948b2909ae980389112180311d395af0eed3
https://github.com/boxbackup/boxbackup/commit/a38d948b2909ae980389112180311d395af0eed3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupStoreFile.cpp
M lib/backupstore/BackupStoreFile.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Refactor BackupStoreFile::VerifyStream from write to read side
This allows us to wrap an existing stream (not necessarily a file, e.g. a
streaming HTTPRequest) in a VerifyStream and pass that stream to a
S3PutFileCompleteTransaction, which isn't just going to CopyStreamTo()
somewhere, but do something more complex to it.
Commit: f86e4d4816a04d32c31f49d019e72ec08b0bf47b
https://github.com/boxbackup/boxbackup/commit/f86e4d4816a04d32c31f49d019e72ec08b0bf47b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/StoreTestUtils.cpp
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Fix a long-standing bug in the set_refcount() test helper function
Previously it would truncate the expected refcount list at the first zero entry,
instead of just removing zero entries from the end.
Also move some test code to test_server_commands which should have been there,
since they were causing issues with the check for the refcount database in
test_server_housekeeping. It's hard to disentangle these two changes.
Commit: 1127faf39d00a027921d3494f69f50d4b87ab33a
https://github.com/boxbackup/boxbackup/commit/1127faf39d00a027921d3494f69f50d4b87ab33a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Add extra refcount checks to test_server_housekeeping
Commit: ef32a2f2f656e838faec99a0a66e1449ea470951
https://github.com/boxbackup/boxbackup/commit/ef32a2f2f656e838faec99a0a66e1449ea470951
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupCommands.cpp
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreContext.cpp
M lib/backupstore/BackupStoreContext.h
M lib/backupstore/BackupStoreDirectory.h
M lib/backupstore/BackupStoreException.txt
M lib/backupstore/StoreTestUtils.cpp
A lib/common/ByteCountingStream.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Refactor BackupStoreContext to use BackupFileSystem
Commit: 2351a425824fc052911c2d1a5b30cb9bba1b40dc
https://github.com/boxbackup/boxbackup/commit/2351a425824fc052911c2d1a5b30cb9bba1b40dc
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Enable and fix warnings in infrastructure/makebuildenv.pl
Commit: 1dd7cb782733f8edf79585d814fc4b12a2317352
https://github.com/boxbackup/boxbackup/commit/1dd7cb782733f8edf79585d814fc4b12a2317352
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Fix Makefile dependency tracking of configured files
This allows protocol files to be regenerated automatically if
makeprotocol.pl.in changes, and similarly exception files and
makeexception.pl.in.
Commit: 3284d9b744298703e7569c234e088b213a3643e1
https://github.com/boxbackup/boxbackup/commit/3284d9b744298703e7569c234e088b213a3643e1
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M bin/bbackupctl/bbackupctl.cpp
M bin/bbackupquery/bbackupquery.cpp
M lib/bbackupd/BackupDaemon.cpp
M lib/bbstored/BBStoreDHousekeeping.cpp
M lib/common/CommonException.txt
M lib/common/FdGetLine.cpp
M lib/common/FdGetLine.h
R lib/common/GetLine.cpp
R lib/common/GetLine.h
M lib/common/IOStream.cpp
M lib/common/IOStreamGetLine.cpp
M lib/common/IOStreamGetLine.h
A lib/common/LineBuffer.cpp
A lib/common/LineBuffer.h
M lib/httpserver/HTTPException.txt
M lib/httpserver/HTTPHeaders.cpp
M lib/httpserver/HTTPRequest.cpp
M lib/httpserver/HTTPResponse.cpp
M lib/httpserver/S3Simulator.cpp
M lib/httpserver/S3Simulator.h
M lib/server/ServerControl.cpp
M lib/server/SocketStream.cpp
A test/backupstore/testfiles/bbackupd.conf
A test/backupstore/testfiles/s3simulator.conf
M test/backupstorefix/testbackupstorefix.cpp
M test/basicserver/testbasicserver.cpp
M test/bbackupd/testbbackupd.cpp
M test/common/testcommon.cpp
Log Message:
-----------
Refactor GetLine
The class name was a problem, because the method that we want to call on it is
also called GetLine, which looks too much like a constructor in C++, so I
renamed it to LineBuffer. I haven't yet renamed the child classes.
Also, it was impossible to distinguish between the different causes of
GetLine() returning false (timeout and signal) and EOF could only be checked by
calling a different function. Now all of these causes throw different
exceptions.
This really fixes the problem with attaching a debugger to a process waiting in
GetLine, which would previously cause the read() to return immediately with
EINTR, which we never retried because it looked like a timeout.
Commit: 79709dbe2b6486ee95d9e12146b5e2b7557c3cf9
https://github.com/boxbackup/boxbackup/commit/79709dbe2b6486ee95d9e12146b5e2b7557c3cf9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/common/DebugMemLeakFinder.cpp
M lib/common/MemLeakFinder.h
Log Message:
-----------
Implement placement operator delete
"If the object is being created as part of a new expression, and an exception
is thrown, the object’s memory is deallocated by calling the appropriate
deallocation function. If the object is being created with a placement new
operator, the corresponding placement delete operator is called—that is, the
delete function that takes the same additional parameters as the placement new
operator. If no matching placement delete is found, no deallocation takes
place."
So to avoid memory leaks, we need to implement placement delete operators that
correspond to our placement new, which we use for leak detection (ironically)
in debug builds.
Commit: 449c59c89963a539ff88ba9a2acb857100fcf287
https://github.com/boxbackup/boxbackup/commit/449c59c89963a539ff88ba9a2acb857100fcf287
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupclient/BackupDaemonConfigVerify.cpp
M lib/backupstore/BackupAccountControl.cpp
M lib/httpserver/S3Client.h
Log Message:
-----------
Enable support for S3 virtual hosts in BackupAccountControl
This enables the S3 bucket name to be included in the virtual hostname, for
example bucketname.s3.amazonaws.com, when connecting to a different hostname
such as localhost. This makes bucket names usable in tests with
BackupAccountControl.
Commit: db7868e79447be73c67bb9ac56672dd6ff206077
https://github.com/boxbackup/boxbackup/commit/db7868e79447be73c67bb9ac56672dd6ff206077
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreException.txt
Log Message:
-----------
Properly implement S3BackupFileSystem::GetPermanentRefCountDatabase
Commit: 572f107571624d87827ff9de4923a531ddff6b35
https://github.com/boxbackup/boxbackup/commit/572f107571624d87827ff9de4923a531ddff6b35
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-24 (Sun, 24 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
Log Message:
-----------
Remove always-false assertion in S3BackupFileSystem::GetDirectory
This was designed to stop untested code from running. Now we are ready to use
this code, with tests soon to come.
Commit: c3884ba1eb9fb1baabcfd591f134451d6b26f8ba
https://github.com/boxbackup/boxbackup/commit/c3884ba1eb9fb1baabcfd591f134451d6b26f8ba
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-25 (Mon, 25 Sep 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.h
M lib/backupstore/StoreTestUtils.cpp
M lib/backupstore/StoreTestUtils.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Add store test helpers for specialised tests
Commit: 4a3d22adc02291c337f9b6130f388a1ec93ab23d
https://github.com/boxbackup/boxbackup/commit/4a3d22adc02291c337f9b6130f388a1ec93ab23d
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-09-25 (Mon, 25 Sep 2017)
Changed paths:
M lib/backupstore/BackupStoreContext.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Make BackupStoreContext::ClearDirectoryCache() public
Needed to clear the cache in backupstore tests specialised for S3.
Compare: https://github.com/boxbackup/boxbackup/compare/b80bee142d9c...4a3d22adc022
More information about the Boxbackup-commit
mailing list