[Box Backup-commit] [boxbackup/boxbackup] 956003: Install executables in test tree after building, n...
GitHub
noreply at github.com
Sun Jul 23 21:29:02 BST 2017
Branch: refs/heads/s3_support_merge
Home: https://github.com/boxbackup/boxbackup
Commit: 95600393a0f76d4256456eeb0152d665a3716bf7
https://github.com/boxbackup/boxbackup/commit/95600393a0f76d4256456eeb0152d665a3716bf7
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/buildenv-testmain-template.cpp
M infrastructure/cmake/CMakeLists.txt
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Install executables in test tree after building, not during "make install"
Commit: 1fad457ade918e0d277f3b0cc4e4d78a1dc756ad
https://github.com/boxbackup/boxbackup/commit/1fad457ade918e0d277f3b0cc4e4d78a1dc756ad
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/BoxPlatform.pm.in
Log Message:
-----------
Fix build on SmartOS by switching back to GNU Make
I have no idea where I got the idea that there was a "bmake" command on SmartOS
that is BSD make, or why that would be better than gmake (GNU make). I can't
find any reference to the existence of such a thing. So I've just switched back
to using gmake unconditionally.
Commit: 8f1d2ef2fd5b25f5e05b48d145b59e38334c57ce
https://github.com/boxbackup/boxbackup/commit/8f1d2ef2fd5b25f5e05b48d145b59e38334c57ce
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/intercept/intercept.cpp
Log Message:
-----------
Hopefully fix test/raidfile on Solaris.
64-bit Solaris has _FILE_OFFSET_BITS defined (to 64), which was wrongly causing
the substitute lseek in lib/intercept to enter the 32-bit branch.
Commit: 692eae711d5061160896335cd59feab223ed5909
https://github.com/boxbackup/boxbackup/commit/692eae711d5061160896335cd59feab223ed5909
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/bbackupd/BackupClientDirectoryRecord.cpp
M lib/win32/emu.cpp
M lib/win32/emu.h
Log Message:
-----------
Fix emulated readdir() d_type to return DT_FILE or DT_DIR like Unix does
We used to abuse dirent.d_type to store Windows attributes, but we can now just
add a new attribute to store these (win_attrs), so I have.
Commit: 88bcc2fe306f4896ef63c56bada86890bc3cd5b9
https://github.com/boxbackup/boxbackup/commit/88bcc2fe306f4896ef63c56bada86890bc3cd5b9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/bbackupd/testbbackupd.cpp
Log Message:
-----------
Relax timings on test_changing_client_store_marker_pauses_daemon
Also increase test verbosity to help debug the test if it fails again.
Commit: 848dacf846038a6cdf1152e3d0a20eec9ca63715
https://github.com/boxbackup/boxbackup/commit/848dacf846038a6cdf1152e3d0a20eec9ca63715
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
A infrastructure/m4/ax_check_compile_flag.m4
M infrastructure/m4/boxbackup_tests.m4
M lib/backupstore/BackupAccountControl.h
A lib/backupstore/BackupFileSystem.h
M lib/backupstore/BackupStoreContext.h
M lib/server/makeprotocol.pl.in
Log Message:
-----------
Enable compiler error on classes with non-virtual destructors.
I found a serious problem where subclasses didn't clean up their resources
properly when destroyed, if they inherited from a parent class with a
non-virtual destructor. This caused BackupFileSystem's NamedLock not to be
released. This commit:
* fixes the error where it occurred;
* enables static checks for this error when compiled with GCC;
* promotes the resulting warnings to errors, to ensure that this problem
cannot reoccur.
Commit: 2c952ad84765d1c2ad63920e5732b1b0327a5475
https://github.com/boxbackup/boxbackup/commit/2c952ad84765d1c2ad63920e5732b1b0327a5475
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M bin/bbackupquery/bbackupquery.cpp
M lib/common/Box.h
R lib/common/DebugPrintf.cpp
M lib/server/Daemon.cpp
M lib/server/ServerStream.h
Log Message:
-----------
Remove unused code: BoxDebugTrace() and BoxDebug_printf()
Commit: 0458cd301313c23d0b65571ac27843452fefbb84
https://github.com/boxbackup/boxbackup/commit/0458cd301313c23d0b65571ac27843452fefbb84
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/buildenv-testmain-template.cpp
M lib/common/Test.cpp
M lib/common/Test.h
Log Message:
-----------
Create a job object during Windows tests to kill abandoned daemons
Should prevent some cases of tests hanging on AppVeyor due to child
process daemons that were started and not stopped.
Delete files between tests using much more similar code (and the same
list) on Windows and Linux, to reduce risk of divergence causing tests
to pass on one and fail on the other.
Commit: 5da656cc09bbb80878f53111465673a91c0a9585
https://github.com/boxbackup/boxbackup/commit/5da656cc09bbb80878f53111465673a91c0a9585
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/win32/emu.cpp
M lib/win32/emu.h
M test/common/testcommon.cpp
Log Message:
-----------
Add a platform-independent implementation of box_strtoui64
Replaces strtoull(), which doesn't exist on older Windows compilers (MSVC <
12), and in any case doesn't necessarily return a uint64_t, so this is a better
interface.
Commit: 7e7ba9bfcfc53aec706089eb2fab8f9ace564b0c
https://github.com/boxbackup/boxbackup/commit/7e7ba9bfcfc53aec706089eb2fab8f9ace564b0c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupAccountControl.h
A lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupStoreException.txt
M lib/backupstore/BackupStoreInfo.h
Log Message:
-----------
Move S3BackupFileSystem class into its own file.
Create BackupFileSystem, an abstract interface for reading and writing
files and directories, abstracting over RaidFile, S3, FTP etc. as a parent
class for S3BackupFileSystem.
Commit: 83d68a4ae47726631124fc2fd658d84a21420b9b
https://github.com/boxbackup/boxbackup/commit/83d68a4ae47726631124fc2fd658d84a21420b9b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/BoxException.h
M lib/common/CollectInBufferStream.h
M lib/common/makeexception.pl.in
M lib/httpserver/HTTPException.txt
M lib/httpserver/HTTPServer.cpp
M lib/httpserver/S3Client.cpp
M lib/httpserver/S3Simulator.cpp
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Improve exception handling in S3Simulator, S3Client and HTTPServer.
Centralise error response generation in S3Simulator, driven by throwing and
catching exceptions.
Improve error messages returned by HTTPServer.
Improve exception messages thrown by S3Client.
Add a method to BoxException to quickly check what type of exception it is,
and a macro to make this even shorter.
Show the exception type as well as subtype in GetMessage().
Commit: 2ef4e5e4d1ea04d35a59e35cbf421c0aa4293164
https://github.com/boxbackup/boxbackup/commit/2ef4e5e4d1ea04d35a59e35cbf421c0aa4293164
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/travis-build.sh
Log Message:
-----------
Travis build script: add extra debugging.
This script can be useful as a shortcut for command-line builds, but not if you
forget to set TEST_TARGET, so now it errors if you do.
Commit: bcaffc0804a4b47995345f1ce166ac42440537ba
https://github.com/boxbackup/boxbackup/commit/bcaffc0804a4b47995345f1ce166ac42440537ba
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupStoreFile.cpp
M lib/backupstore/BackupStoreFile.h
M lib/server/TcpNice.cpp
M lib/server/TcpNice.h
Log Message:
-----------
Fix overloaded virtual function warnings.
Revealed by enabling the -Woverloaded-virtual compiler option.
Commit: 897f42910be92b3d23f90dfefbce19ae5ce96c25
https://github.com/boxbackup/boxbackup/commit/897f42910be92b3d23f90dfefbce19ae5ce96c25
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Test.h
M test/s3store/tests3store.cpp
Log Message:
-----------
Refactor test/s3store to make check_new_account_info() reusable.
(cherry picked from commit 2f597e11ccf56129319851f767581de1055da53e)
Commit: e0c3560e3a8065ea4e9b6497bc3850a84bd9033a
https://github.com/boxbackup/boxbackup/commit/e0c3560e3a8065ea4e9b6497bc3850a84bd9033a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M bin/bbackupquery/bbackupquery.cpp
M bin/bbstoreaccounts/bbstoreaccounts.cpp
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupStoreAccounts.cpp
M lib/backupstore/BackupStoreCheck.h
M lib/backupstore/BackupStoreRefCountDatabase.cpp
M lib/backupstore/BackupStoreRefCountDatabase.h
M lib/backupstore/HousekeepStoreAccount.h
M lib/bbackupd/BackupClientContext.cpp
M lib/bbstored/BBStoreDHousekeeping.cpp
M lib/common/Configuration.cpp
M lib/common/Configuration.h
M lib/common/IOStream.cpp
M lib/common/NamedLock.h
M lib/common/ReadLoggingStream.cpp
M lib/common/Utils.cpp
M lib/common/ZeroStream.h
M lib/httpserver/HTTPRequest.cpp
Log Message:
-----------
Whitespace cleanup
(cherry picked from commit 88f7f4ef025a32680d0545571e0e5bdf9e0d5c3c)
Commit: 16f2d6ba5802f13f21056109158123811131f050
https://github.com/boxbackup/boxbackup/commit/16f2d6ba5802f13f21056109158123811131f050
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/server/Daemon.cpp
Log Message:
-----------
Fix warning about snprintf() being deprecated on Windows.
(cherry picked from commit eeb2a127fe1410a871f3943651fa363edff943d0)
Commit: 0b9713c00fbadece031ec97ac9bae156a212ab6e
https://github.com/boxbackup/boxbackup/commit/0b9713c00fbadece031ec97ac9bae156a212ab6e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Test.cpp
A lib/httpserver/HTTPHeaders.cpp
A lib/httpserver/HTTPHeaders.h
M lib/httpserver/HTTPQueryDecoder.cpp
M lib/httpserver/HTTPQueryDecoder.h
M lib/httpserver/HTTPRequest.cpp
M lib/httpserver/HTTPRequest.h
M lib/httpserver/HTTPResponse.cpp
M lib/httpserver/HTTPResponse.h
M lib/httpserver/S3Client.cpp
M lib/httpserver/S3Simulator.cpp
A test/httpserver/testfiles/dsfdsfs98.fd
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Refactor common HTTP header handling
Move the common code out of HTTPRequest and HTTPResponse into the new
HTTPHeaders class, a container for headers with some sensible HTTP-specific
behaviour.
(cherry picked from commit 546c0d068934e8fc5ba53f32bdf61b3a6841c65b)
Commit: b6ded1a882ff443603bce95f11ef5599faafc6cd
https://github.com/boxbackup/boxbackup/commit/b6ded1a882ff443603bce95f11ef5599faafc6cd
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/GetLine.cpp
M test/basicserver/testbasicserver.cpp
Log Message:
-----------
Fix incorrect timeout calculation in GetLine
Attaching a debugger to a process waiting in GetLine would previously cause the
read() to return immediately with EINTR, which we never retried. Now it retries
until the original timeout has expired.
(cherry picked from commit e997d092ad75aac98b5814c1b24d3ac0f8ae8e4a)
Commit: 64f1adbffbc13f5f03be5177213162ef5febe8ae
https://github.com/boxbackup/boxbackup/commit/64f1adbffbc13f5f03be5177213162ef5febe8ae
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Test.cpp
A lib/httpserver/HTTPTest.cpp
A lib/httpserver/HTTPTest.h
A test/httpserver/testfiles/puppy.jpg
M test/httpserver/testfiles/s3simulator.conf
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Add tests for S3Simulator and S3Client
Commit: af8bc40134b73ddbf6e9d1fb4c38e1fdf40fbeec
https://github.com/boxbackup/boxbackup/commit/af8bc40134b73ddbf6e9d1fb4c38e1fdf40fbeec
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/crypto/MD5Digest.h
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Add MD5DigestStream and test
(cherry picked from commit 3f0538bf1a2115c399f09a1735e7e9f3b426737e)
Commit: 5d2a3953a4c4afe69887d8c74fcd27dfe899c9ab
https://github.com/boxbackup/boxbackup/commit/5d2a3953a4c4afe69887d8c74fcd27dfe899c9ab
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/httpserver/S3Simulator.cpp
M test/httpserver/testhttpserver.cpp
Log Message:
-----------
Refactor S3Simulator to better support merge of SimpleDB support
(cherry picked from commit 35b581b3ac54769f5b343c995435a7c7b15041e7)
Commit: 39e65a2b2c17dd6481f730d3f53dedd940c3a2b6
https://github.com/boxbackup/boxbackup/commit/39e65a2b2c17dd6481f730d3f53dedd940c3a2b6
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
R lib/backupclient/BackupStoreObjectDump.cpp
A lib/backupstore/BackupStoreObjectDump.cpp
Log Message:
-----------
Move BackupStoreObjectDump.cpp to lib/backupstore
It doesn't depend on anything in lib/backupclient, so there's no need for it to
be there.
(cherry picked from commit 85fda42a5164cc574b9a9b0335d0cb14bbb802b0)
Commit: 262e68677f710528220bfd339e304964bd0394bc
https://github.com/boxbackup/boxbackup/commit/262e68677f710528220bfd339e304964bd0394bc
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/bbackupd/testbbackupd.cpp
Log Message:
-----------
Remove unused intercept code from testbbackupd.
(cherry picked from commit 56631b8da4f8f22f291323d640560aca43f32b29)
Commit: e9c2104786654d7bef8917f73a8890df9eb269c8
https://github.com/boxbackup/boxbackup/commit/e9c2104786654d7bef8917f73a8890df9eb269c8
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupStoreContext.cpp
M lib/common/CommonException.txt
M lib/common/IOStream.cpp
M lib/common/IOStream.h
M lib/server/Protocol.cpp
Log Message:
-----------
Make IOStream::CopyStreamTo honour timeout
Throw an exception on network timeout. This is safer than returning false,
which isn't checked in many places, and allows us to return the number of bytes
copied instead.
(cherry picked from commit e38d3d771ebb303e75e635e618f4d1e41370aa23)
Commit: 2b00c535d406cf142bbdd26cb06948de6d592f39
https://github.com/boxbackup/boxbackup/commit/2b00c535d406cf142bbdd26cb06948de6d592f39
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/CollectInBufferStream.cpp
Log Message:
-----------
Add an assertion to CollectInBufferStream
Ensure that we don't try to write a negative number of bytes.
(cherry picked from commit 755242a46275384592281878ad6cce8dc7883be7)
Commit: 6ac2e9713f087b3f3ff582786b1d2037cf901683
https://github.com/boxbackup/boxbackup/commit/6ac2e9713f087b3f3ff582786b1d2037cf901683
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/httpserver/S3Client.cpp
Log Message:
-----------
Remove unwanted prototype for HeadObject()
(cherry picked from commit 71d3d970b00ee85408e8ea5166fe46fdbac82ce1)
Commit: 4f5bf9a9b8e84528973cb7a43a8f003660a1cc64
https://github.com/boxbackup/boxbackup/commit/4f5bf9a9b8e84528973cb7a43a8f003660a1cc64
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/httpserver/HTTPResponse.cpp
M lib/httpserver/HTTPResponse.h
M lib/httpserver/HTTPServer.cpp
M lib/httpserver/HTTPServer.h
Log Message:
-----------
Allow control of network timeout in HTTPResponse::Send()
(cherry picked from commit aabb13634e2ef79eb2843f8ab2f0cbd7be267c38)
Commit: 86e3e31643d5e034a786481b4ab459b6489b0065
https://github.com/boxbackup/boxbackup/commit/86e3e31643d5e034a786481b4ab459b6489b0065
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/httpserver/S3Client.cpp
Log Message:
-----------
Log every request made using S3Client (for now)
(cherry picked from commit 699a70598942c1422f568843176542b9b302c1dd)
Commit: 7c4f670f5043cd174d1cf620266ba42142c0778d
https://github.com/boxbackup/boxbackup/commit/7c4f670f5043cd174d1cf620266ba42142c0778d
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/httpserver/S3Client.cpp
Log Message:
-----------
Add initial (non-functioning) keepalive support in S3Client
(cherry picked from commit 3c62a5be57e0a7b7100b44c41cc8c69c20c92fa9)
Commit: 52b44eebdae8c274520a4125bb39832b23cc562b
https://github.com/boxbackup/boxbackup/commit/52b44eebdae8c274520a4125bb39832b23cc562b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
M test/s3store/tests3store.cpp
Log Message:
-----------
Fix confusion about URIs and paths in S3 filesystem
* Make it clear (with parameter names and comments) which functions take paths
(relative to the configured base path), which functions take URIs (complete
paths) and which functions take URLs (hostname, port and URI).
* Put all objects (files and directories) in the same "directory" tree on S3,
so that we can list them all together and easily identify the type of each
object (from its extension). Previously they were separated into "directories"
(delimited prefixes) called "files" and "dirs" (unlike BackupStore
filesystems).
* Reinstate hierarchical "directories" on S3, similar to BackupStore
filesystems, since the reasons for doing this in RaidFile may well apply to S3
and other compatible stores too. However the objects are still named with
their complete object ID (unlike RaidFile) and a .file or .dir extension.
(cherry picked from commit 3dd21a3028cacea2ecf6ee3de2f32db3c5138589)
Commit: 0fb4a9ea457e3bf0ac789a466249e2f36ec7a0aa
https://github.com/boxbackup/boxbackup/commit/0fb4a9ea457e3bf0ac789a466249e2f36ec7a0aa
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Fix quoting of CXXFLAGS and LDFLAGS in Makefiles
Previously, it was impossible to include an @ sign in these flags (for example,
to link to support --with-ssl-headers=/usr/local/opt/openssl at 1.1/include/)
because it was interpreted as a list variable name by Perl. Now the variables
are evaluated single-quoted before being substituted into the Makefile output.
Commit: ce112ceb6931bccf8e2266c1c24261394aa98a10
https://github.com/boxbackup/boxbackup/commit/ce112ceb6931bccf8e2266c1c24261394aa98a10
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/crypto/Random.cpp
Log Message:
-----------
Replace RAND_pseudo_bytes with RAND_bytes
RAND_pseudo_bytes is less secure and is now deprecated.
Commit: d3a6834ffd424d8c63c5fd479dd15f7bf2aba7f9
https://github.com/boxbackup/boxbackup/commit/d3a6834ffd424d8c63c5fd479dd15f7bf2aba7f9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/BackupStoreAccounts.cpp
M lib/backupstore/BackupStoreAccounts.h
Log Message:
-----------
Move BackupStoreAccountControl code to BackupAccountControl file
(cherry picked from commit 2891416b675cdc346713a26c6e357fba302bbc89)
Commit: 9ec6ba8b2be7dfe5d02f9ff12399e0d4fefd2d98
https://github.com/boxbackup/boxbackup/commit/9ec6ba8b2be7dfe5d02f9ff12399e0d4fefd2d98
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M .travis.yml
M infrastructure/cmake/CMakeLists.txt
A infrastructure/m4/ax_boost_base.m4
M infrastructure/m4/boxbackup_tests.m4
Log Message:
-----------
Add Boost, needed for XML support in S3Simulator and S3Client
Boost will be needed on all platforms for S3 support at least. It's currently
mandatory, but could be made optional if necessary. XML support of some kind is
required both for S3's ListBucket command (which returns XML) and for SimpleDB
support in the S3Simulator, since the SimpleDB API uses XML.
I considered alternative XML libraries to Boost:
* https://stackoverflow.com/questions/170686/what-is-the-best-open-xml-parser-for-c
* https://stackoverflow.com/questions/9387610/what-xml-parser-should-i-use-in-c
The most commonly used one (libxml2) is huge, ugly, slow and hard to use, and
we don't need any of the extra features. TinyXML would meet our needs, but
Boost is more likely to be available on more platforms, is well respected, and
brings other (unrelated) features that we might want to use in future.
(cherry picked from commit 1a9deec05151281e840b7df5a1244453c0111042)
Commit: 93242003b6008f928a115109e174e56f1c0e2213
https://github.com/boxbackup/boxbackup/commit/93242003b6008f928a115109e174e56f1c0e2213
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/httpserver/cdecode.cpp
Log Message:
-----------
Declare Base64 decoding array as signed char
Need to use "signed char" explicitly to work around char being unsigned by
default on ARM, causing compile errors:
https://stackoverflow.com/a/31635045/648162
Commit: ab43e242f1c3a9a35e5b9a875cd80c9f38527524
https://github.com/boxbackup/boxbackup/commit/ab43e242f1c3a9a35e5b9a875cd80c9f38527524
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/m4/boxbackup_tests.m4
Log Message:
-----------
Make narrowing conversions an error
E.g. on ARM64 with unsigned chars, this is a real error, and causes the build
to fail:
https://buildd.debian.org/status/fetch.php?pkg=boxbackup&arch=arm64&ver=0.11.1~r2837-4&stamp=1485057548&raw=0
Commit: 4dfd21f52a9d32fb728aa1e4ac8ff7ea89259c5e
https://github.com/boxbackup/boxbackup/commit/4dfd21f52a9d32fb728aa1e4ac8ff7ea89259c5e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/raidfile/RaidFileRead.cpp
M lib/raidfile/RaidFileRead.h
Log Message:
-----------
Use a named enum type for DirReadType (RaidFileRead::ReadDirectoryContents)
Allows checking for valid values at compile time, and allows the debugger to
show the symbolic constant instead of just its numeric value.
Commit: 026c371434785130a2e99df6117ffb5cb1d0dcb7
https://github.com/boxbackup/boxbackup/commit/026c371434785130a2e99df6117ffb5cb1d0dcb7
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/httpserver/S3Client.h
Log Message:
-----------
Add comments to explain the three S3Client constructors
Commit: c841133359acd52333a64b29fe50bd3926a3b3ab
https://github.com/boxbackup/boxbackup/commit/c841133359acd52333a64b29fe50bd3926a3b3ab
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
M lib/common/BoxPlatform.h
M lib/intercept/intercept.h
M test/raidfile/testraidfile.cpp
Log Message:
-----------
Enable and fix raidfile intercepts on Mac OSX
Commit: c86a6e95c7ae6833876e2daa10990a20d3d18c7a
https://github.com/boxbackup/boxbackup/commit/c86a6e95c7ae6833876e2daa10990a20d3d18c7a
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/m4/ax_check_dirent_d_type.m4
Log Message:
-----------
Fix check for a working struct dirent.d_type
Which I broke in 2007 and never noticed was broken until now. Oops!
Commit: 043ecd675b0239290be70cde7075d0b89737ae3b
https://github.com/boxbackup/boxbackup/commit/043ecd675b0239290be70cde7075d0b89737ae3b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/buildenv-testmain-template.cpp
Log Message:
-----------
Fix exit status from tests: could previously return 0 even after failures
Commit: 54fdca936834b99d363a0eed9468af7acee9d72f
https://github.com/boxbackup/boxbackup/commit/54fdca936834b99d363a0eed9468af7acee9d72f
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/bbackupd/testbbackupd.cpp
Log Message:
-----------
Allow 1 extra second in test_store_error_reporting
Hopefully this will solve the random test failures on Travis.
Commit: 54a1d8a0cb5da6cea2b4005fa4e33e0edc560cdc
https://github.com/boxbackup/boxbackup/commit/54a1d8a0cb5da6cea2b4005fa4e33e0edc560cdc
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupAccountControl.h
Log Message:
-----------
Fix delete of incomplete type in BackupAccountControl.h
This has been flagged up by MSVC for some time. I've been unable to make GCC or
Clang do so.
Commit: 28c48b65a8b6a8e5f6f946fa393147e88af19f9b
https://github.com/boxbackup/boxbackup/commit/28c48b65a8b6a8e5f6f946fa393147e88af19f9b
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Test.cpp
Log Message:
-----------
Log time taken by each test case in a test suite.
Should help diagnose why test/backupstore sometimes takes >500 seconds on
Travis, when it normally takes ~120 seconds.
Commit: efea1d0bf87b811c7c76612322e8150139512b77
https://github.com/boxbackup/boxbackup/commit/efea1d0bf87b811c7c76612322e8150139512b77
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
Log Message:
-----------
Add support for RelWithDebInfo builds using CMake
Debugging release tests is pretty difficult without debug info. This
release-compatible build makes it easier.
Commit: c5e9e1180186e91d22f798ad5610f733545d2907
https://github.com/boxbackup/boxbackup/commit/c5e9e1180186e91d22f798ad5610f733545d2907
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
Log Message:
-----------
CMake: make readline support configurable, not automatic
Otherwise if it's detected on the system (e.g. if you install GnuWin)
then it would always be enabled, but linking against GnuWin headers
breaks the build.
Commit: 04a7a8e440fad476bf34315d622c818a7f7830e9
https://github.com/boxbackup/boxbackup/commit/04a7a8e440fad476bf34315d622c818a7f7830e9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupclient/BackupClientRestore.cpp
M lib/backupstore/BackupClientFileAttributes.cpp
M lib/backupstore/BackupStoreFile.cpp
M lib/backupstore/BackupStoreRefCountDatabase.cpp
M lib/bbackupd/BackupDaemon.cpp
M lib/bbackupquery/BackupQueries.cpp
M lib/common/InvisibleTempFileStream.cpp
M lib/common/NamedLock.cpp
M lib/common/Test.cpp
M lib/raidfile/RaidFileWrite.cpp
M lib/server/Daemon.cpp
M lib/server/ServerControl.cpp
M lib/server/ServerStream.h
M lib/win32/emu.h
M test/backupstore/testbackupstore.cpp
M test/backupstorefix/testbackupstorefix.cpp
M test/backupstorepatch/testbackupstorepatch.cpp
M test/basicserver/testbasicserver.cpp
M test/bbackupd/testbbackupd.cpp
M test/httpserver/testhttpserver.cpp
M test/raidfile/testraidfile.cpp
Log Message:
-----------
Remove link and unlink macros on Windows.
They provided source-code compatibility with the POSIX versions of these
functions, but they conflict with Boost. Replace with EMU_LINK and
EMU_UNLINK everywhere.
Commit: 58798dad71a3ce4f1c1a7733615dbd790b0afd82
https://github.com/boxbackup/boxbackup/commit/58798dad71a3ce4f1c1a7733615dbd790b0afd82
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/WaitForEvent.cpp
M lib/common/WaitForEvent.h
M lib/server/SocketListen.h
M lib/server/SocketStream.cpp
M lib/win32/emu.cpp
M lib/win32/emu.h
M lib/win32/emu_winver.h
Log Message:
-----------
Win32 build: upgrade to _WIN32_WINNT 0x600 (WinXP and above)
This should enable us to use Windows dbghelp functions to get stack
traces on exceptions, including demangled names.
This required replacing our custom "struct pollfd" with
EMU_STRUCT_POLLFD everywhere, to fix the conflict with newer versions of
winsock2.h.
Commit: ada5e6615d314a1d9e4fc1ed379e09a5a82c4771
https://github.com/boxbackup/boxbackup/commit/ada5e6615d314a1d9e4fc1ed379e09a5a82c4771
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M bin/bbackupquery/bbackupquery.cpp
M infrastructure/buildenv-testmain-template.cpp
A lib/common/MainHelper.cpp
M lib/common/MainHelper.h
M lib/server/Daemon.cpp
Log Message:
-----------
Refactor winsock initialisation on Windows
Automatically initialise winsock in all binaries. Should fix issues with
bbstoreaccounts not working on Windows.
Commit: c3198ea0abd48d61dee2b6b7a8d29e42aa2e25b8
https://github.com/boxbackup/boxbackup/commit/c3198ea0abd48d61dee2b6b7a8d29e42aa2e25b8
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/DebugMemLeakFinder.cpp
Log Message:
-----------
Fix compile warnings about printf format strings in DebugMemLeakFinder
Commit: c9b6c3e9e46136609df16872da05e7fe289e5811
https://github.com/boxbackup/boxbackup/commit/c9b6c3e9e46136609df16872da05e7fe289e5811
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/common/testcommon.cpp
Log Message:
-----------
Reduce precision of common timer test
Ideally timers would be perfectly accurate and we could sleep for 1.0 seconds,
but on OSX in particular they could fire 50-100 ms late (I've seen 4 ms in
practice) and we don't want the tests to fail because of this, because we don't
really need that kind of precision in practice. So we reduce the timer
intervals by 100ms to be safe.
(cherry picked from commit 8d02eebce553ed822e0fcd60d6e319384e15ba4b)
Commit: c82978e938a0942043b79087e5febfb8cddb9471
https://github.com/boxbackup/boxbackup/commit/c82978e938a0942043b79087e5febfb8cddb9471
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Logging.h
M test/common/testcommon.cpp
Log Message:
-----------
Increase logging level and add timestamps in testcommon
Should help to debug frequent test failures such as Condition
[t2.HasExpired()] on OSX hosts on Travis.
(cherry picked from commit 61a8e7514e01bc05ea3ea77d110c16bff37a50f4)
Commit: b0149c25217dbf6600dcf5952c0b33421b020a7c
https://github.com/boxbackup/boxbackup/commit/b0149c25217dbf6600dcf5952c0b33421b020a7c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M .gitattributes
Log Message:
-----------
Stop Git from normalising line endings
Although recommended, "text" mode causes constant and unfixable conficts
that I give up fighting with.
(cherry picked from commit 25e445a6848a870aabd89a3b8a013265aa3cf17b)
Commit: 2ecb332d69c80df86805287ed1908db1577e5534
https://github.com/boxbackup/boxbackup/commit/2ecb332d69c80df86805287ed1908db1577e5534
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M appveyor.yml
M infrastructure/cmake/CMakeLists.txt
M infrastructure/cmake/getversion.pl
Log Message:
-----------
Build Win32/64 binary packages automatically
Every AppVeyor build on the specified branches that passes will be packaged
into a ZIP file and installer using CPack and uploaded to GitHub Releases.
Generate version number entirely in AppVeyor config, and build it into the
binary, and use it in the names of the created binary packages, and compile it
into the binaries.
Commit: cd1cd87e1f990505210545f06e8db624c59aaec4
https://github.com/boxbackup/boxbackup/commit/cd1cd87e1f990505210545f06e8db624c59aaec4
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M bin/bbackupquery/bbackupquery.cpp
M infrastructure/BoxPlatform.pm.in
M lib/bbackupd/BackupDaemon.cpp
M lib/bbstored/BackupStoreDaemon.cpp
M lib/common/BannerText.h
Log Message:
-----------
Update banner text, and shorten compiled-in Git version numbers
Shorten compiled-in version numbers based on Git revisions. Git revisions are
often quoted as 7 hexadecimal digits, so let's do that here too.
Add sanity to banner texts of command-line utilities.
(cherry picked from commit 9afc3ca99d9cddd6f9a01fd5c0baa63ee16a449a)
(cherry picked from commit c10913a35c155fb1efbc2c32ba0db45c580c4fad)
(cherry picked from commit 0ce96b4c356b9f94b46e0c2842fdc81704c77f76)
Commit: e8fa6aaadcb60fc8a31f3351c7637fcb4a1f9e20
https://github.com/boxbackup/boxbackup/commit/e8fa6aaadcb60fc8a31f3351c7637fcb4a1f9e20
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M bin/bbstoreaccounts/bbstoreaccounts.cpp
Log Message:
-----------
bbstoreaccounts: add support for standard command-line logging options
Tidy up usage text, and fix erroneous memory leak reported after calling
PrintUsageAndExit().
(cherry picked from commit 1a209b5c3c9cdd0ed3a92d2c884706a580b13844)
Commit: 57b5907deb9707c8b1ddada1c16bb586b15f2d8e
https://github.com/boxbackup/boxbackup/commit/57b5907deb9707c8b1ddada1c16bb586b15f2d8e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
Log Message:
-----------
Make generated files depend on their generators under CMake
If makeprotocol.pl.in or makeexception.pl changes, then we should rebuild
the source files that are built by them (and therefore anything that depends
on those source files, etc).
(cherry picked from commit f9818932b31120f139500cc524563fe8483b072d)
(cherry picked from commit 53d1a6c05ed4c39cb2eef34efb52a544ec4e02a1)
Commit: 5d2826690d52c7f7dcaf4cded7f9fa262da20594
https://github.com/boxbackup/boxbackup/commit/5d2826690d52c7f7dcaf4cded7f9fa262da20594
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/bbackupd/testbbackupd.cpp
Log Message:
-----------
Whitespace fixes
Commit: e82f2fa58e178d44df3fe83cdbbd25b762313d7c
https://github.com/boxbackup/boxbackup/commit/e82f2fa58e178d44df3fe83cdbbd25b762313d7c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M appveyor.yml
Log Message:
-----------
Remove Xamarin to remove 500 lines of junk from build logs
See
http://help.appveyor.com/discussions/problems/4569-the-target-_convertpdbfiles-listed-in-a-beforetargets-attribute-at-c-does-not-exist-in-the-project-and-will-be-ignored for details.
Commit: b52e899b50f518cba65df579172216b85ae287a3
https://github.com/boxbackup/boxbackup/commit/b52e899b50f518cba65df579172216b85ae287a3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M appveyor.yml
Log Message:
-----------
Reorder lines in appveyor.yml to match actual execution order
Commit: cd656b06b36ac7744734ea5189c5ae63a834afc0
https://github.com/boxbackup/boxbackup/commit/cd656b06b36ac7744734ea5189c5ae63a834afc0
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M appveyor.yml
M infrastructure/cmake/windows/CMakeLists.txt
Log Message:
-----------
Reduce AppVeyor build verbosity by passing extra args to sub-CMake
Commit: a61df55e8eba9e7050826d0feedf285b310cff22
https://github.com/boxbackup/boxbackup/commit/a61df55e8eba9e7050826d0feedf285b310cff22
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M appveyor.yml
Log Message:
-----------
Disable DEBUG to reduce CMake build verbosity on AppVeyor
Commit: b9772182ffa927bc5eb91fc4aa0571d41344722c
https://github.com/boxbackup/boxbackup/commit/b9772182ffa927bc5eb91fc4aa0571d41344722c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/backupstorefix/testbackupstorefix.cpp
Log Message:
-----------
Lock store while corrupting it in test/backupstorefix
Should hopefully reduce risk of random test failures/race conditions.
(cherry picked from commit 0f31359ca8ebbd6ddfd5f2d042c8c23af4d67997)
Commit: 1b97080bc62ae4a51f12e7a01deda23b7e662f10
https://github.com/boxbackup/boxbackup/commit/1b97080bc62ae4a51f12e7a01deda23b7e662f10
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
Log Message:
-----------
Improve error messages when PCRE detection fails (or is abused)
(cherry picked from commit 81528092fd51b6f81a21899bc205c369597c481d)
Commit: 4127ec1d35a1d967d862bab391a0aedadcae522c
https://github.com/boxbackup/boxbackup/commit/4127ec1d35a1d967d862bab391a0aedadcae522c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
M lib/common/Box.h
M lib/common/MainHelper.cpp
M lib/common/MainHelper.h
M lib/common/Utils.cpp
Log Message:
-----------
Win32: add experimental stack backtraces with symbol lookup
(cherry picked from commit f4685e72c2c7e274533c1cb149180809631a1da7)
Commit: 05f0e98c5e66db66c1f6ef3753d86784a9596f50
https://github.com/boxbackup/boxbackup/commit/05f0e98c5e66db66c1f6ef3753d86784a9596f50
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Logging.cpp
M lib/common/Logging.h
Log Message:
-----------
Modify command-line -L option to override log level for a specific file
This allows enabling TRACE logging for a specific file (e.g. to enable
exception backtraces for that file) without enabling TRACE globally.
Replace HideFileGuard with LogLevelOverrideByFileGuard.
(cherry picked from commit 29f74be06351b6ce9a872765db63171ad902b596)
Commit: 67e9588b9401d0700b1184ff15ca1b61f33e8af3
https://github.com/boxbackup/boxbackup/commit/67e9588b9401d0700b1184ff15ca1b61f33e8af3
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Box.h
M lib/common/Logging.cpp
M lib/common/Logging.h
M lib/common/Utils.cpp
M lib/common/Utils.h
M lib/server/SocketStream.cpp
Log Message:
-----------
Use filename where exception was thrown in DumpStackBacktrace
Allows us to turn on exceptions for specific files, rather that
filtering them all as Utils.cpp.
(cherry picked from commit 3590e9745dac2f25267bd755ed3d554423395330)
Commit: 8d27d823bad0d8790ef868ba4b91ebb7e319e6e7
https://github.com/boxbackup/boxbackup/commit/8d27d823bad0d8790ef868ba4b91ebb7e319e6e7
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
M runtest.pl.in
Log Message:
-----------
Enable backtraces and timestamps in all tests when building with CMake
(cherry picked from commit 166e39c11d242ebed6b62fc3f126af48345a22ca)
Commit: c10c13590d6110c6de9e7369971f620d84ef3082
https://github.com/boxbackup/boxbackup/commit/c10c13590d6110c6de9e7369971f620d84ef3082
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Use the correct preprocessor define for release builds
(cherry picked from commit 085149bf1c2c287ee744f2e094a99a77fc89dc60)
Commit: f93ec0f4881d781c6360fe32a22e9405ce5cb443
https://github.com/boxbackup/boxbackup/commit/f93ec0f4881d781c6360fe32a22e9405ce5cb443
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/server/SocketStream.cpp
Log Message:
-----------
Show IP address as well as hostname for ServerException::SocketOpenError
(cherry picked from commit 1a51adcd6be000f09fa280e42fb12e5631cd69b9)
Commit: db79ca420172f1f128897bab54890e975e0b53f0
https://github.com/boxbackup/boxbackup/commit/db79ca420172f1f128897bab54890e975e0b53f0
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/backupstorefix/testbackupstorefix.cpp
Log Message:
-----------
test/backupstorefix: tag bbstoreaccounts check output in tests
(cherry picked from commit c31d7143273f2d5257ec690e894442a8398aaf21)
Commit: 04ece62965d46b0e5b04cdf5f5848452ea8371c7
https://github.com/boxbackup/boxbackup/commit/04ece62965d46b0e5b04cdf5f5848452ea8371c7
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
M infrastructure/m4/boxbackup_tests.m4
Log Message:
-----------
Add support for M4 CXX flag detection in CMakeLists
Enables all flags that are detected by M4 builds to be detected by CMake builds
as well (except for -Wall which enables a bunch of junk).
(cherry picked from commit 2ea8a9706d79a386729c7b2d814089e90bac6926)
Commit: 04ec6166f0f527374d7f3f040c502e8f715f3aa5
https://github.com/boxbackup/boxbackup/commit/04ec6166f0f527374d7f3f040c502e8f715f3aa5
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/DebugMemLeakFinder.cpp
M lib/common/Utils.cpp
Log Message:
-----------
Store and log full stack traces for leaked memory allocations
Don't dump stack backtrace when logging memory leaks to a file
Since the backtrace goes to the console instead, it's confusing to have them in
different places.
(cherry picked from commit 6e7df4dfdc06eaff2dd0ef51741df3cf6ba319ea)
(cherry picked from commit 270cd1f16fa8a32b07ae0b9762a417db7b95b82f)
(cherry picked from commit c627e9547fb8a191ea36780b140fd0516a0bffa8)
Commit: 998992a060b2b9131a457f28082aa5692e3d8a76
https://github.com/boxbackup/boxbackup/commit/998992a060b2b9131a457f28082aa5692e3d8a76
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/buildenv-testmain-template.cpp
M lib/backupstore/StoreTestUtils.cpp
M lib/backupstore/StoreTestUtils.h
M lib/common/Test.h
M test/backupstorefix/testbackupstorefix.cpp
M test/bbackupd/testbbackupd.cpp
Log Message:
-----------
Increase default verbosity in some timing tests
Commit: 7531f5bff6e7ad40127bc18a9378d37c883682f9
https://github.com/boxbackup/boxbackup/commit/7531f5bff6e7ad40127bc18a9378d37c883682f9
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/m4/boxbackup_tests.m4
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Detect which debugger to use in t-gdb scripts: lldb or gdb
Should make debugging on Mac and BSD less painful.
Make t-gdb fail with an error when no debugger was detected.
(cherry picked from commit da98a8183737fb1fcb658cebd9612791a4750c4c)
(cherry picked from commit ea6bc722131222d1fad08521e61f552f16941b01)
Commit: f7dad7e56b11755c6a58de512bb123704b7176bc
https://github.com/boxbackup/boxbackup/commit/f7dad7e56b11755c6a58de512bb123704b7176bc
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Don't add CXXFLAGS to CFLAGS
Some CXXFLAGS such as enabling C++11 don't make sense for CC and will be
rejected, causing the compile to fail. We don't really test for flags being
compatible with the C compiler anyway, and we don't have enough C files to
care that much.
(cherry picked from commit 2ad9ee9012d4a7354c33ff0272c0768b952a9064)
Commit: 55a3fed525b0d58160fa385f1d0ce21ce3c936ea
https://github.com/boxbackup/boxbackup/commit/55a3fed525b0d58160fa385f1d0ce21ce3c936ea
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Perl buildsystem: add test prepare targets
Similar to the CMake prepare targets, these are useful when intending to
debug tests or run a server using a standard test configuration, which
requires the testfiles directory to be copied into the binary output tree.
(cherry picked from commit 2afecdd57a3bcf42c116c8535843039a1596feac)
Commit: 81987596f5af8f1d2c634734e37cb911c166e4da
https://github.com/boxbackup/boxbackup/commit/81987596f5af8f1d2c634734e37cb911c166e4da
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M bin/bbstoreaccounts/bbstoreaccounts.cpp
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/StoreTestUtils.cpp
Log Message:
-----------
Rename BackupStoreAccountsControl to BackupStoreAccountControl
For consistency with the base class, BackupAccountControl, and grammatical
reasons.
Commit: 6fc2a7e582d75d1d430e3d4598fe0daa57a83d3c
https://github.com/boxbackup/boxbackup/commit/6fc2a7e582d75d1d430e3d4598fe0daa57a83d3c
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Add missing implementations of RaidBackupFileSystem methods
These should have been added whenever BackupFileSystem.h was added, which was
4db4deed3448b9c2b9e885a20cb1a777632464d6, although it didn't really belong in
that commit either. But it's too late to change history now. Adding the missing
method definitions makes it possible to instantiate a RaidBackupFileSystem.
Commit: 5148e0fe453d661ce6c1031d67d6031f92f78a70
https://github.com/boxbackup/boxbackup/commit/5148e0fe453d661ce6c1031d67d6031f92f78a70
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M bin/bbstoreaccounts/bbstoreaccounts.cpp
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupAccountControl.h
M lib/backupstore/StoreTestUtils.cpp
Log Message:
-----------
Refactor BackupStoreAccountControl to be for a specific account ID
This allows other BackupAccountControl implementations to implement the same
interface without needing to support account IDs, which are very
store-specific.
Commit: 29a5587411ed497a4750a0268446d6bae752b93d
https://github.com/boxbackup/boxbackup/commit/29a5587411ed497a4750a0268446d6bae752b93d
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Remove debugging code to list files during test_multiple_uploads
Revert "Try listing files to help debug random failures of test_multiple_uploads()."
This reverts commit e302ded5b7d40fe88d65808564f4db9df2a6f878.
Commit: 1df0e1a46ddc2258ebd98196de2deca083df7275
https://github.com/boxbackup/boxbackup/commit/1df0e1a46ddc2258ebd98196de2deca083df7275
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M bin/bbstoreaccounts/bbstoreaccounts.cpp
M infrastructure/m4/boxbackup_tests.m4
M infrastructure/makebuildenv.pl.in
M infrastructure/travis-build.sh
M lib/backupstore/BackupAccountControl.cpp
M lib/backupstore/BackupConstants.h
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupProtocol.txt
M lib/backupstore/BackupStoreAccounts.h
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck.h
M lib/backupstore/BackupStoreCheck2.cpp
M lib/backupstore/BackupStoreContext.cpp
M lib/backupstore/BackupStoreContext.h
M lib/backupstore/BackupStoreException.txt
M lib/backupstore/BackupStoreFile.cpp
M lib/backupstore/BackupStoreRefCountDatabase.cpp
M lib/backupstore/HousekeepStoreAccount.cpp
M lib/backupstore/StoreTestUtils.cpp
M lib/backupstore/StoreTestUtils.h
M lib/bbstored/BackupStoreDaemon.cpp
M lib/common/CollectInBufferStream.cpp
M lib/common/CommonException.txt
M lib/common/NamedLock.cpp
M runtest.pl.in
M test/backupstore/testbackupstore.cpp
M test/backupstorefix/testbackupstorefix.cpp
M test/backupstorepatch/testbackupstorepatch.cpp
M test/bbackupd/testbbackupd.cpp
M test/common/testcommon.cpp
Log Message:
-----------
Whitespace and comment cleanup
Commit: 4cfd9613ef81807a9ef02488962597aafeab7375
https://github.com/boxbackup/boxbackup/commit/4cfd9613ef81807a9ef02488962597aafeab7375
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/makebuildenv.pl.in
Log Message:
-----------
Custom build system: fix autogen dependencies
Remove useless inclusion of Makefile.extras with paths in subdirs that will
never match anything, and replace those inclusions with recursive Make calls to
build those targets. This allows changes to exception and protocol files to be
detected automatically, and the C++ code regenerated.
Commit: 5b9133e38f879ae587cb0af442fbac350e1e8a41
https://github.com/boxbackup/boxbackup/commit/5b9133e38f879ae587cb0af442fbac350e1e8a41
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupclient/BackupClientRestore.cpp
M lib/backupstore/BackupStoreCheck.cpp
M lib/backupstore/BackupStoreCheck.h
M lib/common/Test.cpp
M lib/common/Utils.cpp
M lib/common/Utils.h
M lib/httpserver/S3Simulator.cpp
Log Message:
-----------
Make ObjectExists and BackupStoreCheck use object_exists_t enum
Commit: 64933c639fd9b08c8e3584baa7443356c790c7ba
https://github.com/boxbackup/boxbackup/commit/64933c639fd9b08c8e3584baa7443356c790c7ba
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Utils.cpp
M lib/common/Utils.h
Log Message:
-----------
Add GetTempDirPath() for portability
On Unix, check TEMP, TMP and TMPDIR, and if no env var is set, fall back to
/tmp. For some reason it's becoming increasingly common for Unixes not to set
TMP* to anything.
Commit: 978decd1ffaf984d81f20ff39f2d3a380b2fcdd1
https://github.com/boxbackup/boxbackup/commit/978decd1ffaf984d81f20ff39f2d3a380b2fcdd1
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/common/testcommon.cpp
Log Message:
-----------
Fix include ordering in testcommon.cpp
Commit: d379d8b6db3f12b8613c6049252a5c6ebdd03d61
https://github.com/boxbackup/boxbackup/commit/d379d8b6db3f12b8613c6049252a5c6ebdd03d61
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M test/common/testcommon.cpp
Log Message:
-----------
Refactor testcommon to split into independent tests
Remove redundant NamedLock tests.
Commit: a20533c7907d95c40676e00be92f3ffdaec2b081
https://github.com/boxbackup/boxbackup/commit/a20533c7907d95c40676e00be92f3ffdaec2b081
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/common/Utils.cpp
M lib/common/Utils.h
M test/common/testcommon.cpp
Log Message:
-----------
Add force parameter to RemovePrefix and RemoveSuffix
Commit: d33905c8ef5c055d69559d62b119c97b6898a054
https://github.com/boxbackup/boxbackup/commit/d33905c8ef5c055d69559d62b119c97b6898a054
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupCommands.cpp
M lib/backupstore/BackupStoreContext.cpp
M lib/backupstore/BackupStoreContext.h
Log Message:
-----------
Remove BackupStoreContext::ReceivedFinishCommand
Replace with CleanUp(). We don't need two methods that do almost the same
thing.
Commit: 2f2e3c48d8f135e20a0b033edd876e5d6ff7130f
https://github.com/boxbackup/boxbackup/commit/2f2e3c48d8f135e20a0b033edd876e5d6ff7130f
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupProtocol.h
M lib/backupstore/BackupStoreContext.cpp
M lib/backupstore/BackupStoreContext.h
M test/backupstore/testbackupstore.cpp
Log Message:
-----------
Refactor BackupStoreContext::GetBackupStoreInfo
Almost all access to mapStoreInfo is now via GetBackupStoreInfo(Internal), in
preparation for the refactor that will move the main copy of the
BackupStoreInfo to the BackupFileSystem instance instead.
Commit: 22f2bc52868d93c00adc93cd167b3f8a7f6efb7e
https://github.com/boxbackup/boxbackup/commit/22f2bc52868d93c00adc93cd167b3f8a7f6efb7e
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M infrastructure/cmake/CMakeLists.txt
M infrastructure/m4/boxbackup_tests.m4
M lib/backupstore/BackupStoreContext.cpp
Log Message:
-----------
Enable C++0x support
We need C++0x features enabled for "auto" to work, and using Boost properly
seems to require this. Use "auto" in a few places to prove that it works.
Commit: 7e95728b9463a63c1ae350d49bdab1cc07657e81
https://github.com/boxbackup/boxbackup/commit/7e95728b9463a63c1ae350d49bdab1cc07657e81
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Refactor to create BackupFileSystem::GetBackupStoreInfo
Extract common code from filesystem-specific implementations, and rename them
to GetBackupStoreInfoInternal().
Commit: 47bf767b26357091abaedbd84d74ddb851138b9f
https://github.com/boxbackup/boxbackup/commit/47bf767b26357091abaedbd84d74ddb851138b9f
Author: Chris Wilson <chris+github at qwirx.com>
Date: 2017-07-23 (Sun, 23 Jul 2017)
Changed paths:
M lib/backupstore/BackupFileSystem.cpp
M lib/backupstore/BackupFileSystem.h
Log Message:
-----------
Refactor BackupFileSystem::GetLock()
Call subclass implementations of TryGetLock(), and throw an exception if we
fail to get a lock instead of returning false.
Compare: https://github.com/boxbackup/boxbackup/compare/0926319e9e32...47bf767b2635
More information about the Boxbackup-commit
mailing list