From noreply at github.com Mon Jan 1 11:12:45 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 03:12:45 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 448ac4: Workaround for incorrect library suffixes searched... Message-ID: <5a4a17adba7bf_68722ae5ef7edc186801@hookshot-fe-7191cb1.cp1-iad.github.net.mail> Branch: refs/heads/openssl_1_1 Home: https://github.com/boxbackup/boxbackup Commit: 448ac48a89538f67f508f8d21931c5e6e90472c0 https://github.com/boxbackup/boxbackup/commit/448ac48a89538f67f508f8d21931c5e6e90472c0 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt Log Message: ----------- Workaround for incorrect library suffixes searched by FindOpenSSL See https://gitlab.kitware.com/cmake/cmake/issues/17604 for details. Commit: 8976906a563ab04eb3d1310c59d4c13cdc3b525e https://github.com/boxbackup/boxbackup/commit/8976906a563ab04eb3d1310c59d4c13cdc3b525e Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Speed up superbuild rebuild by not extracting Boost again Compare: https://github.com/boxbackup/boxbackup/compare/4e24006f7514...8976906a563a From noreply at github.com Mon Jan 1 11:16:19 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 03:16:19 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] dab8cc: Remove BoxBackup install step from Windows unibuil... Message-ID: <5a4a18831e09f_17a252b0ecf7e5c1c8854@hookshot-fe-dfcc362.cp1-iad.github.net.mail> Branch: refs/heads/openssl_1_1 Home: https://github.com/boxbackup/boxbackup Commit: dab8ccc4b0b9eef06c9e063fc510f9952a0757f7 https://github.com/boxbackup/boxbackup/commit/dab8ccc4b0b9eef06c9e063fc510f9952a0757f7 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit 2d31a3178ba5a39af594c1a0188748f5c8045b18) From noreply at github.com Mon Jan 1 12:53:38 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 04:53:38 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 00b3bb: Link OpenSSL statically and fix missing dependency... Message-ID: <5a4a2f528a280_32822aba670e7c108502e@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/heads/openssl_1_1 Home: https://github.com/boxbackup/boxbackup Commit: 00b3bb0697219ef8c742698dd43d53b538e362b1 https://github.com/boxbackup/boxbackup/commit/00b3bb0697219ef8c742698dd43d53b538e362b1 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Link OpenSSL statically and fix missing dependency on crypt32.lib From noreply at github.com Mon Jan 1 16:16:04 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 08:16:04 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 971fbb: Speed up superbuild rebuild by not extracting Boos... Message-ID: <5a4a5ec4e4b5e_a022ac34fa57c1451367@hookshot-fe-88eb02d.cp1-iad.github.net.mail> Branch: refs/heads/openssl_1_1 Home: https://github.com/boxbackup/boxbackup Commit: 971fbbce13186199b3ac67f35a7fb5acfc777295 https://github.com/boxbackup/boxbackup/commit/971fbbce13186199b3ac67f35a7fb5acfc777295 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Speed up superbuild rebuild by not extracting Boost again (cherry picked from commit 8976906a563ab04eb3d1310c59d4c13cdc3b525e) Commit: d432128c6f9390a3749af1430c8a76fbc52badf7 https://github.com/boxbackup/boxbackup/commit/d432128c6f9390a3749af1430c8a76fbc52badf7 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit 2d31a3178ba5a39af594c1a0188748f5c8045b18) (cherry picked from commit dab8ccc4b0b9eef06c9e063fc510f9952a0757f7) Commit: d22ea1891f8930b105665d896ad6c7d5034769cf https://github.com/boxbackup/boxbackup/commit/d22ea1891f8930b105665d896ad6c7d5034769cf Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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) (cherry picked from commit 38ba7510f2cad9accf445d5633c64e98a637a139) (cherry picked from commit 02bfd7e5bdd2abc185b12f37e1f536269db6817a) Commit: 01755b62f6542d25a885a4fe26ce9fc1ac6decaf https://github.com/boxbackup/boxbackup/commit/01755b62f6542d25a885a4fe26ce9fc1ac6decaf Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit 2e9c90d3f32c69cc89d01fb64ced9fca80aae985) Commit: 3db0438644b10370293d9b2f3bd8457561e2c9f8 https://github.com/boxbackup/boxbackup/commit/3db0438644b10370293d9b2f3bd8457561e2c9f8 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit f449986b68bd12c18d742c91b625779ae75b11a2) Commit: 4e28f0871a854af785b3f91ebecf87676fcad07f https://github.com/boxbackup/boxbackup/commit/4e28f0871a854af785b3f91ebecf87676fcad07f Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) Compare: https://github.com/boxbackup/boxbackup/compare/00b3bb069721...4e28f0871a85 From noreply at github.com Mon Jan 1 16:25:16 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 08:25:16 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 85e7ef: Add support for OpenSSL 1.1 and replace deprecated... Message-ID: <5a4a60ecc591e_2a202ae5c32efc1033725@hookshot-fe-6e9b612.cp1-iad.github.net.mail> Branch: refs/heads/openssl_1_1 Home: https://github.com/boxbackup/boxbackup Commit: 85e7efc3fa0477f60318d2cd2144503a9ea8feb9 https://github.com/boxbackup/boxbackup/commit/85e7efc3fa0477f60318d2cd2144503a9ea8feb9 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) From noreply at github.com Mon Jan 1 20:54:07 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 12:54:07 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 559915: BackupStoreContext: improve log messages regarding... Message-ID: <5a4a9fef33b18_79c62acfe411dc103555c@hookshot-fe-cace476.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 5599158604b73e9c4487e21c47de12b709832e33 https://github.com/boxbackup/boxbackup/commit/5599158604b73e9c4487e21c47de12b709832e33 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M lib/backupstore/BackupStoreContext.cpp Log Message: ----------- BackupStoreContext: improve log messages regarding the cache From noreply at github.com Mon Jan 1 21:48:10 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 13:48:10 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 8186eb: BackupAccountControl: silence RaidFileDoesntExist ... Message-ID: <5a4aac9a97818_632f2aca4b19dc10434ba@hookshot-fe-7191cb1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 8186eb62169cf35ef7cdda99de580abef958c04d https://github.com/boxbackup/boxbackup/commit/8186eb62169cf35ef7cdda99de580abef958c04d Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- BackupAccountControl: silence RaidFileDoesntExist during CreateAccount From noreply at github.com Mon Jan 1 21:51:56 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 13:51:56 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 6c50fb: Remove remaining calls to check_num_files() withou... Message-ID: <5a4aad7c3ed45_27572b24e3857c0c81891@hookshot-fe-265448d.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 6c50fb6ac0c7c9373ea16d91c6595009a1988c95 https://github.com/boxbackup/boxbackup/commit/6c50fb6ac0c7c9373ea16d91c6595009a1988c95 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M lib/backupstore/StoreTestUtils.cpp M lib/backupstore/StoreTestUtils.h M test/backupstore/testbackupstore.cpp M test/bbackupd/testbbackupd.cpp Log Message: ----------- Remove remaining calls to check_num_files() without a BackupFileSystem From noreply at github.com Mon Jan 1 21:58:16 2018 From: noreply at github.com (GitHub) Date: Mon, 01 Jan 2018 13:58:16 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] a8bec7: Refactor BackupStoreInfo to remove legacy RaidFile... Message-ID: <5a4aaef8dfc08_30182ae66c58bc041090e@hookshot-fe-2cc8887.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: a8bec78616bec44ae8be623a18bbd7ef8b6e8a60 https://github.com/boxbackup/boxbackup/commit/a8bec78616bec44ae8be623a18bbd7ef8b6e8a60 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M lib/backupstore/BackupStoreInfo.cpp M lib/backupstore/BackupStoreInfo.h M test/backupstore/testbackupstore.cpp Log Message: ----------- Refactor BackupStoreInfo to remove legacy RaidFile support From noreply at github.com Tue Jan 2 21:13:56 2018 From: noreply at github.com (GitHub) Date: Tue, 02 Jan 2018 13:13:56 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 971fbb: Speed up superbuild rebuild by not extracting Boos... Message-ID: <5a4bf614ac4a8_35782b077115fc0411144c@hookshot-fe-2cc8887.cp1-iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/boxbackup/boxbackup Commit: 971fbbce13186199b3ac67f35a7fb5acfc777295 https://github.com/boxbackup/boxbackup/commit/971fbbce13186199b3ac67f35a7fb5acfc777295 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Speed up superbuild rebuild by not extracting Boost again (cherry picked from commit 8976906a563ab04eb3d1310c59d4c13cdc3b525e) Commit: d432128c6f9390a3749af1430c8a76fbc52badf7 https://github.com/boxbackup/boxbackup/commit/d432128c6f9390a3749af1430c8a76fbc52badf7 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit 2d31a3178ba5a39af594c1a0188748f5c8045b18) (cherry picked from commit dab8ccc4b0b9eef06c9e063fc510f9952a0757f7) Commit: d22ea1891f8930b105665d896ad6c7d5034769cf https://github.com/boxbackup/boxbackup/commit/d22ea1891f8930b105665d896ad6c7d5034769cf Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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) (cherry picked from commit 38ba7510f2cad9accf445d5633c64e98a637a139) (cherry picked from commit 02bfd7e5bdd2abc185b12f37e1f536269db6817a) Commit: 01755b62f6542d25a885a4fe26ce9fc1ac6decaf https://github.com/boxbackup/boxbackup/commit/01755b62f6542d25a885a4fe26ce9fc1ac6decaf Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit 2e9c90d3f32c69cc89d01fb64ced9fca80aae985) Commit: 3db0438644b10370293d9b2f3bd8457561e2c9f8 https://github.com/boxbackup/boxbackup/commit/3db0438644b10370293d9b2f3bd8457561e2c9f8 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit f449986b68bd12c18d742c91b625779ae75b11a2) Commit: 85e7efc3fa0477f60318d2cd2144503a9ea8feb9 https://github.com/boxbackup/boxbackup/commit/85e7efc3fa0477f60318d2cd2144503a9ea8feb9 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) Commit: 6d7e9562e8485591a4888f1fc2d3c6c657dc7a01 https://github.com/boxbackup/boxbackup/commit/6d7e9562e8485591a4888f1fc2d3c6c657dc7a01 Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 M infrastructure/makebuildenv.pl.in M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/crypto/Random.cpp M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Merge pull request #22 from boxbackup/openssl_1_1 Fix compatibility with OpenSSL 1.1 Compare: https://github.com/boxbackup/boxbackup/compare/a0fa0c4f5f33...6d7e9562e848 From noreply at github.com Tue Jan 2 21:19:17 2018 From: noreply at github.com (GitHub) Date: Tue, 02 Jan 2018 13:19:17 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] d7a30b: BackupAccountControl: silence exceptions during Cr... Message-ID: <5a4bf75525316_37812aea1dd1dc107066b@hookshot-fe-6b2eebc.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: d7a30bc5052034efd233f0891b34e99f715d6d80 https://github.com/boxbackup/boxbackup/commit/d7a30bc5052034efd233f0891b34e99f715d6d80 Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- BackupAccountControl: silence exceptions during CreateAccount We expect that the raidfile or HTTP file doesn't exist during CreateAccount, so the exception message is unhelpful, so suppress it. Commit: 1a8dad6451e2f2ffb806efacec11043e4e7aa342 https://github.com/boxbackup/boxbackup/commit/1a8dad6451e2f2ffb806efacec11043e4e7aa342 Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M lib/backupstore/StoreTestUtils.cpp M lib/backupstore/StoreTestUtils.h M test/backupstore/testbackupstore.cpp M test/bbackupd/testbbackupd.cpp Log Message: ----------- Remove remaining calls to check_num_files() without a BackupFileSystem Commit: 41d27f8539790a98ad586902faf52cd546826768 https://github.com/boxbackup/boxbackup/commit/41d27f8539790a98ad586902faf52cd546826768 Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M lib/backupstore/BackupStoreInfo.cpp M lib/backupstore/BackupStoreInfo.h M test/backupstore/testbackupstore.cpp Log Message: ----------- Refactor BackupStoreInfo to remove legacy RaidFile support Commit: 000521f8167d37c7ce33539fe7c7cc98ca5eb44f https://github.com/boxbackup/boxbackup/commit/000521f8167d37c7ce33539fe7c7cc98ca5eb44f Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Run test_account_limits_respected on S3 BackupFileSystem Commit: 5ffa12a06bbed57873d209a43434de8e53969a76 https://github.com/boxbackup/boxbackup/commit/5ffa12a06bbed57873d209a43434de8e53969a76 Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Add a test for S3BackupFileSystem and its RevisionID calculation Commit: b26c02a70545d8a8f937756ea8cf2dd01a8fce43 https://github.com/boxbackup/boxbackup/commit/b26c02a70545d8a8f937756ea8cf2dd01a8fce43 Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M test/backupstorefix/testbackupstorefix.cpp Log Message: ----------- Refactor testbackupstorefix to reduce code duplication Compare: https://github.com/boxbackup/boxbackup/compare/a8bec78616be...b26c02a70545 From noreply at github.com Tue Jan 2 21:40:06 2018 From: noreply at github.com (GitHub) Date: Tue, 02 Jan 2018 13:40:06 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a4bfc366bdd1_2fb92b1186e41c14801e5@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.master.180102.6d7e956 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Tue Jan 2 23:23:36 2018 From: noreply at github.com (GitHub) Date: Tue, 02 Jan 2018 15:23:36 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a4c1478d6039_19d62aaac8a5fc1086347@hookshot-fe-31feec6.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180102.b26c02a Home: https://github.com/boxbackup/boxbackup From noreply at github.com Wed Jan 3 00:40:17 2018 From: noreply at github.com (GitHub) Date: Tue, 02 Jan 2018 16:40:17 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a4c2671857f5_66be2aeae72a1c082737a@hookshot-fe-7191cb1.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180103.b26c02a Home: https://github.com/boxbackup/boxbackup From noreply at github.com Mon Jan 8 20:20:55 2018 From: noreply at github.com (GitHub) Date: Mon, 08 Jan 2018 12:20:55 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 2af222: testbackupstorepatch: improve debugging messages Message-ID: <5a53d2a775e3d_25f02b27c829bc18138c1@hookshot-fe-88eb02d.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 2af2224a9025da2ecebd0acaa049c84b00f7d809 https://github.com/boxbackup/boxbackup/commit/2af2224a9025da2ecebd0acaa049c84b00f7d809 Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- testbackupstorepatch: improve debugging messages Commit: 23f3c05636c68a8cdf86213b0f14e734161576f6 https://github.com/boxbackup/boxbackup/commit/23f3c05636c68a8cdf86213b0f14e734161576f6 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- Port test/backupstorepatch to use BackupFileSystem Make testbackupstorepatch do housekeeping in-process to make debugging easier. Check return value of housekeeping to ensure that no errors were detected. Compare: https://github.com/boxbackup/boxbackup/compare/b26c02a70545...23f3c05636c6 From noreply at github.com Mon Jan 8 20:27:46 2018 From: noreply at github.com (GitHub) Date: Mon, 08 Jan 2018 12:27:46 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 2cabab: Suppress exception messages in LineBuffer::GetLine Message-ID: <5a53d442e0c90_476f2adbf325fc0c744b7@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 2cabab428b38c16b4ded5b16039aaddab5587502 https://github.com/boxbackup/boxbackup/commit/2cabab428b38c16b4ded5b16039aaddab5587502 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/bbackupd/BackupDaemon.cpp M lib/bbstored/BBStoreDHousekeeping.cpp Log Message: ----------- Suppress exception messages in LineBuffer::GetLine These exceptions are used to communicate state to the caller, and should not be treated as errors in common cases. (cherry picked from commit 86f3e9c0f4916741bbed20e04a4b4f2d71bb4f32) Commit: 5513bcb30ca62a966e7468df7a2cfbaa9c9af5e6 https://github.com/boxbackup/boxbackup/commit/5513bcb30ca62a966e7468df7a2cfbaa9c9af5e6 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/bbstored/BBStoreDHousekeeping.cpp M lib/bbstored/BackupStoreDaemon.cpp M lib/server/Daemon.cpp M lib/server/Daemon.h M lib/server/ServerStream.h Log Message: ----------- Clear up Daemon command-line arguments -D and -F By separating their roles (which used to overlap) it's now possible to run a forking server in the foreground, or a non-forking daemon in the background, which can be useful for debugging (for example, to more closely simulate how test daemons work on Windows when running on Unix). -DF is now needed to have a non-forking server in the foreground. (cherry picked from commit b31c0e4abd4875bb25ff7a918ed5bc7f7faf595d) Compare: https://github.com/boxbackup/boxbackup/compare/23f3c05636c6...5513bcb30ca6 From noreply at github.com Mon Jan 8 20:41:32 2018 From: noreply at github.com (GitHub) Date: Mon, 08 Jan 2018 12:41:32 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] c80569: Eliminate conditional code for Windows file handle... Message-ID: <5a53d77cb5b06_21f82aff54427c18763ae@hookshot-fe-da92815.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: c8056904dc711cf0b99fdec203a2d77023a685a6 https://github.com/boxbackup/boxbackup/commit/c8056904dc711cf0b99fdec203a2d77023a685a6 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/common/NamedLock.cpp M lib/common/NamedLock.h Log Message: ----------- Eliminate conditional code for Windows file handles from NamedLock Should improve code readability and robustness. (cherry picked from commit e773e4ccefcdab8f01b1a3bf7d828c3bb39eaaa7) Commit: 18d28d0d78772b099f5fba7a807cb867f761ead9 https://github.com/boxbackup/boxbackup/commit/18d28d0d78772b099f5fba7a807cb867f761ead9 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/common/NamedLock.cpp Log Message: ----------- Improve logging when failing to lock a lockfile (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) Commit: 77ae23f1225da6219646b24a8f5b037d3a4194da https://github.com/boxbackup/boxbackup/commit/77ae23f1225da6219646b24a8f5b037d3a4194da Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h Log Message: ----------- NamedLock: improve code readability and log messages (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Compare: https://github.com/boxbackup/boxbackup/compare/5513bcb30ca6...77ae23f1225d From noreply at github.com Mon Jan 8 20:47:51 2018 From: noreply at github.com (GitHub) Date: Mon, 08 Jan 2018 12:47:51 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a53d8f7b0834_22412affb7ccbc084999a@hookshot-fe-da92815.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180108.23f3c05 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Mon Jan 8 21:16:12 2018 From: noreply at github.com (GitHub) Date: Mon, 08 Jan 2018 13:16:12 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a53df9c9bb16_38622b0585afbbfc14975@hookshot-fe-6e9b612.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180108.77ae23f Home: https://github.com/boxbackup/boxbackup From noreply at github.com Wed Jan 10 20:35:00 2018 From: noreply at github.com (GitHub) Date: Wed, 10 Jan 2018 12:35:00 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] ef9071: Implement placement operator delete Message-ID: <5a5678f4bb37b_64a32ab8a3919c1440748@hookshot-fe-2cc8887.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: ef9071e6ef211498149ade830694c87aa704371f https://github.com/boxbackup/boxbackup/commit/ef9071e6ef211498149ade830694c87aa704371f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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. (cherry picked from commit 40cf96207139a31466b98a93298cef4f436eea6b) (cherry picked from commit 242fac41c63309f274992825cd0baef9046e1110) Commit: a00aba6f85455006392315bbf20f8a06e177929b https://github.com/boxbackup/boxbackup/commit/a00aba6f85455006392315bbf20f8a06e177929b Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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: e513e4f90634e014c6af82549b4c347631706ded https://github.com/boxbackup/boxbackup/commit/e513e4f90634e014c6af82549b4c347631706ded Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupStoreException.txt Log Message: ----------- Properly implement S3BackupFileSystem::GetPermanentRefCountDatabase Commit: 5ac2c48bccb3e7b524cf744554880dc05a3d1f22 https://github.com/boxbackup/boxbackup/commit/5ac2c48bccb3e7b524cf744554880dc05a3d1f22 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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: 35c8c8307b6854a2bbd88243ad7e6e5ad5d4a964 https://github.com/boxbackup/boxbackup/commit/35c8c8307b6854a2bbd88243ad7e6e5ad5d4a964 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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: db71ab26217b6bc01606ca49748b1ceb3068b6ec https://github.com/boxbackup/boxbackup/commit/db71ab26217b6bc01606ca49748b1ceb3068b6ec Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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. Commit: 0b776c9fa6a99750a79ec43b47eb9ae198229c6b https://github.com/boxbackup/boxbackup/commit/0b776c9fa6a99750a79ec43b47eb9ae198229c6b Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/httpserver/testhttpserver.cpp Log Message: ----------- Test that 100-continue headers are sent and received correctly This tests that HTTPRequest::SendHeaders includes the "Expect: 100-continue" header only when expected. A separate test calls HTTPRequest::SendWithStream which sends these headers, and therefore checks that both sides correctly handle such exchanges. Commit: 69fc23bf1fe4300bfec92f331edc0aeafa6150fd https://github.com/boxbackup/boxbackup/commit/69fc23bf1fe4300bfec92f331edc0aeafa6150fd Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupProtocol.h M lib/common/Test.cpp M lib/common/Test.h M lib/httpserver/S3Client.cpp M lib/server/makeprotocol.pl.in M modules.txt M test/backupstore/testbackupstore.cpp Log Message: ----------- Test that the S3 backend properly implements basic commands This extends test_server_commands() to the S3 backend implementation, using test specialisation. Commit: 58b80811494f2e3fa5d955a512c09a1367dfaaba https://github.com/boxbackup/boxbackup/commit/58b80811494f2e3fa5d955a512c09a1367dfaaba Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/buildenv-testmain-template.cpp Log Message: ----------- Completely disable syslog logging in tests (cherry picked from commit 3a8ca0c97e7346912889df72a1a87b80b430fe7a) Commit: 482c83ff174c0443cdae11f7ed1b6b157bae328c https://github.com/boxbackup/boxbackup/commit/482c83ff174c0443cdae11f7ed1b6b157bae328c Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: R infrastructure/cmake/build/bin_bbackupd.vcxproj.user R infrastructure/cmake/build/bin_bbstored.vcxproj.user R infrastructure/cmake/build/test_backupstore.vcxproj.user R infrastructure/cmake/build/test_backupstorefix.vcxproj.user R infrastructure/cmake/build/test_bbackupd.vcxproj.user R infrastructure/cmake/build/test_common.vcxproj.user R infrastructure/cmake/build/test_httpserver.vcxproj.user R infrastructure/cmake/build/test_raidfile.vcxproj.user Log Message: ----------- Remove *.vcxproj.user from disposable CMake build directory (cherry picked from commit 9df71c89a0fc935ee9965ddd8c4bcc2e1ad769a4) Commit: 6c5f7dea4aca99f82e23b8d1b0393119d447dae9 https://github.com/boxbackup/boxbackup/commit/6c5f7dea4aca99f82e23b8d1b0393119d447dae9 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 M lib/bbackupd/BackupClientContext.cpp M lib/bbackupd/BackupClientContext.h M lib/server/TcpNice.cpp M lib/server/TcpNice.h Log Message: ----------- Add support for TcpNice on OSX, remove on Windows I'm not convinced that it does anything on Windows without an RTT estimate, which we can't get without administrator access: https://msdn.microsoft.com/en-us/library/windows/desktop/bb485738(v=vs.85).aspx (cherry picked from commit b646d22f415bbc8f5b5b065ed7462166591404f2) Commit: 9f95b0431194533d25d9252f009cec9aa2e66752 https://github.com/boxbackup/boxbackup/commit/9f95b0431194533d25d9252f009cec9aa2e66752 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- Move functions around to reduce diffs to s3_support Commit: c053c68498397f82c2bcc73d2c6f2e694368e2d4 https://github.com/boxbackup/boxbackup/commit/c053c68498397f82c2bcc73d2c6f2e694368e2d4 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp M lib/backupstore/BackupAccountControl.h M lib/win32/getopt_long.cpp Log Message: ----------- Fix compile error in BSD getopt_long.cpp error: '&&' within '||' [-Werror,-Wlogical-op-parentheses] Commit: 4dec19a41d9ae785df71900933e48813c8ef2034 https://github.com/boxbackup/boxbackup/commit/4dec19a41d9ae785df71900933e48813c8ef2034 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/httpserver/SimpleDBClient.h Log Message: ----------- Fix SimpleDB timeouts: should be in milliseconds, not seconds (cherry picked from commit 24bc49f30b9ce54d5024777f9c34d70a476d9663) Commit: e00ba6e85fc103b2195d8fd022771be4f30de6f3 https://github.com/boxbackup/boxbackup/commit/e00ba6e85fc103b2195d8fd022771be4f30de6f3 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/server/ServerStream.h M test/backupstore/testbackupstore.cpp Log Message: ----------- ServerStream and test/backupstore: improve comments slightly (cherry picked from commit c50aac67ee6ce6af9d63d5b96290585f2c5b7c21) Commit: 4155544b0cbc1f08ef23ec754d03b6ac68067edd https://github.com/boxbackup/boxbackup/commit/4155544b0cbc1f08ef23ec754d03b6ac68067edd Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/httpserver/S3Simulator.cpp Log Message: ----------- S3Simulator: add some TRACE logging to help debug 100-continue responses (cherry picked from commit ca39b88d4a73b64de68400dfa29270f203fd0f14) Commit: 65051c88ef1fe80101a370c028ada3d8c5fe0e0b https://github.com/boxbackup/boxbackup/commit/65051c88ef1fe80101a370c028ada3d8c5fe0e0b Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/httpserver/S3Client.h Log Message: ----------- Increase timeouts in S3Client to help with debugging (cherry picked from commit cc14b3b4b9ec509233000c7d0a995580afd97f15) Commit: 0943f51388bcbd6d79c4a8add3d488fb2d1550a2 https://github.com/boxbackup/boxbackup/commit/0943f51388bcbd6d79c4a8add3d488fb2d1550a2 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/server/SocketStream.cpp Log Message: ----------- SocketStream: use THROW_SOCKET_ERROR for better messages on Windows (cherry picked from commit feddbef8052208508a2e542a1a70c23138f476b8) Commit: 13e66ee8e9add83ccf1cc1d78801b9daf291880c https://github.com/boxbackup/boxbackup/commit/13e66ee8e9add83ccf1cc1d78801b9daf291880c Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/common/Logging.cpp M lib/common/Logging.h Log Message: ----------- Enable overriding log level by category as well as filename This extends the -L command-line option to allow overriding by filename/category=level as well as the existing support for overriding by filename=level. (cherry picked from commit 4421c53ab59adb494308f9c9f881a6a57bfd571c) Commit: ed500780e2ba1a823af3941a24ed40f24b45ee10 https://github.com/boxbackup/boxbackup/commit/ed500780e2ba1a823af3941a24ed40f24b45ee10 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/win32/emu.cpp Log Message: ----------- Windows syslog() emulation: improve error messages If syslog can't log to the Windows event log for some reason, instead of just printing the log message to the console, include some explanatory text about what went wrong. (cherry picked from commit c492c90062d2e88db1016f13bd912629477a8a46) Commit: 025e0325704b40c05ebfc4953f6891abbb67d6e0 https://github.com/boxbackup/boxbackup/commit/025e0325704b40c05ebfc4953f6891abbb67d6e0 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Fix rare crash while tearing down S3BackupFileSystem ReleaseLock() could fail if it can't contact the S3/SimpleDB server, but destructors aren't allowed to throw exceptions, so catch this case and log a warning instead (because we failed to release the lock that we were holding). (cherry picked from commit 6226c014dd2988a6a29cd21f6cc29fa0e7816607) Commit: 018f84e4f0a17a9ed14560650f0f5269f3e88a70 https://github.com/boxbackup/boxbackup/commit/018f84e4f0a17a9ed14560650f0f5269f3e88a70 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/bbackupd/testbbackupd.cpp Log Message: ----------- Increase time allowed for backup in test_store_error_reporting Should increase reliability of tests running on Travis. Commit: 5a00bbc2fbc4a61ad1ef3fbd26f6cf290893166a https://github.com/boxbackup/boxbackup/commit/5a00bbc2fbc4a61ad1ef3fbd26f6cf290893166a Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Enable precedence warnings as errors (-Werror=parentheses) Commit: e516f59e3328e6026ea26ba80f4ac6281212fed7 https://github.com/boxbackup/boxbackup/commit/e516f59e3328e6026ea26ba80f4ac6281212fed7 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/Timer.cpp M test/common/testcommon.cpp Log Message: ----------- Remove invalid use of null references (undefined behaviour) Enable the relevant compiler warning as an error, if supported (-Werror=undefined-bool-conversion). http://www.gotw.ca/conv/002.htm http://stackoverflow.com/questions/2165078/a-reference-can-not-be-null-or-it-can-be-null (cherry picked from commit f2911acac0c8375a08ecc0a55f853a5a59c4d511) Commit: 92c05cac1f61afabaaaf38f269ab32f74463e93b https://github.com/boxbackup/boxbackup/commit/92c05cac1f61afabaaaf38f269ab32f74463e93b Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupStoreFileEncodeStream.cpp M lib/backupstore/BackupStoreFileEncodeStream.h Log Message: ----------- Enable errors on unused private fields (-Werror=unused-private-field) Fix compile failure due to unused private field. In CMake release builds, RaidBackupFileSystem::mDiscSet was initialized but never read, and this was detected by -Werror,-Wunused-private-field. Now the field is totally compiled out of release builds, and by using the correct preprocessor define, CMake and the Perl buildsystem now behave the same. (cherry picked from commit d0f88e70f9c841bf2f8baedb89ec28523b2e357d) Commit: 5c95d928ee84e076db26853f6308a98cc7f403f9 https://github.com/boxbackup/boxbackup/commit/5c95d928ee84e076db26853f6308a98cc7f403f9 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M bin/bbstoreaccounts/bbstoreaccounts.cpp M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- Make BackupAccountControl throw exceptions on lock failure Remove the compatibility code that caught these exceptions and made the functions return 1 instead of throwing the exception. Make bbstoreaccounts catch these exceptions and exit with status 1 instead. Commit: 95be9a668303adea8ad2826bd7996d97527b1c33 https://github.com/boxbackup/boxbackup/commit/95be9a668303adea8ad2826bd7996d97527b1c33 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M bin/bbstoreaccounts/bbstoreaccounts.cpp Log Message: ----------- bbstoreaccounts: more refactoring to support non-raidfile backends Commit: f17b2da5e02b430af61f397a502839d1c6170acf https://github.com/boxbackup/boxbackup/commit/f17b2da5e02b430af61f397a502839d1c6170acf Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupCommands.cpp Log Message: ----------- Remove unused #includes from BackupCommands.cpp Commit: be929a159c1a02decca10f20686fb8c0218d4b75 https://github.com/boxbackup/boxbackup/commit/be929a159c1a02decca10f20686fb8c0218d4b75 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupConstants.h M lib/backupstore/StoreStructure.cpp Log Message: ----------- Add a constant for WRITE_LOCK_FILENAME Commit: 3c212e8f1134361f2bc7f9f68076133f1cf37214 https://github.com/boxbackup/boxbackup/commit/3c212e8f1134361f2bc7f9f68076133f1cf37214 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Fix S3BackupFileSystem::GetAccountIdentifier() exception This makes it possible to call GetAccountIdentifier() on an account which doesn't currently have a BackupStoreInfo file, which allows us to log something relating to the account while locking it while creating it (and the BackupStoreInfo file). Commit: 2319f018999037136e5be002eb4c49df5395da76 https://github.com/boxbackup/boxbackup/commit/2319f018999037136e5be002eb4c49df5395da76 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupStoreCheck.cpp M lib/backupstore/BackupStoreContext.cpp M lib/backupstore/HousekeepStoreAccount.cpp M lib/backupstore/StoreTestUtils.cpp Log Message: ----------- Generalise BackupFileSystem::GetLock and reuse it This reduces code duplication (multiple implementations of locking retries) and also enables centralised logging of locking attempts, which can be more easily fine-tuned. (cherry picked from commit 0469e4a3bd7318547294ec5309aabffa488fc67f) Commit: ff34032345f6f9694e18ab227a9c5168662c285f https://github.com/boxbackup/boxbackup/commit/ff34032345f6f9694e18ab227a9c5168662c285f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/win32/getopt_long.cpp Log Message: ----------- Only replace getopt on Windows, not any other platform The preprocessor test was wrong, causing this code to be built (and potentially replace the system getopt/long) on all platforms. This made it impossible to build with -Werror=writable-strings on Unix without modifying this file further to fix its casting of static strings to mutable pointers. Commit: 01086537428a173c0ceb1557012f857cf321c5f8 https://github.com/boxbackup/boxbackup/commit/01086537428a173c0ceb1557012f857cf321c5f8 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/Utils.cpp Log Message: ----------- Enable -Werror=writable-strings and fix one such error Commit: 2f6e9654a25c8ee89bd8515a9f71674b1e65615f https://github.com/boxbackup/boxbackup/commit/2f6e9654a25c8ee89bd8515a9f71674b1e65615f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/server/makeprotocol.pl.in M test/basicserver/TestCommands.cpp M test/basicserver/TestProtocol.txt M test/basicserver/testbasicserver.cpp Log Message: ----------- Fix ProtocolError single-argument (subtype only) constructor Correctly initialise mType from the ErrorType CONSTANT in the protocol message definition in this case, instead of leaving it uninitialised. Add test. Also test that these unexpected errors cause the connection to be closed as expected. Also catch SIGPIPE so that the test doesn't die when the server process closes the connection to it. Commit: 22a8613ed523ffc5882021f4725ddd24320ba813 https://github.com/boxbackup/boxbackup/commit/22a8613ed523ffc5882021f4725ddd24320ba813 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/makebuildenv.pl.in Log Message: ----------- Fix build order for targets which depend on auto-generated files These auto-generated files should always be rebuilt first, and hence must be listed first in the dependencies. Otherwise, if we add a command to a Protocol.txt file and also implement that command in the Commands.cpp source file, we might try to compile Commands.cpp before rebuilding autogen_Protocol.h, which will fail with a compile error, which prevents Make from reaching the autogen_Protocol.cpp target which would cause the header file to be updated as a side effect, which would resolve the compile error. Commit: 07a7b318ed07ec37f16dc186d39e954146e2d590 https://github.com/boxbackup/boxbackup/commit/07a7b318ed07ec37f16dc186d39e954146e2d590 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/basicserver/testbasicserver.cpp Log Message: ----------- Check for both SocketReadError and SocketWriteError Depending on timing, we might get to send our message (in the test) and then fail to read the reply, or fail during writing instead. Commit: d325f01fd9c593283a8a189900afb9f0fc30c49f https://github.com/boxbackup/boxbackup/commit/d325f01fd9c593283a8a189900afb9f0fc30c49f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Fix GCC warnings about -Wno-* flags GCC suppresses warnings for -Wno-* flags unless another error occurs, so we need to use the opposite flag for detection purposes. Add an optional second argument to BOX_CHECK_CXX_FLAG to allow specifying that detection flag. (cherry picked from commit dd7377e3593f96b85cf82b446fe28a86f713fe61) Commit: 079e871f0ac860f52b6128d3930babb40d39d447 https://github.com/boxbackup/boxbackup/commit/079e871f0ac860f52b6128d3930babb40d39d447 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Fix cleanup of backupstore specialised tests In case of exception, ensure that teardown code is always run, to release filesystem lock before deleting files in standard tearDown(). (cherry picked from commit 69f205bafe925548d799df13d01d2e8ea5e5e7bc) Commit: c0e19ba1bea7d68197de34e9571ecc2d7fd52642 https://github.com/boxbackup/boxbackup/commit/c0e19ba1bea7d68197de34e9571ecc2d7fd52642 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Port test_server_housekeeping to BackupFileSystem Commit: 769405937d27b839cf8efe7f38d85835e8eceb84 https://github.com/boxbackup/boxbackup/commit/769405937d27b839cf8efe7f38d85835e8eceb84 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Fix 5f6680520574f15b97f92e151d93efc40be0f100 Don't swallow exceptions by returning before rethrowing them Commit: 75c2724455894a690b1d26145e97dc0d4d00981d https://github.com/boxbackup/boxbackup/commit/75c2724455894a690b1d26145e97dc0d4d00981d Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/StoreTestUtils.cpp M lib/backupstore/StoreTestUtils.h M test/backupstore/testbackupstore.cpp Log Message: ----------- Port test_directory_parent_entry_tracks_directory_size to BackupFileSystem Implement as a specialised test, and run on S3 as well. This requires implementation of S3BackupFileSystem::DeleteFile and DeleteDirectory, and a version of change_account_limits which takes a reference to a BackupAccountControl. Commit: a19124c7caf43317afe88cc93145d14a798b9b6f https://github.com/boxbackup/boxbackup/commit/a19124c7caf43317afe88cc93145d14a798b9b6f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h Log Message: ----------- Add detailed logging of BackupFileSystem locks This logging is categorised, so it can be enabled with fine-tuning using the -L command-line option. (cherry picked from commit 7a2572c446b4a95f18eda04e72f6aabfd9544e04) Commit: 7a863f239eb8aa92443da221870565e99660b51e https://github.com/boxbackup/boxbackup/commit/7a863f239eb8aa92443da221870565e99660b51e Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/win32/emu.h Log Message: ----------- Fix missing define causing unnecessary stat() on Windows (cherry picked from commit c38e93f27ebcad6572b2cc17e4e74bf8315ddca2) Commit: a8090b050b460a7a9e0df70178042c6f4e4d3759 https://github.com/boxbackup/boxbackup/commit/a8090b050b460a7a9e0df70178042c6f4e4d3759 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/bbackupd/BackupClientInodeToIDMap.cpp Log Message: ----------- Remove duplicate QDBM logging macros from BackupClientInodeToIDMap.cpp Commit: 85627284884480e66aa9e0114c6381f97089c23f https://github.com/boxbackup/boxbackup/commit/85627284884480e66aa9e0114c6381f97089c23f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstorefix/testbackupstorefix.cpp Log Message: ----------- Enable detailed logging of locking in test/backupstorefix This should help diagnose occasional locking problems causing test failures on AppVeyor. (cherry picked from commit 94f75ac0476c2264ed80f51c5d4014639dccb407) Commit: 8744de0723d0621d9986a79e565c69e0ce60b452 https://github.com/boxbackup/boxbackup/commit/8744de0723d0621d9986a79e565c69e0ce60b452 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M lib/common/Logging.cpp M lib/common/Logging.h Log Message: ----------- Allow using LogLevelOverrideByFileGuard as a guard After calling its Install() method, the guard will be installed in the central logging configuration, and will automatically be uninstalled when the object goes out of scope and is destroyed. (cherry picked from commit 2b5b65b2dccfa2a88688e0103dc4996a039c515c) Commit: 6d48c54051603810fea967ba6e6806d313653df5 https://github.com/boxbackup/boxbackup/commit/6d48c54051603810fea967ba6e6806d313653df5 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupStoreAccounts.cpp M lib/backupstore/BackupStoreAccounts.h M test/backupstorefix/testbackupstorefix.cpp M test/bbackupd/testbbackupd.cpp Log Message: ----------- Remove BackupStoreAccounts::LockAccount Replace with BackupFileSystem::GetLock where used (only in tests at this point). Commit: 3a7c17691c06b023d24e5f603481bc38b8272c40 https://github.com/boxbackup/boxbackup/commit/3a7c17691c06b023d24e5f603481bc38b8272c40 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- test/common: use setup and teardown macros on each test case Commit: 94d61c326efce024e8b76ba7f6a92caa378438e1 https://github.com/boxbackup/boxbackup/commit/94d61c326efce024e8b76ba7f6a92caa378438e1 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- Add tests for exclusivity of locking Commit: eb2d455931904b6d5f5d87b7e5cd2ab3cd0615c3 https://github.com/boxbackup/boxbackup/commit/eb2d455931904b6d5f5d87b7e5cd2ab3cd0615c3 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M appveyor.yml Log Message: ----------- Mark master branch builds as full releases (not pre-releases) on GitHub Commit: 94c136343ed312e6a44ca185b6e58677adcde34e https://github.com/boxbackup/boxbackup/commit/94c136343ed312e6a44ca185b6e58677adcde34e Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/backupclient/BackupDaemonConfigVerify.cpp M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/common/Configuration.h M test/backupstore/testbackupstore.cpp M test/backupstore/testfiles/bbackupd.conf M test/s3store/testfiles/bbackupd.conf Log Message: ----------- Add S3 BackupFileSystem locking using SimpleDB Commit: 6d264b738348f310ec9440998f835054529d1cee https://github.com/boxbackup/boxbackup/commit/6d264b738348f310ec9440998f835054529d1cee Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Build 64-bit OpenSSL in Windows superbuild Commit: b3642446f7e5af13da69c2368c1441db5c2599d1 https://github.com/boxbackup/boxbackup/commit/b3642446f7e5af13da69c2368c1441db5c2599d1 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupStoreContext.cpp Log Message: ----------- BackupStoreContext: improve log messages regarding the cache Commit: 4308764341eb8bbed27f94bbab2e663ebb470f50 https://github.com/boxbackup/boxbackup/commit/4308764341eb8bbed27f94bbab2e663ebb470f50 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- BackupAccountControl: silence exceptions during CreateAccount We expect that the raidfile or HTTP file doesn't exist during CreateAccount, so the exception message is unhelpful, so suppress it. Commit: ac6e1edc067f31a36ea159fd6adbf9ef2356bf44 https://github.com/boxbackup/boxbackup/commit/ac6e1edc067f31a36ea159fd6adbf9ef2356bf44 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/StoreTestUtils.cpp M lib/backupstore/StoreTestUtils.h M test/backupstore/testbackupstore.cpp M test/bbackupd/testbbackupd.cpp Log Message: ----------- Remove remaining calls to check_num_files() without a BackupFileSystem Commit: cb25823e008c0718fe0aa3078225a50775f8f404 https://github.com/boxbackup/boxbackup/commit/cb25823e008c0718fe0aa3078225a50775f8f404 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupStoreInfo.cpp M lib/backupstore/BackupStoreInfo.h M test/backupstore/testbackupstore.cpp Log Message: ----------- Refactor BackupStoreInfo to remove legacy RaidFile support Commit: cf52c5030c8b80aeefb2a0a0a42bd82829b806c8 https://github.com/boxbackup/boxbackup/commit/cf52c5030c8b80aeefb2a0a0a42bd82829b806c8 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Run test_account_limits_respected on S3 BackupFileSystem Commit: c337d040f9eb8263febc3aa23afeb7e897c7f657 https://github.com/boxbackup/boxbackup/commit/c337d040f9eb8263febc3aa23afeb7e897c7f657 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Add a test for S3BackupFileSystem and its RevisionID calculation Commit: b8447f7b8b388daff84f7f810dd0705976c74f6e https://github.com/boxbackup/boxbackup/commit/b8447f7b8b388daff84f7f810dd0705976c74f6e Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstorefix/testbackupstorefix.cpp Log Message: ----------- Refactor testbackupstorefix to reduce code duplication Commit: 320ae10198b2cb3f9a99c4a7da74897a3d4d7d95 https://github.com/boxbackup/boxbackup/commit/320ae10198b2cb3f9a99c4a7da74897a3d4d7d95 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- testbackupstorepatch: improve debugging messages Commit: 7236bcf426f3842d28ca1a30081dfd689257c8dc https://github.com/boxbackup/boxbackup/commit/7236bcf426f3842d28ca1a30081dfd689257c8dc Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- Port test/backupstorepatch to use BackupFileSystem Make testbackupstorepatch do housekeeping in-process to make debugging easier. Check return value of housekeeping to ensure that no errors were detected. Commit: 445c7e721a600cca865b93ec43bebeacb1b97088 https://github.com/boxbackup/boxbackup/commit/445c7e721a600cca865b93ec43bebeacb1b97088 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/bbackupd/BackupDaemon.cpp M lib/bbstored/BBStoreDHousekeeping.cpp Log Message: ----------- Suppress exception messages in LineBuffer::GetLine These exceptions are used to communicate state to the caller, and should not be treated as errors in common cases. (cherry picked from commit 86f3e9c0f4916741bbed20e04a4b4f2d71bb4f32) Commit: f5a786779277627ca40c76d42fbab9b36ec9eaab https://github.com/boxbackup/boxbackup/commit/f5a786779277627ca40c76d42fbab9b36ec9eaab Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/bbstored/BBStoreDHousekeeping.cpp M lib/bbstored/BackupStoreDaemon.cpp M lib/server/Daemon.cpp M lib/server/Daemon.h M lib/server/ServerStream.h Log Message: ----------- Clear up Daemon command-line arguments -D and -F By separating their roles (which used to overlap) it's now possible to run a forking server in the foreground, or a non-forking daemon in the background, which can be useful for debugging (for example, to more closely simulate how test daemons work on Windows when running on Unix). -DF is now needed to have a non-forking server in the foreground. (cherry picked from commit b31c0e4abd4875bb25ff7a918ed5bc7f7faf595d) Commit: 5cfe9afde9b928577ae68f1264f7c588695768d9 https://github.com/boxbackup/boxbackup/commit/5cfe9afde9b928577ae68f1264f7c588695768d9 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/common/NamedLock.cpp M lib/common/NamedLock.h Log Message: ----------- Eliminate conditional code for Windows file handles from NamedLock Should improve code readability and robustness. (cherry picked from commit e773e4ccefcdab8f01b1a3bf7d828c3bb39eaaa7) Commit: 014de07d0bfb4cc42a30b6655303c2e38f13c458 https://github.com/boxbackup/boxbackup/commit/014de07d0bfb4cc42a30b6655303c2e38f13c458 Author: Chris Wilson Date: 2018-01-10 (Wed, 10 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Compare: https://github.com/boxbackup/boxbackup/compare/77ae23f1225d...014de07d0bfb From noreply at github.com Wed Jan 10 21:05:16 2018 From: noreply at github.com (GitHub) Date: Wed, 10 Jan 2018 13:05:16 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a56800c64b03_c172b14db5c3c1082789@hookshot-fe-31feec6.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180110.014de07 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Wed Jan 10 21:20:10 2018 From: noreply at github.com (GitHub) Date: Wed, 10 Jan 2018 13:20:10 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] c39226: Improve NamedLock code readability, reliability an... Message-ID: <5a56838a14645_37372b1866423c14527f4@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: c39226efb21c233c1f8362e3ea942e2078ff658b https://github.com/boxbackup/boxbackup/commit/c39226efb21c233c1f8362e3ea942e2078ff658b Author: Chris Wilson Date: 2018-01-10 (Wed, 10 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) From noreply at github.com Wed Jan 10 21:36:45 2018 From: noreply at github.com (GitHub) Date: Wed, 10 Jan 2018 13:36:45 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 60db86: Improve NamedLock code readability, reliability an... Message-ID: <5a56876d66cbe_39532abc9707fc1420521@hookshot-fe-6b2eebc.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 60db86c1933f4a7a5a3c4cdc117c80285a822d73 https://github.com/boxbackup/boxbackup/commit/60db86c1933f4a7a5a3c4cdc117c80285a822d73 Author: Chris Wilson Date: 2018-01-10 (Wed, 10 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) From noreply at github.com Wed Jan 10 22:00:57 2018 From: noreply at github.com (GitHub) Date: Wed, 10 Jan 2018 14:00:57 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] c39226: Improve NamedLock code readability, reliability an... Message-ID: <5a568d1962d05_35d52b0d9d20dc143633f@hookshot-fe-6b2eebc.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180110.c39226e Home: https://github.com/boxbackup/boxbackup Commit: c39226efb21c233c1f8362e3ea942e2078ff658b https://github.com/boxbackup/boxbackup/commit/c39226efb21c233c1f8362e3ea942e2078ff658b Author: Chris Wilson Date: 2018-01-10 (Wed, 10 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) From noreply at github.com Wed Jan 10 22:29:08 2018 From: noreply at github.com (GitHub) Date: Wed, 10 Jan 2018 14:29:08 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a5693b48dbd8_2f8c2afefcdb5bfc40371@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180110.60db86c Home: https://github.com/boxbackup/boxbackup From noreply at github.com Fri Jan 12 22:04:00 2018 From: noreply at github.com (GitHub) Date: Fri, 12 Jan 2018 14:04:00 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 667636: Improve NamedLock code readability, reliability an... Message-ID: <5a5930d0d92f_71212b16662e5c008526a@hookshot-fe-6e9b612.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 6676367339c9ae2be62f979d417d917cee236fcc https://github.com/boxbackup/boxbackup/commit/6676367339c9ae2be62f979d417d917cee236fcc Author: Chris Wilson Date: 2017-12-09 (Sat, 09 Dec 2017) Changed paths: M infrastructure/m4/boxbackup_tests.m4 A lib/common/BoxConfig.h.in~ M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) From noreply at github.com Fri Jan 12 22:10:10 2018 From: noreply at github.com (GitHub) Date: Fri, 12 Jan 2018 14:10:10 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 60db86: Improve NamedLock code readability, reliability an... Message-ID: <5a593242d13e1_63942ac25c8e3c009698@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 60db86c1933f4a7a5a3c4cdc117c80285a822d73 https://github.com/boxbackup/boxbackup/commit/60db86c1933f4a7a5a3c4cdc117c80285a822d73 Author: Chris Wilson Date: 2018-01-10 (Wed, 10 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Commit: 35ab52f6fc3b5576e8e3664356abd998825a2144 https://github.com/boxbackup/boxbackup/commit/35ab52f6fc3b5576e8e3664356abd998825a2144 Author: Chris Wilson Date: 2018-01-12 (Fri, 12 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 A lib/common/BoxConfig.h.in~ M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Compare: https://github.com/boxbackup/boxbackup/compare/6676367339c9...35ab52f6fc3b From noreply at github.com Fri Jan 12 22:38:25 2018 From: noreply at github.com (GitHub) Date: Fri, 12 Jan 2018 14:38:25 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a5938e1bd007_154b2ad49b20fc0c35326@hookshot-fe-31feec6.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180112.35ab52f Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sat Jan 13 11:11:02 2018 From: noreply at github.com (GitHub) Date: Sat, 13 Jan 2018 03:11:02 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] cc1b6d: Improve NamedLock code readability, reliability an... Message-ID: <5a59e9464aec7_70162ae59502fc1063463@hookshot-fe-da92815.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: cc1b6d639729136341ea23ccf660ef77606ec325 https://github.com/boxbackup/boxbackup/commit/cc1b6d639729136341ea23ccf660ef77606ec325 Author: Chris Wilson Date: 2018-01-13 (Sat, 13 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Commit: d1f446eeac471d7533a3fcea3c79c51fed9e5425 https://github.com/boxbackup/boxbackup/commit/d1f446eeac471d7533a3fcea3c79c51fed9e5425 Author: Chris Wilson Date: 2018-01-13 (Sat, 13 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) Compare: https://github.com/boxbackup/boxbackup/compare/35ab52f6fc3b...d1f446eeac47 From noreply at github.com Sat Jan 13 21:15:03 2018 From: noreply at github.com (GitHub) Date: Sat, 13 Jan 2018 13:15:03 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 20f64f: Add support for OpenSSL 1.1 and replace deprecated... Message-ID: <5a5a76d7bed20_1f4af2aacda819c0867288@hookshot-fe-dfcc362.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 20f64fbf6d44fc8e775f774c1f6f4b7f6289980b https://github.com/boxbackup/boxbackup/commit/20f64fbf6d44fc8e775f774c1f6f4b7f6289980b Author: Chris Wilson Date: 2018-01-13 (Sat, 13 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) From noreply at github.com Sat Jan 13 21:43:29 2018 From: noreply at github.com (GitHub) Date: Sat, 13 Jan 2018 13:43:29 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a5a7d8146843_6d092ad3f9c8dc0894333@hookshot-fe-6e9b612.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180113.20f64fb Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sat Jan 13 22:34:33 2018 From: noreply at github.com (GitHub) Date: Sat, 13 Jan 2018 14:34:33 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 15fb77: Improve logging in test/basicserver to help debug ... Message-ID: <5a5a897989022_38322afec881fc0899792@hookshot-fe-b0febf1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 15fb77125246aa56495b46498da74b23d217ed43 https://github.com/boxbackup/boxbackup/commit/15fb77125246aa56495b46498da74b23d217ed43 Author: Chris Wilson Date: 2018-01-13 (Sat, 13 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures From noreply at github.com Sat Jan 13 23:05:23 2018 From: noreply at github.com (GitHub) Date: Sat, 13 Jan 2018 15:05:23 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a5a90b371a84_69e52b116ef4bc088166d@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180113.15fb771 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sun Jan 14 18:39:05 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 10:39:05 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 369995: Improve NamedLock code readability, reliability an... Message-ID: <5a5ba3c978cfd_6f662afe6336fc04404fa@hookshot-fe-6e9b612.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 3699952eb0c9d599ab153fc8d13cb74e899706b0 https://github.com/boxbackup/boxbackup/commit/3699952eb0c9d599ab153fc8d13cb74e899706b0 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Commit: 9840962df6cc8a450f887d6fe86650a08452ab0f https://github.com/boxbackup/boxbackup/commit/9840962df6cc8a450f887d6fe86650a08452ab0f Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) Commit: ecad3c1dc4378e4be7b4736cca202564fe7e2e3b https://github.com/boxbackup/boxbackup/commit/ecad3c1dc4378e4be7b4736cca202564fe7e2e3b Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures Compare: https://github.com/boxbackup/boxbackup/compare/15fb77125246...ecad3c1dc437 From noreply at github.com Sun Jan 14 19:26:29 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 11:26:29 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 7a4b85: Improve NamedLock code readability, reliability an... Message-ID: <5a5baee54f116_633d2b1d277d9c08745d@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 7a4b85df5c7fc9c6675a2a0a7d14c4b59fe399b0 https://github.com/boxbackup/boxbackup/commit/7a4b85df5c7fc9c6675a2a0a7d14c4b59fe399b0 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) (cherry picked from commit 3699952eb0c9d599ab153fc8d13cb74e899706b0) Commit: 36519d7cef16d92c89f523ca95b0fbe0210be144 https://github.com/boxbackup/boxbackup/commit/36519d7cef16d92c89f523ca95b0fbe0210be144 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) (cherry picked from commit 9840962df6cc8a450f887d6fe86650a08452ab0f) Commit: 44b7965ba6f5e802abbaf46a0cc38f21a9f5eaa5 https://github.com/boxbackup/boxbackup/commit/44b7965ba6f5e802abbaf46a0cc38f21a9f5eaa5 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures (cherry picked from commit ecad3c1dc4378e4be7b4736cca202564fe7e2e3b) Compare: https://github.com/boxbackup/boxbackup/compare/73277aaa1867...44b7965ba6f5 From noreply at github.com Sun Jan 14 19:31:12 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 11:31:12 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 6010f6: Improve NamedLock code readability, reliability an... Message-ID: <5a5bb0001510_4c902ab134db3c14546ec@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 6010f602c4ab099880d18350aea7a3583c9be9ed https://github.com/boxbackup/boxbackup/commit/6010f602c4ab099880d18350aea7a3583c9be9ed Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Commit: e5c859b19459dccb327066de13d448ab1ee80d5d https://github.com/boxbackup/boxbackup/commit/e5c859b19459dccb327066de13d448ab1ee80d5d Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) Commit: 42798c09b437ae6ba21c296c1b9914d012cc124a https://github.com/boxbackup/boxbackup/commit/42798c09b437ae6ba21c296c1b9914d012cc124a Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures Compare: https://github.com/boxbackup/boxbackup/compare/ecad3c1dc437...42798c09b437 From noreply at github.com Sun Jan 14 19:31:57 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 11:31:57 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 369995: Improve NamedLock code readability, reliability an... Message-ID: <5a5bb02d10124_4b072b1c6383bc1053640@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180114.ecad3c1 Home: https://github.com/boxbackup/boxbackup Commit: 3699952eb0c9d599ab153fc8d13cb74e899706b0 https://github.com/boxbackup/boxbackup/commit/3699952eb0c9d599ab153fc8d13cb74e899706b0 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Commit: 9840962df6cc8a450f887d6fe86650a08452ab0f https://github.com/boxbackup/boxbackup/commit/9840962df6cc8a450f887d6fe86650a08452ab0f Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) Commit: ecad3c1dc4378e4be7b4736cca202564fe7e2e3b https://github.com/boxbackup/boxbackup/commit/ecad3c1dc4378e4be7b4736cca202564fe7e2e3b Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures Compare: https://github.com/boxbackup/boxbackup/compare/3699952eb0c9^...ecad3c1dc437 From noreply at github.com Sun Jan 14 19:32:17 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 11:32:17 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] c196ad: Improve NamedLock code readability, reliability an... Message-ID: <5a5bb041e788d_74a62aeb13b27c0c1056b5@hookshot-fe-da92815.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: c196ad21e8331bc7c47dc3b9434019508e44b160 https://github.com/boxbackup/boxbackup/commit/c196ad21e8331bc7c47dc3b9434019508e44b160 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) (cherry picked from commit 3699952eb0c9d599ab153fc8d13cb74e899706b0) Commit: 451d744e5e01999e72191387967124c037496fad https://github.com/boxbackup/boxbackup/commit/451d744e5e01999e72191387967124c037496fad Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) (cherry picked from commit 9840962df6cc8a450f887d6fe86650a08452ab0f) Commit: 3ec5592cc149217d97aa8ffe8ba3fdd05768246f https://github.com/boxbackup/boxbackup/commit/3ec5592cc149217d97aa8ffe8ba3fdd05768246f Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures (cherry picked from commit ecad3c1dc4378e4be7b4736cca202564fe7e2e3b) Compare: https://github.com/boxbackup/boxbackup/compare/44b7965ba6f5...3ec5592cc149 From noreply at github.com Sun Jan 14 19:58:38 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 11:58:38 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a5bb66e23b81_40bc2b0252e1dc08732c0@hookshot-fe-265448d.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180114.42798c0 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sun Jan 14 20:04:41 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 12:04:41 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 7a09c8: Add support for OpenSSL 1.1 and replace deprecated... Message-ID: <5a5bb7d913a90_c352b1fd5d25c105645e@hookshot-fe-31feec6.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 7a09c89c76d9529db474a952a067efe654aa8a2a https://github.com/boxbackup/boxbackup/commit/7a09c89c76d9529db474a952a067efe654aa8a2a Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) (cherry picked from commit 9840962df6cc8a450f887d6fe86650a08452ab0f) Commit: 4b8b7d83f2fa77d080883218e90bb5df60d6b8e1 https://github.com/boxbackup/boxbackup/commit/4b8b7d83f2fa77d080883218e90bb5df60d6b8e1 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures (cherry picked from commit ecad3c1dc4378e4be7b4736cca202564fe7e2e3b) Commit: 42da19b943b3a1d76d0dbc0f537c61e2ad7c7a2e https://github.com/boxbackup/boxbackup/commit/42da19b943b3a1d76d0dbc0f537c61e2ad7c7a2e Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Build 64-bit OpenSSL for 64-bit Windows superbuilds Compare: https://github.com/boxbackup/boxbackup/compare/3ec5592cc149...42da19b943b3 From noreply at github.com Sun Jan 14 20:05:12 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 12:05:12 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 4c9eed: Mark master branch builds as full releases (not pr... Message-ID: <5a5bb7f8cc317_23fc2ab177fafc1416171@hookshot-fe-7191cb1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 4c9eed55c5ee93f60bcee6d84c26f51be57b07c2 https://github.com/boxbackup/boxbackup/commit/4c9eed55c5ee93f60bcee6d84c26f51be57b07c2 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml Log Message: ----------- Mark master branch builds as full releases (not pre-releases) on GitHub (cherry picked from commit eb2d455931904b6d5f5d87b7e5cd2ab3cd0615c3) From noreply at github.com Sun Jan 14 20:05:58 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 12:05:58 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 6dc2c6: Travis CI: exclude (don't build) tags created by A... Message-ID: <5a5bb826e04a5_55312b076ddc5c04225f@hookshot-fe-cace476.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 6dc2c6c3b27328f5e377a859a18771b61273ed64 https://github.com/boxbackup/boxbackup/commit/6dc2c6c3b27328f5e377a859a18771b61273ed64 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) 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. (cherry picked from commit 58870818a787cd658fa7b9df90a9a90f5fb6ee45) From noreply at github.com Sun Jan 14 20:38:30 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 12:38:30 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] f453c0: CMakeLists: remove checks not needed to detect Get... Message-ID: <5a5bbfc61bda_2d7f2acee1cf7c10275eb@hookshot-fe-d2afb11.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: f453c03f4f3872e3753906f1a0ceb72080a4e19d https://github.com/boxbackup/boxbackup/commit/f453c03f4f3872e3753906f1a0ceb72080a4e19d Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt Log Message: ----------- CMakeLists: remove checks not needed to detect GetUserNameA From noreply at github.com Sun Jan 14 20:42:16 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 12:42:16 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 3c63a5: BackupAccountControl: silence exceptions during Cr... Message-ID: <5a5bc0a846f1c_5fe52ad9aa85bc00473e@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 3c63a5a07399037acb1f59d19db05e74eaf29bf4 https://github.com/boxbackup/boxbackup/commit/3c63a5a07399037acb1f59d19db05e74eaf29bf4 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- BackupAccountControl: silence exceptions during CreateAccount We expect that the raidfile or HTTP file doesn't exist during CreateAccount, so the exception message is unhelpful, so suppress it. (cherry picked from commit 4308764341eb8bbed27f94bbab2e663ebb470f50) From noreply at github.com Sun Jan 14 20:59:44 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 12:59:44 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] d1e686: Make RaidBackupFileSystem destructor call ReleaseL... Message-ID: <5a5bc4c0d226d_232e2b03e8a99c0c514fd@hookshot-fe-5a11256.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: d1e6861d220245311052a327242201c1d15d7a31 https://github.com/boxbackup/boxbackup/commit/d1e6861d220245311052a327242201c1d15d7a31 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.h Log Message: ----------- Make RaidBackupFileSystem destructor call ReleaseLock() to reduce duplication From noreply at github.com Sun Jan 14 21:22:00 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 13:22:00 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] fdd527: Move check for -Werror=narrowing to join other -We... Message-ID: <5a5bc9f87ca0_43142ad60f093c147489@hookshot-fe-265448d.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: fdd5276d466d73d65472ba146708ed0602d52c66 https://github.com/boxbackup/boxbackup/commit/fdd5276d466d73d65472ba146708ed0602d52c66 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Move check for -Werror=narrowing to join other -Werror checks From noreply at github.com Sun Jan 14 21:52:42 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 13:52:42 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] bcb826: Reorganise BackupFileSystem declaration more sensi... Message-ID: <5a5bd12ab1fc4_4b762b204aff5c04684d9@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: bcb826e423078afe8604692d86d10fca777189f8 https://github.com/boxbackup/boxbackup/commit/bcb826e423078afe8604692d86d10fca777189f8 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.h Log Message: ----------- Reorganise BackupFileSystem declaration more sensibly Commit: 30aef4d83b5019fa9e73ee9d510349a01ec049f3 https://github.com/boxbackup/boxbackup/commit/30aef4d83b5019fa9e73ee9d510349a01ec049f3 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupStoreAccounts.cpp M lib/backupstore/BackupStoreAccounts.h M lib/backupstore/BackupStoreCheck.cpp M lib/backupstore/BackupStoreCheck.h M lib/backupstore/BackupStoreCheck2.cpp M lib/backupstore/BackupStoreInfo.h M test/backupstore/testbackupstore.cpp M test/backupstorepatch/testbackupstorepatch.cpp M test/httpserver/testhttpserver.cpp Log Message: ----------- Remove unused code, to reduce diffs to s3_support_merge Commit: 678750e2e7dde81626ee1eedbe94bd7d9db3371f https://github.com/boxbackup/boxbackup/commit/678750e2e7dde81626ee1eedbe94bd7d9db3371f Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/httpserver/HTTPException.txt Log Message: ----------- Remove full stops from ends of exception messages Commit: aaa5301dd475643ac0e8bb8ee95bda5124586a20 https://github.com/boxbackup/boxbackup/commit/aaa5301dd475643ac0e8bb8ee95bda5124586a20 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M test/bbackupd/testbbackupd.cpp Log Message: ----------- Increase test verbosity level in test_store_error_reporting, to debug timing Compare: https://github.com/boxbackup/boxbackup/compare/d1e6861d2202...aaa5301dd475 From noreply at github.com Sun Jan 14 22:40:30 2018 From: noreply at github.com (GitHub) Date: Sun, 14 Jan 2018 14:40:30 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a5bdc5e283e1_54b52abc737c5c0429538@hookshot-fe-cace476.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180114.fdd5276 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Mon Jan 15 21:27:55 2018 From: noreply at github.com (GitHub) Date: Mon, 15 Jan 2018 13:27:55 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 6a8f09: Add protocol logging to help debug test/basicserve... Message-ID: <5a5d1cdb6094e_2ff22b0ff26dfc0423436@hookshot-fe-6b2eebc.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 6a8f093218aba50063022ba41c497db790a3f0f5 https://github.com/boxbackup/boxbackup/commit/6a8f093218aba50063022ba41c497db790a3f0f5 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/server/Protocol.cpp Log Message: ----------- Add protocol logging to help debug test/basicserver timeouts on FreeBSD From noreply at github.com Mon Jan 15 21:35:38 2018 From: noreply at github.com (GitHub) Date: Mon, 15 Jan 2018 13:35:38 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] d78ce9: Remove unused #includes from BackupStoreContext.cp... Message-ID: <5a5d1eaa5f9b6_48bb2b08cc835c0c70953@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: d78ce9d1ab1cff0217dc1ae1565d1038d255481e https://github.com/boxbackup/boxbackup/commit/d78ce9d1ab1cff0217dc1ae1565d1038d255481e Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupStoreContext.cpp Log Message: ----------- Remove unused #includes from BackupStoreContext.cpp From noreply at github.com Mon Jan 15 21:42:03 2018 From: noreply at github.com (GitHub) Date: Mon, 15 Jan 2018 13:42:03 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] ab86c8: Add some comments Message-ID: <5a5d202b318c2_13e12b22c6b19c0c550c3@hookshot-fe-2cc8887.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: ab86c81f257f093315cb710a09115f24e3d373e3 https://github.com/boxbackup/boxbackup/commit/ab86c81f257f093315cb710a09115f24e3d373e3 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/HousekeepStoreAccount.cpp M lib/bbstored/BBStoreDHousekeeping.cpp Log Message: ----------- Add some comments Commit: feeee65ac3cbad0090e55de8833c4aa7097f5dbb https://github.com/boxbackup/boxbackup/commit/feeee65ac3cbad0090e55de8833c4aa7097f5dbb Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/common/Configuration.cpp Log Message: ----------- Improve exception messages when configuration keys are missing or invalid. Include a message in the exception, and reuse code to make them consistent. Whitespace cleanup. (cherry picked from commit 8589bd9a2d977a86be2917a382c2559858e63bff) Compare: https://github.com/boxbackup/boxbackup/compare/d78ce9d1ab1c...feeee65ac3cb From noreply at github.com Mon Jan 15 21:44:00 2018 From: noreply at github.com (GitHub) Date: Mon, 15 Jan 2018 13:44:00 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 2cc729: Wait for housekeeping to finish before bbstored ex... Message-ID: <5a5d20a05c66b_73d62aae9d373c0c54249@hookshot-fe-da92815.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 2cc729b45d60f3c9b920a459538171882a564b0d https://github.com/boxbackup/boxbackup/commit/2cc729b45d60f3c9b920a459538171882a564b0d Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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. (cherry picked from commit 0100d3185abf10b17ff7727f2c0f2d8fb6b724d4) From noreply at github.com Mon Jan 15 21:51:42 2018 From: noreply at github.com (GitHub) Date: Mon, 15 Jan 2018 13:51:42 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] ddbd18: Win32: add experimental stack backtraces with symb... Message-ID: <5a5d226e6ca5d_303d2ae7c060bc1091346@hookshot-fe-d2afb11.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: ddbd18f29ff595f15135b7a4e4a4b14562ce9828 https://github.com/boxbackup/boxbackup/commit/ddbd18f29ff595f15135b7a4e4a4b14562ce9828 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 091555341fd113fd4f4f64c67eebfd62dddfea81 https://github.com/boxbackup/boxbackup/commit/091555341fd113fd4f4f64c67eebfd62dddfea81 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: affc81a5e4920c0a661f397a1029700167b5e113 https://github.com/boxbackup/boxbackup/commit/affc81a5e4920c0a661f397a1029700167b5e113 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 054ae876e892eab12fb89a2812ee552fab9c0d27 https://github.com/boxbackup/boxbackup/commit/054ae876e892eab12fb89a2812ee552fab9c0d27 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 61587bdc27a6b59be43bb96255b787202ced663d https://github.com/boxbackup/boxbackup/commit/61587bdc27a6b59be43bb96255b787202ced663d Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.h Log Message: ----------- Use the correct preprocessor define for release builds (cherry picked from commit 085149bf1c2c287ee744f2e094a99a77fc89dc60) Commit: c0e4722a1ffba3b6065eeea1670d94f039238d17 https://github.com/boxbackup/boxbackup/commit/c0e4722a1ffba3b6065eeea1670d94f039238d17 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: f4f026194b9146cebc14712ded5786389c12c882 https://github.com/boxbackup/boxbackup/commit/f4f026194b9146cebc14712ded5786389c12c882 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstorefix/testbackupstorefix.cpp Log Message: ----------- test/backupstorefix: tag bbstoreaccounts check output in tests (cherry picked from commit c31d7143273f2d5257ec690e894442a8398aaf21) Commit: c6038419372534dba578da0c1b506bebc64f8f67 https://github.com/boxbackup/boxbackup/commit/c6038419372534dba578da0c1b506bebc64f8f67 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: bece5fe720528cf96cb57bd70d9b7f93195a0277 https://github.com/boxbackup/boxbackup/commit/bece5fe720528cf96cb57bd70d9b7f93195a0277 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 4d7e654ffd3f9153e3e126253a05fcb42f22bdaa https://github.com/boxbackup/boxbackup/commit/4d7e654ffd3f9153e3e126253a05fcb42f22bdaa Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: d5c59cfa6c77b3ad991cbbca47fe797e5ac102b2 https://github.com/boxbackup/boxbackup/commit/d5c59cfa6c77b3ad991cbbca47fe797e5ac102b2 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 5f3b823718181a646082f1f1234186c4c43e23b3 https://github.com/boxbackup/boxbackup/commit/5f3b823718181a646082f1f1234186c4c43e23b3 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 2d86ee040be9aa9d9d839c43545f9492549ce35e https://github.com/boxbackup/boxbackup/commit/2d86ee040be9aa9d9d839c43545f9492549ce35e Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 80ab4a9f1b6f786738aefdb319e195ee1839c624 https://github.com/boxbackup/boxbackup/commit/80ab4a9f1b6f786738aefdb319e195ee1839c624 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 03556743acf8065025d40c5a85b485bc42ac81a2 https://github.com/boxbackup/boxbackup/commit/03556743acf8065025d40c5a85b485bc42ac81a2 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 2338aa8b31f49309d593b0113216a3a62066d8cc https://github.com/boxbackup/boxbackup/commit/2338aa8b31f49309d593b0113216a3a62066d8cc Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: bea63fd83f43eabfdb5968567331902e64c8f14c https://github.com/boxbackup/boxbackup/commit/bea63fd83f43eabfdb5968567331902e64c8f14c Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: e64803b6936e8d5af2970de28d61075fe0cffc31 https://github.com/boxbackup/boxbackup/commit/e64803b6936e8d5af2970de28d61075fe0cffc31 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 4c5c0b7c7563141ad7b6d922ab68fdb9702c38f0 https://github.com/boxbackup/boxbackup/commit/4c5c0b7c7563141ad7b6d922ab68fdb9702c38f0 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 4768ca497f7565df9264d7f341a67e6c98ec0153 https://github.com/boxbackup/boxbackup/commit/4768ca497f7565df9264d7f341a67e6c98ec0153 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 8ec9aaa922a99e19c5e4603b89258a0eed34f356 https://github.com/boxbackup/boxbackup/commit/8ec9aaa922a99e19c5e4603b89258a0eed34f356 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 4c89e5972915cc01ff9ed17cd1e3d4db4728e236 https://github.com/boxbackup/boxbackup/commit/4c89e5972915cc01ff9ed17cd1e3d4db4728e236 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- Fix include ordering in testcommon.cpp Commit: 3a8ea56712a7b8a5025dfba615d1782d7239b311 https://github.com/boxbackup/boxbackup/commit/3a8ea56712a7b8a5025dfba615d1782d7239b311 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- Refactor testcommon to split into independent tests Remove redundant NamedLock tests. Commit: 15b0a1931693b9c9a858823f6cfa35318c47f810 https://github.com/boxbackup/boxbackup/commit/15b0a1931693b9c9a858823f6cfa35318c47f810 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 011fd40f21e677011c86ba9d6926c547ded33a8f https://github.com/boxbackup/boxbackup/commit/011fd40f21e677011c86ba9d6926c547ded33a8f Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: e3a8dd4f4839beb8ed61a66b730165a8b1de9045 https://github.com/boxbackup/boxbackup/commit/e3a8dd4f4839beb8ed61a66b730165a8b1de9045 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 3199cd883457039aeedf11bb76fdc5f04bf53ce8 https://github.com/boxbackup/boxbackup/commit/3199cd883457039aeedf11bb76fdc5f04bf53ce8 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: c49632e4416d99b614bfddcf640f1729f1740877 https://github.com/boxbackup/boxbackup/commit/c49632e4416d99b614bfddcf640f1729f1740877 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 7c5110b5baaa711827e3812479983e9893a74b7f https://github.com/boxbackup/boxbackup/commit/7c5110b5baaa711827e3812479983e9893a74b7f Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: b19bbca91e08274f87c6c4812c68e85488bb6569 https://github.com/boxbackup/boxbackup/commit/b19bbca91e08274f87c6c4812c68e85488bb6569 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: af96b968e15b2c11cebe66f15e17d9913e581afe https://github.com/boxbackup/boxbackup/commit/af96b968e15b2c11cebe66f15e17d9913e581afe Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: fae96d2329f6daa4e16d4bd517acd003000b514a https://github.com/boxbackup/boxbackup/commit/fae96d2329f6daa4e16d4bd517acd003000b514a Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 5382916629340063b10897a5118775dcf2efba70 https://github.com/boxbackup/boxbackup/commit/5382916629340063b10897a5118775dcf2efba70 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: d5782133190ad28f6befa0d17c447e48f97a33bb https://github.com/boxbackup/boxbackup/commit/d5782133190ad28f6befa0d17c447e48f97a33bb Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 28c66f0fc3a3e4244ceec5e35d03734fc066c0a1 https://github.com/boxbackup/boxbackup/commit/28c66f0fc3a3e4244ceec5e35d03734fc066c0a1 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: ea99dcaa604d69411f7366f634d155134be29821 https://github.com/boxbackup/boxbackup/commit/ea99dcaa604d69411f7366f634d155134be29821 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/httpserver/S3Simulator.cpp M test/httpserver/testhttpserver.cpp Log Message: ----------- Add support for S3-compatible ETag headers to S3Simulator Commit: 44379072a77241f670dec358e593f848c45b289b https://github.com/boxbackup/boxbackup/commit/44379072a77241f670dec358e593f848c45b289b Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 0dac53b4a31263fe8976237702538cd258fc86e1 https://github.com/boxbackup/boxbackup/commit/0dac53b4a31263fe8976237702538cd258fc86e1 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 1b88a189a7aa7d27cc4efbb58fba52010f946c23 https://github.com/boxbackup/boxbackup/commit/1b88a189a7aa7d27cc4efbb58fba52010f946c23 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: a18a23576e48df2679b0cc820d37f97b23f6c901 https://github.com/boxbackup/boxbackup/commit/a18a23576e48df2679b0cc820d37f97b23f6c901 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 53d731fb9acb89b6af0f2d47053802ae9f207d6b https://github.com/boxbackup/boxbackup/commit/53d731fb9acb89b6af0f2d47053802ae9f207d6b Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 97cf1c47edbef047680bbaa8f0328df313628896 https://github.com/boxbackup/boxbackup/commit/97cf1c47edbef047680bbaa8f0328df313628896 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: ee0dfb5d91293c5904c1cfe89279ea46ff63fbf1 https://github.com/boxbackup/boxbackup/commit/ee0dfb5d91293c5904c1cfe89279ea46ff63fbf1 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 71de481d1f28d4a674ad9e7d68b7e8f76bbea901 https://github.com/boxbackup/boxbackup/commit/71de481d1f28d4a674ad9e7d68b7e8f76bbea901 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 6ba7e2ba328f6b58ab5bd01d3d6b19cc6ce3ea87 https://github.com/boxbackup/boxbackup/commit/6ba7e2ba328f6b58ab5bd01d3d6b19cc6ce3ea87 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Switch PCRE back to an official release Commit: 92d7bcefdd06ab09c4c84861a4a794ba0049bdd2 https://github.com/boxbackup/boxbackup/commit/92d7bcefdd06ab09c4c84861a4a794ba0049bdd2 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 21f5ce8ba8bf4981b09d27b658ca64fa3144f4a5 https://github.com/boxbackup/boxbackup/commit/21f5ce8ba8bf4981b09d27b658ca64fa3144f4a5 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: c7423fbae071a9ad149e1c61e933bcc258efdfaf https://github.com/boxbackup/boxbackup/commit/c7423fbae071a9ad149e1c61e933bcc258efdfaf Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 6f030c0d0e4a7fb918379a1b7e4a1871bb788481 https://github.com/boxbackup/boxbackup/commit/6f030c0d0e4a7fb918379a1b7e4a1871bb788481 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 255d17d5a2efb547ea064e68112c84c08b99c416 https://github.com/boxbackup/boxbackup/commit/255d17d5a2efb547ea064e68112c84c08b99c416 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: edad605540ff8092eb462837522b45c66a84d084 https://github.com/boxbackup/boxbackup/commit/edad605540ff8092eb462837522b45c66a84d084 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 72d40fd64d7caf604989bb58f56a3f872e731104 https://github.com/boxbackup/boxbackup/commit/72d40fd64d7caf604989bb58f56a3f872e731104 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 924907956dff9fcfa9a9a0530ed44a6dc8e9a2f6 https://github.com/boxbackup/boxbackup/commit/924907956dff9fcfa9a9a0530ed44a6dc8e9a2f6 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 2573947264c2b1c536eb108fa9cd225e88c5ce0a https://github.com/boxbackup/boxbackup/commit/2573947264c2b1c536eb108fa9cd225e88c5ce0a Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: d6b23e6d6eedca1e89087b8fbf06665907d18173 https://github.com/boxbackup/boxbackup/commit/d6b23e6d6eedca1e89087b8fbf06665907d18173 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 8ac3ab1b1e278d7601d97fdfddb71289903875ad https://github.com/boxbackup/boxbackup/commit/8ac3ab1b1e278d7601d97fdfddb71289903875ad Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: ada15fb4061b3b88faba537343c1ed4d8578fc5d https://github.com/boxbackup/boxbackup/commit/ada15fb4061b3b88faba537343c1ed4d8578fc5d Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/HousekeepStoreAccount.cpp Log Message: ----------- Rename local variable First part of refactoring HousekeepStoreAccount to use BackupFileSystem. Commit: f979af8d1c95ce0485e4fd6ba6f704ee1abdf140 https://github.com/boxbackup/boxbackup/commit/f979af8d1c95ce0485e4fd6ba6f704ee1abdf140 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: c6471819f751a668162c79d2fd2af5d1305efcc9 https://github.com/boxbackup/boxbackup/commit/c6471819f751a668162c79d2fd2af5d1305efcc9 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 32dece4ff052e343cd2e9a5b74331d062c7066a8 https://github.com/boxbackup/boxbackup/commit/32dece4ff052e343cd2e9a5b74331d062c7066a8 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 754c6c756cbf799746d608be305516a0d184d678 https://github.com/boxbackup/boxbackup/commit/754c6c756cbf799746d608be305516a0d184d678 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 6d61b9b67082050b9146a0fd12a25c9ed65b194d https://github.com/boxbackup/boxbackup/commit/6d61b9b67082050b9146a0fd12a25c9ed65b194d Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 83036e9e8579002f16de86cfbadde6b2308883e4 https://github.com/boxbackup/boxbackup/commit/83036e9e8579002f16de86cfbadde6b2308883e4 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 44d8fce6a1d00f949b8127688fa478076ab12488 https://github.com/boxbackup/boxbackup/commit/44d8fce6a1d00f949b8127688fa478076ab12488 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: ef25b53546d3b33a2bc0dc915d84854f896dfeec https://github.com/boxbackup/boxbackup/commit/ef25b53546d3b33a2bc0dc915d84854f896dfeec Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 024d312aaf734d24d4a80067e50c019ea6fb9461 https://github.com/boxbackup/boxbackup/commit/024d312aaf734d24d4a80067e50c019ea6fb9461 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: e9682cbd5f95243c382c3800c1e106a47050b7a4 https://github.com/boxbackup/boxbackup/commit/e9682cbd5f95243c382c3800c1e106a47050b7a4 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 5258d2b85041dc5713b9190c0c3c36e323e260be https://github.com/boxbackup/boxbackup/commit/5258d2b85041dc5713b9190c0c3c36e323e260be Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 5c1a66536327c7b816ea23481e45bec113c15fa5 https://github.com/boxbackup/boxbackup/commit/5c1a66536327c7b816ea23481e45bec113c15fa5 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 0de8946419492e5ecac514ad07534fbeb1ae0ce5 https://github.com/boxbackup/boxbackup/commit/0de8946419492e5ecac514ad07534fbeb1ae0ce5 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 1d8269f66e8899137023777309cbcce29a8ed5e6 https://github.com/boxbackup/boxbackup/commit/1d8269f66e8899137023777309cbcce29a8ed5e6 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: d84e189c3ac87ac722cc62716a10617a7fdff969 https://github.com/boxbackup/boxbackup/commit/d84e189c3ac87ac722cc62716a10617a7fdff969 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupStoreCheck2.cpp Log Message: ----------- Rename some local variables in BackupStoreCheck Commit: f83b27af6950a301d6cd2fc50dff275bea9c27de https://github.com/boxbackup/boxbackup/commit/f83b27af6950a301d6cd2fc50dff275bea9c27de Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: dcdee22c75c4af075359e9bed6e9e543b47a6cce https://github.com/boxbackup/boxbackup/commit/dcdee22c75c4af075359e9bed6e9e543b47a6cce Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Fix repeated calls to TryGetLock() when already holding lock Commit: cac70db2d22c3ec3d4dbc52bb32325935df67e2d https://github.com/boxbackup/boxbackup/commit/cac70db2d22c3ec3d4dbc52bb32325935df67e2d Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h Log Message: ----------- Implement RefCountDatabase methods in S3BackupFileSystem Commit: 1a2c7d21c20a8ab02bf0fcdc1fb570354bb38c32 https://github.com/boxbackup/boxbackup/commit/1a2c7d21c20a8ab02bf0fcdc1fb570354bb38c32 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 33ce005a7c779736c0cb2b936714701d3b2384bd https://github.com/boxbackup/boxbackup/commit/33ce005a7c779736c0cb2b936714701d3b2384bd Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 7161374253cedcad94cef783c7780891f32843bd https://github.com/boxbackup/boxbackup/commit/7161374253cedcad94cef783c7780891f32843bd Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 3a72f648645922a9072778e7f8edf8fcd9a04b2e https://github.com/boxbackup/boxbackup/commit/3a72f648645922a9072778e7f8edf8fcd9a04b2e Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 1ce7b43af27771dc7e0322150b3791c84ef540a5 https://github.com/boxbackup/boxbackup/commit/1ce7b43af27771dc7e0322150b3791c84ef540a5 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 6b1e778405442e4a58f629bd5bfc2e564b34a616 https://github.com/boxbackup/boxbackup/commit/6b1e778405442e4a58f629bd5bfc2e564b34a616 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/server/ServerStream.h Log Message: ----------- Improve exception handling in single-process servers Don't allow an uncaught exception to kill the whole server. This makes it consistent with multi-process servers, where death of a child worker does not stop the main server process, so it continues to serve requests. This makes the HTTPServer robust to exceptions (such as the child disconnecting while the server is streaming a response) on Windows. (cherry picked from commit 4a515b9ce8e616b357dc07bee27aa7b3692c3602) Commit: a9d74047b884a21f7bcb9ca5f8eeda120e58108b https://github.com/boxbackup/boxbackup/commit/a9d74047b884a21f7bcb9ca5f8eeda120e58108b Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 0ed71acd250d09204a2f7f16109815c221347c63 https://github.com/boxbackup/boxbackup/commit/0ed71acd250d09204a2f7f16109815c221347c63 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Add extra refcount checks to test_server_housekeeping Commit: 1487b4c98c2c2fcecad52bc3bf814b3915c05bd7 https://github.com/boxbackup/boxbackup/commit/1487b4c98c2c2fcecad52bc3bf814b3915c05bd7 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: fb9e846c3a1e61de4e7c6ac46f433ec09a2d13eb https://github.com/boxbackup/boxbackup/commit/fb9e846c3a1e61de4e7c6ac46f433ec09a2d13eb Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/makebuildenv.pl.in Log Message: ----------- Enable and fix warnings in infrastructure/makebuildenv.pl Commit: a453cead8d21f47948317817b41b736c5808b619 https://github.com/boxbackup/boxbackup/commit/a453cead8d21f47948317817b41b736c5808b619 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: c99e1b203fbab59ad179b30727f7e46f72f1e420 https://github.com/boxbackup/boxbackup/commit/c99e1b203fbab59ad179b30727f7e46f72f1e420 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 8a40a1f78dd141ed955fe901bae87c67bfb1bc98 https://github.com/boxbackup/boxbackup/commit/8a40a1f78dd141ed955fe901bae87c67bfb1bc98 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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. (cherry picked from commit 40cf96207139a31466b98a93298cef4f436eea6b) (cherry picked from commit 242fac41c63309f274992825cd0baef9046e1110) Commit: a687d9ceed323fac0adb06d5e524e29f0c0d033f https://github.com/boxbackup/boxbackup/commit/a687d9ceed323fac0adb06d5e524e29f0c0d033f Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 5ffd6fdf0847f435a69b23702673aa19888a0b6a https://github.com/boxbackup/boxbackup/commit/5ffd6fdf0847f435a69b23702673aa19888a0b6a Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupStoreException.txt Log Message: ----------- Properly implement S3BackupFileSystem::GetPermanentRefCountDatabase Commit: 3b777f743762dc4a30f9b06c446d8a34cbb44a46 https://github.com/boxbackup/boxbackup/commit/3b777f743762dc4a30f9b06c446d8a34cbb44a46 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 63cff123e01cd178dd7999743baaaca633037c43 https://github.com/boxbackup/boxbackup/commit/63cff123e01cd178dd7999743baaaca633037c43 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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: 475c789cb699cd81fadf807e7ecd28ded81bbd7f https://github.com/boxbackup/boxbackup/commit/475c789cb699cd81fadf807e7ecd28ded81bbd7f Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) 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. Commit: effcc7e698b0df9e17699b6684c0c33682820eb4 https://github.com/boxbackup/boxbackup/commit/effcc7e698b0df9e17699b6684c0c33682820eb4 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/httpserver/testhttpserver.cpp Log Message: ----------- Test that 100-continue headers are sent and received correctly This tests that HTTPRequest::SendHeaders includes the "Expect: 100-continue" header only when expected. A separate test calls HTTPRequest::SendWithStream which sends these headers, and therefore checks that both sides correctly handle such exchanges. Commit: 8a3982e267c1b49fe1b3d76cd121f65d61209bf3 https://github.com/boxbackup/boxbackup/commit/8a3982e267c1b49fe1b3d76cd121f65d61209bf3 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupProtocol.h M lib/common/Test.cpp M lib/common/Test.h M lib/httpserver/S3Client.cpp M lib/server/makeprotocol.pl.in M modules.txt M test/backupstore/testbackupstore.cpp Log Message: ----------- Test that the S3 backend properly implements basic commands This extends test_server_commands() to the S3 backend implementation, using test specialisation. Commit: c3f0df0867b8a7d1189fc778e02c1d7ac731dae0 https://github.com/boxbackup/boxbackup/commit/c3f0df0867b8a7d1189fc778e02c1d7ac731dae0 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/buildenv-testmain-template.cpp Log Message: ----------- Completely disable syslog logging in tests (cherry picked from commit 3a8ca0c97e7346912889df72a1a87b80b430fe7a) Commit: 35521cfb6d8e420e99a86e4994b5df176c123153 https://github.com/boxbackup/boxbackup/commit/35521cfb6d8e420e99a86e4994b5df176c123153 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: R infrastructure/cmake/build/bin_bbackupd.vcxproj.user R infrastructure/cmake/build/bin_bbstored.vcxproj.user R infrastructure/cmake/build/test_backupstore.vcxproj.user R infrastructure/cmake/build/test_backupstorefix.vcxproj.user R infrastructure/cmake/build/test_bbackupd.vcxproj.user R infrastructure/cmake/build/test_common.vcxproj.user R infrastructure/cmake/build/test_httpserver.vcxproj.user R infrastructure/cmake/build/test_raidfile.vcxproj.user Log Message: ----------- Remove *.vcxproj.user from disposable CMake build directory (cherry picked from commit 9df71c89a0fc935ee9965ddd8c4bcc2e1ad769a4) Commit: 2406323160a762d2152b4de6bf36d7514b20c389 https://github.com/boxbackup/boxbackup/commit/2406323160a762d2152b4de6bf36d7514b20c389 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 M lib/bbackupd/BackupClientContext.cpp M lib/bbackupd/BackupClientContext.h M lib/server/TcpNice.cpp M lib/server/TcpNice.h Log Message: ----------- Add support for TcpNice on OSX, remove on Windows I'm not convinced that it does anything on Windows without an RTT estimate, which we can't get without administrator access: https://msdn.microsoft.com/en-us/library/windows/desktop/bb485738(v=vs.85).aspx (cherry picked from commit b646d22f415bbc8f5b5b065ed7462166591404f2) Commit: 6076f177ce6f5ed97e206a072fb6365833e7816a https://github.com/boxbackup/boxbackup/commit/6076f177ce6f5ed97e206a072fb6365833e7816a Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- Move functions around to reduce diffs to s3_support Commit: 121663ece9de0e9a44c0660813df66a788297f30 https://github.com/boxbackup/boxbackup/commit/121663ece9de0e9a44c0660813df66a788297f30 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp M lib/backupstore/BackupAccountControl.h M lib/win32/getopt_long.cpp Log Message: ----------- Fix compile error in BSD getopt_long.cpp error: '&&' within '||' [-Werror,-Wlogical-op-parentheses] Commit: 547dd73356bdbaa890d0f2a28f23455220efec83 https://github.com/boxbackup/boxbackup/commit/547dd73356bdbaa890d0f2a28f23455220efec83 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/httpserver/SimpleDBClient.h Log Message: ----------- Fix SimpleDB timeouts: should be in milliseconds, not seconds (cherry picked from commit 24bc49f30b9ce54d5024777f9c34d70a476d9663) Commit: 130ea83bb40ba3aa1935a9993cfb7859a1947ae9 https://github.com/boxbackup/boxbackup/commit/130ea83bb40ba3aa1935a9993cfb7859a1947ae9 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/server/ServerStream.h M test/backupstore/testbackupstore.cpp Log Message: ----------- ServerStream and test/backupstore: improve comments slightly (cherry picked from commit c50aac67ee6ce6af9d63d5b96290585f2c5b7c21) Commit: 3473b86122de0657c3f05d4dfd032aaa162f0b58 https://github.com/boxbackup/boxbackup/commit/3473b86122de0657c3f05d4dfd032aaa162f0b58 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/httpserver/S3Simulator.cpp Log Message: ----------- S3Simulator: add some TRACE logging to help debug 100-continue responses (cherry picked from commit ca39b88d4a73b64de68400dfa29270f203fd0f14) Commit: 643f4ae1218bfbc3401a0a1c0c5ad44cb0af2847 https://github.com/boxbackup/boxbackup/commit/643f4ae1218bfbc3401a0a1c0c5ad44cb0af2847 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/httpserver/S3Client.h Log Message: ----------- Increase timeouts in S3Client to help with debugging (cherry picked from commit cc14b3b4b9ec509233000c7d0a995580afd97f15) Commit: c0c12863e9203183d3c68bfea2cc08009fbaef93 https://github.com/boxbackup/boxbackup/commit/c0c12863e9203183d3c68bfea2cc08009fbaef93 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/server/SocketStream.cpp Log Message: ----------- SocketStream: use THROW_SOCKET_ERROR for better messages on Windows (cherry picked from commit feddbef8052208508a2e542a1a70c23138f476b8) Commit: d319a6e8db3e9561cdbc82ecfd323b9223b9e305 https://github.com/boxbackup/boxbackup/commit/d319a6e8db3e9561cdbc82ecfd323b9223b9e305 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/common/Logging.cpp M lib/common/Logging.h Log Message: ----------- Enable overriding log level by category as well as filename This extends the -L command-line option to allow overriding by filename/category=level as well as the existing support for overriding by filename=level. (cherry picked from commit 4421c53ab59adb494308f9c9f881a6a57bfd571c) Commit: ac7170689331567830da5155df6dee647b31de5b https://github.com/boxbackup/boxbackup/commit/ac7170689331567830da5155df6dee647b31de5b Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/win32/emu.cpp Log Message: ----------- Windows syslog() emulation: improve error messages If syslog can't log to the Windows event log for some reason, instead of just printing the log message to the console, include some explanatory text about what went wrong. (cherry picked from commit c492c90062d2e88db1016f13bd912629477a8a46) Commit: 60257e261f98a73dd847d4013a383378aa544a1c https://github.com/boxbackup/boxbackup/commit/60257e261f98a73dd847d4013a383378aa544a1c Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Fix rare crash while tearing down S3BackupFileSystem ReleaseLock() could fail if it can't contact the S3/SimpleDB server, but destructors aren't allowed to throw exceptions, so catch this case and log a warning instead (because we failed to release the lock that we were holding). (cherry picked from commit 6226c014dd2988a6a29cd21f6cc29fa0e7816607) Commit: aabd78c5dc4776a23bc6f656ff1f7c79324ed0a6 https://github.com/boxbackup/boxbackup/commit/aabd78c5dc4776a23bc6f656ff1f7c79324ed0a6 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/bbackupd/testbbackupd.cpp Log Message: ----------- Increase time allowed for backup in test_store_error_reporting Should increase reliability of tests running on Travis. Commit: ad86838cb0bbaa7d539704c9b69c787ca6f70fde https://github.com/boxbackup/boxbackup/commit/ad86838cb0bbaa7d539704c9b69c787ca6f70fde Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Enable precedence warnings as errors (-Werror=parentheses) Commit: 61995c3b23789b93635329d3568760d7302e2773 https://github.com/boxbackup/boxbackup/commit/61995c3b23789b93635329d3568760d7302e2773 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/Timer.cpp M test/common/testcommon.cpp Log Message: ----------- Remove invalid use of null references (undefined behaviour) Enable the relevant compiler warning as an error, if supported (-Werror=undefined-bool-conversion). http://www.gotw.ca/conv/002.htm http://stackoverflow.com/questions/2165078/a-reference-can-not-be-null-or-it-can-be-null (cherry picked from commit f2911acac0c8375a08ecc0a55f853a5a59c4d511) Commit: 5b9ed7106369580736750a2d39e9d06e5cae3c65 https://github.com/boxbackup/boxbackup/commit/5b9ed7106369580736750a2d39e9d06e5cae3c65 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupStoreFileEncodeStream.cpp M lib/backupstore/BackupStoreFileEncodeStream.h Log Message: ----------- Enable errors on unused private fields (-Werror=unused-private-field) Fix compile failure due to unused private field. In CMake release builds, RaidBackupFileSystem::mDiscSet was initialized but never read, and this was detected by -Werror,-Wunused-private-field. Now the field is totally compiled out of release builds, and by using the correct preprocessor define, CMake and the Perl buildsystem now behave the same. (cherry picked from commit d0f88e70f9c841bf2f8baedb89ec28523b2e357d) Commit: d5a4c6d0063c15bab1cf009b817512a734d77fee https://github.com/boxbackup/boxbackup/commit/d5a4c6d0063c15bab1cf009b817512a734d77fee Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M bin/bbstoreaccounts/bbstoreaccounts.cpp M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- Make BackupAccountControl throw exceptions on lock failure Remove the compatibility code that caught these exceptions and made the functions return 1 instead of throwing the exception. Make bbstoreaccounts catch these exceptions and exit with status 1 instead. Commit: d7fa177dfedfbf2ef3016c4265094c8186f9a51c https://github.com/boxbackup/boxbackup/commit/d7fa177dfedfbf2ef3016c4265094c8186f9a51c Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M bin/bbstoreaccounts/bbstoreaccounts.cpp Log Message: ----------- bbstoreaccounts: more refactoring to support non-raidfile backends Commit: 087c66b19399f80b737e97c75d6cd8038b674dfe https://github.com/boxbackup/boxbackup/commit/087c66b19399f80b737e97c75d6cd8038b674dfe Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupCommands.cpp Log Message: ----------- Remove unused #includes from BackupCommands.cpp Commit: 11e1e7ab5800ebd512829dbee3e61fbae7560513 https://github.com/boxbackup/boxbackup/commit/11e1e7ab5800ebd512829dbee3e61fbae7560513 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupConstants.h M lib/backupstore/StoreStructure.cpp Log Message: ----------- Add a constant for WRITE_LOCK_FILENAME Commit: 65d0eabd43598e34b3c9f4ec7a88909f891cd6b8 https://github.com/boxbackup/boxbackup/commit/65d0eabd43598e34b3c9f4ec7a88909f891cd6b8 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Fix S3BackupFileSystem::GetAccountIdentifier() exception This makes it possible to call GetAccountIdentifier() on an account which doesn't currently have a BackupStoreInfo file, which allows us to log something relating to the account while locking it while creating it (and the BackupStoreInfo file). Commit: 48e1ae99b6ee5166bab705cc0423169936f1856b https://github.com/boxbackup/boxbackup/commit/48e1ae99b6ee5166bab705cc0423169936f1856b Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupStoreCheck.cpp M lib/backupstore/BackupStoreContext.cpp M lib/backupstore/HousekeepStoreAccount.cpp M lib/backupstore/StoreTestUtils.cpp Log Message: ----------- Generalise BackupFileSystem::GetLock and reuse it This reduces code duplication (multiple implementations of locking retries) and also enables centralised logging of locking attempts, which can be more easily fine-tuned. (cherry picked from commit 0469e4a3bd7318547294ec5309aabffa488fc67f) Commit: 5a549347df12edc07815e5250b0b1102b7ae5bfa https://github.com/boxbackup/boxbackup/commit/5a549347df12edc07815e5250b0b1102b7ae5bfa Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/win32/getopt_long.cpp Log Message: ----------- Only replace getopt on Windows, not any other platform The preprocessor test was wrong, causing this code to be built (and potentially replace the system getopt/long) on all platforms. This made it impossible to build with -Werror=writable-strings on Unix without modifying this file further to fix its casting of static strings to mutable pointers. Commit: ef40223f946a81ef64bceaeb14ed1db27bfea03f https://github.com/boxbackup/boxbackup/commit/ef40223f946a81ef64bceaeb14ed1db27bfea03f Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/Utils.cpp Log Message: ----------- Enable -Werror=writable-strings and fix one such error Commit: 7cf8a0c57f2d75e6a4427b8b47a87ebca8fc4d76 https://github.com/boxbackup/boxbackup/commit/7cf8a0c57f2d75e6a4427b8b47a87ebca8fc4d76 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/server/makeprotocol.pl.in M test/basicserver/TestCommands.cpp M test/basicserver/TestProtocol.txt M test/basicserver/testbasicserver.cpp Log Message: ----------- Fix ProtocolError single-argument (subtype only) constructor Correctly initialise mType from the ErrorType CONSTANT in the protocol message definition in this case, instead of leaving it uninitialised. Add test. Also test that these unexpected errors cause the connection to be closed as expected. Also catch SIGPIPE so that the test doesn't die when the server process closes the connection to it. Commit: 26bfe3f1916a46a0d5ae61a2ac7754e7ccf03d1a https://github.com/boxbackup/boxbackup/commit/26bfe3f1916a46a0d5ae61a2ac7754e7ccf03d1a Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/makebuildenv.pl.in Log Message: ----------- Fix build order for targets which depend on auto-generated files These auto-generated files should always be rebuilt first, and hence must be listed first in the dependencies. Otherwise, if we add a command to a Protocol.txt file and also implement that command in the Commands.cpp source file, we might try to compile Commands.cpp before rebuilding autogen_Protocol.h, which will fail with a compile error, which prevents Make from reaching the autogen_Protocol.cpp target which would cause the header file to be updated as a side effect, which would resolve the compile error. Commit: 3febe9dddbaa7157a385a1a3d209f692c7ea8486 https://github.com/boxbackup/boxbackup/commit/3febe9dddbaa7157a385a1a3d209f692c7ea8486 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/basicserver/testbasicserver.cpp Log Message: ----------- Check for both SocketReadError and SocketWriteError Depending on timing, we might get to send our message (in the test) and then fail to read the reply, or fail during writing instead. Commit: d98c6579918b0783a3dddf2cefa9101165b0d655 https://github.com/boxbackup/boxbackup/commit/d98c6579918b0783a3dddf2cefa9101165b0d655 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Fix GCC warnings about -Wno-* flags GCC suppresses warnings for -Wno-* flags unless another error occurs, so we need to use the opposite flag for detection purposes. Add an optional second argument to BOX_CHECK_CXX_FLAG to allow specifying that detection flag. (cherry picked from commit dd7377e3593f96b85cf82b446fe28a86f713fe61) Commit: 1a96f9545ee117bc3b02969a3791efcab73ce38a https://github.com/boxbackup/boxbackup/commit/1a96f9545ee117bc3b02969a3791efcab73ce38a Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Fix cleanup of backupstore specialised tests In case of exception, ensure that teardown code is always run, to release filesystem lock before deleting files in standard tearDown(). (cherry picked from commit 69f205bafe925548d799df13d01d2e8ea5e5e7bc) Commit: fb2af31aee93edcf24b086915559df0d363cebe9 https://github.com/boxbackup/boxbackup/commit/fb2af31aee93edcf24b086915559df0d363cebe9 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Port test_server_housekeeping to BackupFileSystem Commit: 0f720308b7e67b8d9d61df6a6ccf5f673a1133fa https://github.com/boxbackup/boxbackup/commit/0f720308b7e67b8d9d61df6a6ccf5f673a1133fa Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Fix 5f6680520574f15b97f92e151d93efc40be0f100 Don't swallow exceptions by returning before rethrowing them Commit: 637849a1f755c57ac6925d3d3dce61706eb06dea https://github.com/boxbackup/boxbackup/commit/637849a1f755c57ac6925d3d3dce61706eb06dea Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/StoreTestUtils.cpp M lib/backupstore/StoreTestUtils.h M test/backupstore/testbackupstore.cpp Log Message: ----------- Port test_directory_parent_entry_tracks_directory_size to BackupFileSystem Implement as a specialised test, and run on S3 as well. This requires implementation of S3BackupFileSystem::DeleteFile and DeleteDirectory, and a version of change_account_limits which takes a reference to a BackupAccountControl. Commit: 36f05868e3203e0fb788827cfb5b87bcff44dd3c https://github.com/boxbackup/boxbackup/commit/36f05868e3203e0fb788827cfb5b87bcff44dd3c Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h Log Message: ----------- Add detailed logging of BackupFileSystem locks This logging is categorised, so it can be enabled with fine-tuning using the -L command-line option. (cherry picked from commit 7a2572c446b4a95f18eda04e72f6aabfd9544e04) Commit: 3785800e4a38cafc62feef719aea60d240b7ac77 https://github.com/boxbackup/boxbackup/commit/3785800e4a38cafc62feef719aea60d240b7ac77 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/win32/emu.h Log Message: ----------- Fix missing define causing unnecessary stat() on Windows (cherry picked from commit c38e93f27ebcad6572b2cc17e4e74bf8315ddca2) Commit: 53c37315b77b3010a2a4210dd61b221d842f495c https://github.com/boxbackup/boxbackup/commit/53c37315b77b3010a2a4210dd61b221d842f495c Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/bbackupd/BackupClientInodeToIDMap.cpp Log Message: ----------- Remove duplicate QDBM logging macros from BackupClientInodeToIDMap.cpp Commit: 3d52e3679f9c9096f9f8342e3da1d6f6f9d042c0 https://github.com/boxbackup/boxbackup/commit/3d52e3679f9c9096f9f8342e3da1d6f6f9d042c0 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstorefix/testbackupstorefix.cpp Log Message: ----------- Enable detailed logging of locking in test/backupstorefix This should help diagnose occasional locking problems causing test failures on AppVeyor. (cherry picked from commit 94f75ac0476c2264ed80f51c5d4014639dccb407) Commit: 524e110abb7baf8a3d4860b93342733cdc4e23c6 https://github.com/boxbackup/boxbackup/commit/524e110abb7baf8a3d4860b93342733cdc4e23c6 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M lib/common/Logging.cpp M lib/common/Logging.h Log Message: ----------- Allow using LogLevelOverrideByFileGuard as a guard After calling its Install() method, the guard will be installed in the central logging configuration, and will automatically be uninstalled when the object goes out of scope and is destroyed. (cherry picked from commit 2b5b65b2dccfa2a88688e0103dc4996a039c515c) Commit: 40323aa1891e814b9792e120e45479387c9baa72 https://github.com/boxbackup/boxbackup/commit/40323aa1891e814b9792e120e45479387c9baa72 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupStoreAccounts.cpp M lib/backupstore/BackupStoreAccounts.h M test/backupstorefix/testbackupstorefix.cpp M test/bbackupd/testbbackupd.cpp Log Message: ----------- Remove BackupStoreAccounts::LockAccount Replace with BackupFileSystem::GetLock where used (only in tests at this point). Commit: 5cfd43b647efa149306ba04998d011a19e9f6a57 https://github.com/boxbackup/boxbackup/commit/5cfd43b647efa149306ba04998d011a19e9f6a57 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- test/common: use setup and teardown macros on each test case Commit: b6f05446ab1aae0cd7e63f8e79003ca7ec9ef70d https://github.com/boxbackup/boxbackup/commit/b6f05446ab1aae0cd7e63f8e79003ca7ec9ef70d Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- Add tests for exclusivity of locking Commit: bf5fe9cf85831282fbf3e471cf1104e22cd450dc https://github.com/boxbackup/boxbackup/commit/bf5fe9cf85831282fbf3e471cf1104e22cd450dc Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M appveyor.yml Log Message: ----------- Mark master branch builds as full releases (not pre-releases) on GitHub Commit: b9678dd1ec30419299f51f6ab7da8b6adb98b15f https://github.com/boxbackup/boxbackup/commit/b9678dd1ec30419299f51f6ab7da8b6adb98b15f Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/backupclient/BackupDaemonConfigVerify.cpp M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/common/Configuration.h M test/backupstore/testbackupstore.cpp M test/backupstore/testfiles/bbackupd.conf M test/s3store/testfiles/bbackupd.conf Log Message: ----------- Add S3 BackupFileSystem locking using SimpleDB Commit: 4fdd7764dac64c7cdf2eb6d884b8a510f99d4ba2 https://github.com/boxbackup/boxbackup/commit/4fdd7764dac64c7cdf2eb6d884b8a510f99d4ba2 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Build 64-bit OpenSSL in Windows superbuild Commit: 7ae24cd7ee0214f7f24c429747f177e14f1573b9 https://github.com/boxbackup/boxbackup/commit/7ae24cd7ee0214f7f24c429747f177e14f1573b9 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupStoreContext.cpp Log Message: ----------- BackupStoreContext: improve log messages regarding the cache Commit: b800c8441b23b0c0a70787620535a2210e5c8606 https://github.com/boxbackup/boxbackup/commit/b800c8441b23b0c0a70787620535a2210e5c8606 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- BackupAccountControl: silence exceptions during CreateAccount We expect that the raidfile or HTTP file doesn't exist during CreateAccount, so the exception message is unhelpful, so suppress it. Commit: f88f0e095a888ef99e3c28db1a87dcb4e4d41624 https://github.com/boxbackup/boxbackup/commit/f88f0e095a888ef99e3c28db1a87dcb4e4d41624 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/StoreTestUtils.cpp M lib/backupstore/StoreTestUtils.h M test/backupstore/testbackupstore.cpp M test/bbackupd/testbbackupd.cpp Log Message: ----------- Remove remaining calls to check_num_files() without a BackupFileSystem Commit: 6d1953eea164b70f3919c98d4b59978910ca667f https://github.com/boxbackup/boxbackup/commit/6d1953eea164b70f3919c98d4b59978910ca667f Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupStoreInfo.cpp M lib/backupstore/BackupStoreInfo.h M test/backupstore/testbackupstore.cpp Log Message: ----------- Refactor BackupStoreInfo to remove legacy RaidFile support Commit: 6f3920ce8216baade4968a474fbfa74afb8eae0e https://github.com/boxbackup/boxbackup/commit/6f3920ce8216baade4968a474fbfa74afb8eae0e Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Run test_account_limits_respected on S3 BackupFileSystem Commit: f3fb6a67bc437e479ac3fc936fd0e5eccb4bf4db https://github.com/boxbackup/boxbackup/commit/f3fb6a67bc437e479ac3fc936fd0e5eccb4bf4db Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Add a test for S3BackupFileSystem and its RevisionID calculation Commit: b4f597a8fc38213bf79852928a269d189956009b https://github.com/boxbackup/boxbackup/commit/b4f597a8fc38213bf79852928a269d189956009b Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstorefix/testbackupstorefix.cpp Log Message: ----------- Refactor testbackupstorefix to reduce code duplication Commit: 511ecc709d860c95ff240b3932dde4b68954f2b6 https://github.com/boxbackup/boxbackup/commit/511ecc709d860c95ff240b3932dde4b68954f2b6 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- testbackupstorepatch: improve debugging messages Commit: 46e96d291b6bba449e08fa7e185cb3b002694291 https://github.com/boxbackup/boxbackup/commit/46e96d291b6bba449e08fa7e185cb3b002694291 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- Port test/backupstorepatch to use BackupFileSystem Make testbackupstorepatch do housekeeping in-process to make debugging easier. Check return value of housekeeping to ensure that no errors were detected. Commit: ef12d719df54e74418b25170a564c2f1facf17b1 https://github.com/boxbackup/boxbackup/commit/ef12d719df54e74418b25170a564c2f1facf17b1 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/bbackupd/BackupDaemon.cpp M lib/bbstored/BBStoreDHousekeeping.cpp Log Message: ----------- Suppress exception messages in LineBuffer::GetLine These exceptions are used to communicate state to the caller, and should not be treated as errors in common cases. (cherry picked from commit 86f3e9c0f4916741bbed20e04a4b4f2d71bb4f32) Commit: ab72aa60d9140c9456ad906a76f2c4994afd9547 https://github.com/boxbackup/boxbackup/commit/ab72aa60d9140c9456ad906a76f2c4994afd9547 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/bbstored/BBStoreDHousekeeping.cpp M lib/bbstored/BackupStoreDaemon.cpp M lib/server/Daemon.cpp M lib/server/Daemon.h M lib/server/ServerStream.h Log Message: ----------- Clear up Daemon command-line arguments -D and -F By separating their roles (which used to overlap) it's now possible to run a forking server in the foreground, or a non-forking daemon in the background, which can be useful for debugging (for example, to more closely simulate how test daemons work on Windows when running on Unix). -DF is now needed to have a non-forking server in the foreground. (cherry picked from commit b31c0e4abd4875bb25ff7a918ed5bc7f7faf595d) Commit: 3fa9848210e69bf677af01f84a0b9a4421d29fcf https://github.com/boxbackup/boxbackup/commit/3fa9848210e69bf677af01f84a0b9a4421d29fcf Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/common/NamedLock.cpp M lib/common/NamedLock.h Log Message: ----------- Eliminate conditional code for Windows file handles from NamedLock Should improve code readability and robustness. (cherry picked from commit e773e4ccefcdab8f01b1a3bf7d828c3bb39eaaa7) Commit: 5db2393800177bfccd1aec9ecd8390143386b390 https://github.com/boxbackup/boxbackup/commit/5db2393800177bfccd1aec9ecd8390143386b390 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Commit: 32352cea2ca92fe4207bf6fe68e10a38e42c1fa9 https://github.com/boxbackup/boxbackup/commit/32352cea2ca92fe4207bf6fe68e10a38e42c1fa9 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) Commit: 405ec5ed18e8eaad48a866cebe68f3898e42db9c https://github.com/boxbackup/boxbackup/commit/405ec5ed18e8eaad48a866cebe68f3898e42db9c Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures Commit: 0cd3f61d3e990e1cae641e9b3d887d23ef4385bb https://github.com/boxbackup/boxbackup/commit/0cd3f61d3e990e1cae641e9b3d887d23ef4385bb Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Move check for -Werror=narrowing to join other -Werror checks Commit: ad635c6b98b6578e2aa336af92fd68164bdb6f9d https://github.com/boxbackup/boxbackup/commit/ad635c6b98b6578e2aa336af92fd68164bdb6f9d Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/server/Protocol.cpp Log Message: ----------- Add protocol logging to help debug test/basicserver timeouts on FreeBSD Commit: 2429fdcc3c3daab3c524b91f0e932eb0c9e3d7ca https://github.com/boxbackup/boxbackup/commit/2429fdcc3c3daab3c524b91f0e932eb0c9e3d7ca Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/BackupStoreContext.cpp Log Message: ----------- Remove unused #includes from BackupStoreContext.cpp Commit: cab1b71338808d72b0d8843b7732959baa07664d https://github.com/boxbackup/boxbackup/commit/cab1b71338808d72b0d8843b7732959baa07664d Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/backupstore/HousekeepStoreAccount.cpp M lib/bbstored/BBStoreDHousekeeping.cpp Log Message: ----------- Add some comments Commit: d5b8f38a71ff9a01df1cdee847840cae71c53c56 https://github.com/boxbackup/boxbackup/commit/d5b8f38a71ff9a01df1cdee847840cae71c53c56 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/common/Configuration.cpp Log Message: ----------- Improve exception messages when configuration keys are missing or invalid. Include a message in the exception, and reuse code to make them consistent. Whitespace cleanup. (cherry picked from commit 8589bd9a2d977a86be2917a382c2559858e63bff) Compare: https://github.com/boxbackup/boxbackup/compare/feeee65ac3cb...d5b8f38a71ff From noreply at github.com Mon Jan 15 21:59:16 2018 From: noreply at github.com (GitHub) Date: Mon, 15 Jan 2018 13:59:16 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] f4bf9e: Win32: add experimental stack backtraces with symb... Message-ID: <5a5d2434539ef_1f6852b1b90163c0476877@hookshot-fe-dfcc362.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180115.6a8f093 Home: https://github.com/boxbackup/boxbackup Commit: f4bf9ec324c88ff7eb4dac6d43492250fdca1f15 https://github.com/boxbackup/boxbackup/commit/f4bf9ec324c88ff7eb4dac6d43492250fdca1f15 Author: Chris Wilson 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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: b08bd5fbfe52192ad18ea38c45fed671a64ca282 https://github.com/boxbackup/boxbackup/commit/b08bd5fbfe52192ad18ea38c45fed671a64ca282 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: 64405ac2b6f0a183e404525fd5aae52157daad56 https://github.com/boxbackup/boxbackup/commit/64405ac2b6f0a183e404525fd5aae52157daad56 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: f4661d62640be5b6c7e7b046df713502f42ebad9 https://github.com/boxbackup/boxbackup/commit/f4661d62640be5b6c7e7b046df713502f42ebad9 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: 2269177efbcec9a3735e94994cee367467c2a789 https://github.com/boxbackup/boxbackup/commit/2269177efbcec9a3735e94994cee367467c2a789 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: 819f4679f898c865ae06e7ff2e7e5885f444329c https://github.com/boxbackup/boxbackup/commit/819f4679f898c865ae06e7ff2e7e5885f444329c Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 2017) Changed paths: M lib/backupstore/HousekeepStoreAccount.cpp Log Message: ----------- Rename local variable First part of refactoring HousekeepStoreAccount to use BackupFileSystem. Commit: 116bb2600cb3b603adffe56233599c7f3efd8f38 https://github.com/boxbackup/boxbackup/commit/116bb2600cb3b603adffe56233599c7f3efd8f38 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: b010bdf48e99dd9d08ceb630dddeb005a4d70ca4 https://github.com/boxbackup/boxbackup/commit/b010bdf48e99dd9d08ceb630dddeb005a4d70ca4 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: 2674466232de994d6192e08a25c8eb26d94eed62 https://github.com/boxbackup/boxbackup/commit/2674466232de994d6192e08a25c8eb26d94eed62 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: e6ef4d9e1d545da3a0a3eeee79d57eed9fb9738a https://github.com/boxbackup/boxbackup/commit/e6ef4d9e1d545da3a0a3eeee79d57eed9fb9738a Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: b40dc419531b47e5393970366e3d7710da70b6ae https://github.com/boxbackup/boxbackup/commit/b40dc419531b47e5393970366e3d7710da70b6ae Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: c5466cc85a83d095388c28dc18a1b48788f64dc2 https://github.com/boxbackup/boxbackup/commit/c5466cc85a83d095388c28dc18a1b48788f64dc2 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: 7b8a48fe0d4e141f5fad89818e1b9f10bcf028bc https://github.com/boxbackup/boxbackup/commit/7b8a48fe0d4e141f5fad89818e1b9f10bcf028bc Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: c597742a73de567f278c83deb87872326e9109ad https://github.com/boxbackup/boxbackup/commit/c597742a73de567f278c83deb87872326e9109ad Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: dd7ecdf470933e660ca8ed585fa11233d4652609 https://github.com/boxbackup/boxbackup/commit/dd7ecdf470933e660ca8ed585fa11233d4652609 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: fc4621738ba7fb19a2bab95b3c84f2253a3a9391 https://github.com/boxbackup/boxbackup/commit/fc4621738ba7fb19a2bab95b3c84f2253a3a9391 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: 78b117f4b5c18210b04592b6f61d975091ccef01 https://github.com/boxbackup/boxbackup/commit/78b117f4b5c18210b04592b6f61d975091ccef01 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: d33181dd7f4a874656e02d3d12e33849b1ae27ea https://github.com/boxbackup/boxbackup/commit/d33181dd7f4a874656e02d3d12e33849b1ae27ea Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: 65de4e02377a5f8a3ba5b1085fa3011b504ca198 https://github.com/boxbackup/boxbackup/commit/65de4e02377a5f8a3ba5b1085fa3011b504ca198 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: 1eab33a21ad84f084b78d62631e155bbe9ad64f4 https://github.com/boxbackup/boxbackup/commit/1eab33a21ad84f084b78d62631e155bbe9ad64f4 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 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: c610b3c76540425fdd494cf8d17c4b3bf89872b5 https://github.com/boxbackup/boxbackup/commit/c610b3c76540425fdd494cf8d17c4b3bf89872b5 Author: Chris Wilson Date: 2017-10-07 (Sat, 07 Oct 2017) Changed paths: M lib/backupstore/BackupStoreCheck2.cpp Log Message: ----------- Rename some local variables in BackupStoreCheck Commit: 9e99a27a13fcb3b9ffb8b944d2a6dd9e76a3fecf https://github.com/boxbackup/boxbackup/commit/9e99a27a13fcb3b9ffb8b944d2a6dd9e76a3fecf Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: 5560491da6837d534c60d21479e204cb7a0804fe https://github.com/boxbackup/boxbackup/commit/5560491da6837d534c60d21479e204cb7a0804fe Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 2017) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Fix repeated calls to TryGetLock() when already holding lock Commit: 02c1cf8cd223c536e38d4f2e42ba9406d9a6796e https://github.com/boxbackup/boxbackup/commit/02c1cf8cd223c536e38d4f2e42ba9406d9a6796e Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 2017) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h Log Message: ----------- Implement RefCountDatabase methods in S3BackupFileSystem Commit: f5c468444e115c78f7f4b7490f5288105ded2804 https://github.com/boxbackup/boxbackup/commit/f5c468444e115c78f7f4b7490f5288105ded2804 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: 0100d3185abf10b17ff7727f2c0f2d8fb6b724d4 https://github.com/boxbackup/boxbackup/commit/0100d3185abf10b17ff7727f2c0f2d8fb6b724d4 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: 2de1806b32f651cfd4a746bb56c7fec96d2e34ff https://github.com/boxbackup/boxbackup/commit/2de1806b32f651cfd4a746bb56c7fec96d2e34ff Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: beb2f692fc071b12a8f74db78bacacdf1e09a2bc https://github.com/boxbackup/boxbackup/commit/beb2f692fc071b12a8f74db78bacacdf1e09a2bc Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: 248ca7400fdbb9e9aeba5dbc9e73c88c2f9f5f14 https://github.com/boxbackup/boxbackup/commit/248ca7400fdbb9e9aeba5dbc9e73c88c2f9f5f14 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: dbb4d0ee445cff5f7539e05bb9f059bf134ab5c9 https://github.com/boxbackup/boxbackup/commit/dbb4d0ee445cff5f7539e05bb9f059bf134ab5c9 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 2017) Changed paths: M lib/server/ServerStream.h Log Message: ----------- Improve exception handling in single-process servers Don't allow an uncaught exception to kill the whole server. This makes it consistent with multi-process servers, where death of a child worker does not stop the main server process, so it continues to serve requests. This makes the HTTPServer robust to exceptions (such as the child disconnecting while the server is streaming a response) on Windows. (cherry picked from commit 4a515b9ce8e616b357dc07bee27aa7b3692c3602) Commit: 8d6de20b05a4f2f5d00d3a2df0af133cef43648b https://github.com/boxbackup/boxbackup/commit/8d6de20b05a4f2f5d00d3a2df0af133cef43648b Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: 807758bf2847e77374a8194d3b5f96f413582a04 https://github.com/boxbackup/boxbackup/commit/807758bf2847e77374a8194d3b5f96f413582a04 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 2017) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Add extra refcount checks to test_server_housekeeping Commit: 0db44389ede4dcb413decd9378e84bfbb9ba92d0 https://github.com/boxbackup/boxbackup/commit/0db44389ede4dcb413decd9378e84bfbb9ba92d0 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: 3e5cfc5a5c12d043c9fd4ab04e7235fd8d9d6cc7 https://github.com/boxbackup/boxbackup/commit/3e5cfc5a5c12d043c9fd4ab04e7235fd8d9d6cc7 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 2017) Changed paths: M infrastructure/makebuildenv.pl.in Log Message: ----------- Enable and fix warnings in infrastructure/makebuildenv.pl Commit: 41e8e5025b47c2b24c5fef18a8ccf9a133430770 https://github.com/boxbackup/boxbackup/commit/41e8e5025b47c2b24c5fef18a8ccf9a133430770 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: 3dd9d73deaee2f4e5ca0df938276bd8b07e9b187 https://github.com/boxbackup/boxbackup/commit/3dd9d73deaee2f4e5ca0df938276bd8b07e9b187 Author: Chris Wilson Date: 2017-11-11 (Sat, 11 Nov 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: ef9071e6ef211498149ade830694c87aa704371f https://github.com/boxbackup/boxbackup/commit/ef9071e6ef211498149ade830694c87aa704371f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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. (cherry picked from commit 40cf96207139a31466b98a93298cef4f436eea6b) (cherry picked from commit 242fac41c63309f274992825cd0baef9046e1110) Commit: a00aba6f85455006392315bbf20f8a06e177929b https://github.com/boxbackup/boxbackup/commit/a00aba6f85455006392315bbf20f8a06e177929b Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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: e513e4f90634e014c6af82549b4c347631706ded https://github.com/boxbackup/boxbackup/commit/e513e4f90634e014c6af82549b4c347631706ded Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupStoreException.txt Log Message: ----------- Properly implement S3BackupFileSystem::GetPermanentRefCountDatabase Commit: 5ac2c48bccb3e7b524cf744554880dc05a3d1f22 https://github.com/boxbackup/boxbackup/commit/5ac2c48bccb3e7b524cf744554880dc05a3d1f22 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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: 35c8c8307b6854a2bbd88243ad7e6e5ad5d4a964 https://github.com/boxbackup/boxbackup/commit/35c8c8307b6854a2bbd88243ad7e6e5ad5d4a964 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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: db71ab26217b6bc01606ca49748b1ceb3068b6ec https://github.com/boxbackup/boxbackup/commit/db71ab26217b6bc01606ca49748b1ceb3068b6ec Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) 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. Commit: 0b776c9fa6a99750a79ec43b47eb9ae198229c6b https://github.com/boxbackup/boxbackup/commit/0b776c9fa6a99750a79ec43b47eb9ae198229c6b Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/httpserver/testhttpserver.cpp Log Message: ----------- Test that 100-continue headers are sent and received correctly This tests that HTTPRequest::SendHeaders includes the "Expect: 100-continue" header only when expected. A separate test calls HTTPRequest::SendWithStream which sends these headers, and therefore checks that both sides correctly handle such exchanges. Commit: 69fc23bf1fe4300bfec92f331edc0aeafa6150fd https://github.com/boxbackup/boxbackup/commit/69fc23bf1fe4300bfec92f331edc0aeafa6150fd Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupProtocol.h M lib/common/Test.cpp M lib/common/Test.h M lib/httpserver/S3Client.cpp M lib/server/makeprotocol.pl.in M modules.txt M test/backupstore/testbackupstore.cpp Log Message: ----------- Test that the S3 backend properly implements basic commands This extends test_server_commands() to the S3 backend implementation, using test specialisation. Commit: 58b80811494f2e3fa5d955a512c09a1367dfaaba https://github.com/boxbackup/boxbackup/commit/58b80811494f2e3fa5d955a512c09a1367dfaaba Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/buildenv-testmain-template.cpp Log Message: ----------- Completely disable syslog logging in tests (cherry picked from commit 3a8ca0c97e7346912889df72a1a87b80b430fe7a) Commit: 482c83ff174c0443cdae11f7ed1b6b157bae328c https://github.com/boxbackup/boxbackup/commit/482c83ff174c0443cdae11f7ed1b6b157bae328c Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: R infrastructure/cmake/build/bin_bbackupd.vcxproj.user R infrastructure/cmake/build/bin_bbstored.vcxproj.user R infrastructure/cmake/build/test_backupstore.vcxproj.user R infrastructure/cmake/build/test_backupstorefix.vcxproj.user R infrastructure/cmake/build/test_bbackupd.vcxproj.user R infrastructure/cmake/build/test_common.vcxproj.user R infrastructure/cmake/build/test_httpserver.vcxproj.user R infrastructure/cmake/build/test_raidfile.vcxproj.user Log Message: ----------- Remove *.vcxproj.user from disposable CMake build directory (cherry picked from commit 9df71c89a0fc935ee9965ddd8c4bcc2e1ad769a4) Commit: 6c5f7dea4aca99f82e23b8d1b0393119d447dae9 https://github.com/boxbackup/boxbackup/commit/6c5f7dea4aca99f82e23b8d1b0393119d447dae9 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 M lib/bbackupd/BackupClientContext.cpp M lib/bbackupd/BackupClientContext.h M lib/server/TcpNice.cpp M lib/server/TcpNice.h Log Message: ----------- Add support for TcpNice on OSX, remove on Windows I'm not convinced that it does anything on Windows without an RTT estimate, which we can't get without administrator access: https://msdn.microsoft.com/en-us/library/windows/desktop/bb485738(v=vs.85).aspx (cherry picked from commit b646d22f415bbc8f5b5b065ed7462166591404f2) Commit: 9f95b0431194533d25d9252f009cec9aa2e66752 https://github.com/boxbackup/boxbackup/commit/9f95b0431194533d25d9252f009cec9aa2e66752 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- Move functions around to reduce diffs to s3_support Commit: c053c68498397f82c2bcc73d2c6f2e694368e2d4 https://github.com/boxbackup/boxbackup/commit/c053c68498397f82c2bcc73d2c6f2e694368e2d4 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp M lib/backupstore/BackupAccountControl.h M lib/win32/getopt_long.cpp Log Message: ----------- Fix compile error in BSD getopt_long.cpp error: '&&' within '||' [-Werror,-Wlogical-op-parentheses] Commit: 4dec19a41d9ae785df71900933e48813c8ef2034 https://github.com/boxbackup/boxbackup/commit/4dec19a41d9ae785df71900933e48813c8ef2034 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/httpserver/SimpleDBClient.h Log Message: ----------- Fix SimpleDB timeouts: should be in milliseconds, not seconds (cherry picked from commit 24bc49f30b9ce54d5024777f9c34d70a476d9663) Commit: e00ba6e85fc103b2195d8fd022771be4f30de6f3 https://github.com/boxbackup/boxbackup/commit/e00ba6e85fc103b2195d8fd022771be4f30de6f3 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/server/ServerStream.h M test/backupstore/testbackupstore.cpp Log Message: ----------- ServerStream and test/backupstore: improve comments slightly (cherry picked from commit c50aac67ee6ce6af9d63d5b96290585f2c5b7c21) Commit: 4155544b0cbc1f08ef23ec754d03b6ac68067edd https://github.com/boxbackup/boxbackup/commit/4155544b0cbc1f08ef23ec754d03b6ac68067edd Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/httpserver/S3Simulator.cpp Log Message: ----------- S3Simulator: add some TRACE logging to help debug 100-continue responses (cherry picked from commit ca39b88d4a73b64de68400dfa29270f203fd0f14) Commit: 65051c88ef1fe80101a370c028ada3d8c5fe0e0b https://github.com/boxbackup/boxbackup/commit/65051c88ef1fe80101a370c028ada3d8c5fe0e0b Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/httpserver/S3Client.h Log Message: ----------- Increase timeouts in S3Client to help with debugging (cherry picked from commit cc14b3b4b9ec509233000c7d0a995580afd97f15) Commit: 0943f51388bcbd6d79c4a8add3d488fb2d1550a2 https://github.com/boxbackup/boxbackup/commit/0943f51388bcbd6d79c4a8add3d488fb2d1550a2 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/server/SocketStream.cpp Log Message: ----------- SocketStream: use THROW_SOCKET_ERROR for better messages on Windows (cherry picked from commit feddbef8052208508a2e542a1a70c23138f476b8) Commit: 13e66ee8e9add83ccf1cc1d78801b9daf291880c https://github.com/boxbackup/boxbackup/commit/13e66ee8e9add83ccf1cc1d78801b9daf291880c Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/common/Logging.cpp M lib/common/Logging.h Log Message: ----------- Enable overriding log level by category as well as filename This extends the -L command-line option to allow overriding by filename/category=level as well as the existing support for overriding by filename=level. (cherry picked from commit 4421c53ab59adb494308f9c9f881a6a57bfd571c) Commit: ed500780e2ba1a823af3941a24ed40f24b45ee10 https://github.com/boxbackup/boxbackup/commit/ed500780e2ba1a823af3941a24ed40f24b45ee10 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/win32/emu.cpp Log Message: ----------- Windows syslog() emulation: improve error messages If syslog can't log to the Windows event log for some reason, instead of just printing the log message to the console, include some explanatory text about what went wrong. (cherry picked from commit c492c90062d2e88db1016f13bd912629477a8a46) Commit: 025e0325704b40c05ebfc4953f6891abbb67d6e0 https://github.com/boxbackup/boxbackup/commit/025e0325704b40c05ebfc4953f6891abbb67d6e0 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Fix rare crash while tearing down S3BackupFileSystem ReleaseLock() could fail if it can't contact the S3/SimpleDB server, but destructors aren't allowed to throw exceptions, so catch this case and log a warning instead (because we failed to release the lock that we were holding). (cherry picked from commit 6226c014dd2988a6a29cd21f6cc29fa0e7816607) Commit: 018f84e4f0a17a9ed14560650f0f5269f3e88a70 https://github.com/boxbackup/boxbackup/commit/018f84e4f0a17a9ed14560650f0f5269f3e88a70 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/bbackupd/testbbackupd.cpp Log Message: ----------- Increase time allowed for backup in test_store_error_reporting Should increase reliability of tests running on Travis. Commit: 5a00bbc2fbc4a61ad1ef3fbd26f6cf290893166a https://github.com/boxbackup/boxbackup/commit/5a00bbc2fbc4a61ad1ef3fbd26f6cf290893166a Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Enable precedence warnings as errors (-Werror=parentheses) Commit: e516f59e3328e6026ea26ba80f4ac6281212fed7 https://github.com/boxbackup/boxbackup/commit/e516f59e3328e6026ea26ba80f4ac6281212fed7 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/Timer.cpp M test/common/testcommon.cpp Log Message: ----------- Remove invalid use of null references (undefined behaviour) Enable the relevant compiler warning as an error, if supported (-Werror=undefined-bool-conversion). http://www.gotw.ca/conv/002.htm http://stackoverflow.com/questions/2165078/a-reference-can-not-be-null-or-it-can-be-null (cherry picked from commit f2911acac0c8375a08ecc0a55f853a5a59c4d511) Commit: 92c05cac1f61afabaaaf38f269ab32f74463e93b https://github.com/boxbackup/boxbackup/commit/92c05cac1f61afabaaaf38f269ab32f74463e93b Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupStoreFileEncodeStream.cpp M lib/backupstore/BackupStoreFileEncodeStream.h Log Message: ----------- Enable errors on unused private fields (-Werror=unused-private-field) Fix compile failure due to unused private field. In CMake release builds, RaidBackupFileSystem::mDiscSet was initialized but never read, and this was detected by -Werror,-Wunused-private-field. Now the field is totally compiled out of release builds, and by using the correct preprocessor define, CMake and the Perl buildsystem now behave the same. (cherry picked from commit d0f88e70f9c841bf2f8baedb89ec28523b2e357d) Commit: 5c95d928ee84e076db26853f6308a98cc7f403f9 https://github.com/boxbackup/boxbackup/commit/5c95d928ee84e076db26853f6308a98cc7f403f9 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M bin/bbstoreaccounts/bbstoreaccounts.cpp M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- Make BackupAccountControl throw exceptions on lock failure Remove the compatibility code that caught these exceptions and made the functions return 1 instead of throwing the exception. Make bbstoreaccounts catch these exceptions and exit with status 1 instead. Commit: 95be9a668303adea8ad2826bd7996d97527b1c33 https://github.com/boxbackup/boxbackup/commit/95be9a668303adea8ad2826bd7996d97527b1c33 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M bin/bbstoreaccounts/bbstoreaccounts.cpp Log Message: ----------- bbstoreaccounts: more refactoring to support non-raidfile backends Commit: f17b2da5e02b430af61f397a502839d1c6170acf https://github.com/boxbackup/boxbackup/commit/f17b2da5e02b430af61f397a502839d1c6170acf Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupCommands.cpp Log Message: ----------- Remove unused #includes from BackupCommands.cpp Commit: be929a159c1a02decca10f20686fb8c0218d4b75 https://github.com/boxbackup/boxbackup/commit/be929a159c1a02decca10f20686fb8c0218d4b75 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupConstants.h M lib/backupstore/StoreStructure.cpp Log Message: ----------- Add a constant for WRITE_LOCK_FILENAME Commit: 3c212e8f1134361f2bc7f9f68076133f1cf37214 https://github.com/boxbackup/boxbackup/commit/3c212e8f1134361f2bc7f9f68076133f1cf37214 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Fix S3BackupFileSystem::GetAccountIdentifier() exception This makes it possible to call GetAccountIdentifier() on an account which doesn't currently have a BackupStoreInfo file, which allows us to log something relating to the account while locking it while creating it (and the BackupStoreInfo file). Commit: 2319f018999037136e5be002eb4c49df5395da76 https://github.com/boxbackup/boxbackup/commit/2319f018999037136e5be002eb4c49df5395da76 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupStoreCheck.cpp M lib/backupstore/BackupStoreContext.cpp M lib/backupstore/HousekeepStoreAccount.cpp M lib/backupstore/StoreTestUtils.cpp Log Message: ----------- Generalise BackupFileSystem::GetLock and reuse it This reduces code duplication (multiple implementations of locking retries) and also enables centralised logging of locking attempts, which can be more easily fine-tuned. (cherry picked from commit 0469e4a3bd7318547294ec5309aabffa488fc67f) Commit: ff34032345f6f9694e18ab227a9c5168662c285f https://github.com/boxbackup/boxbackup/commit/ff34032345f6f9694e18ab227a9c5168662c285f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/win32/getopt_long.cpp Log Message: ----------- Only replace getopt on Windows, not any other platform The preprocessor test was wrong, causing this code to be built (and potentially replace the system getopt/long) on all platforms. This made it impossible to build with -Werror=writable-strings on Unix without modifying this file further to fix its casting of static strings to mutable pointers. Commit: 01086537428a173c0ceb1557012f857cf321c5f8 https://github.com/boxbackup/boxbackup/commit/01086537428a173c0ceb1557012f857cf321c5f8 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/Utils.cpp Log Message: ----------- Enable -Werror=writable-strings and fix one such error Commit: 2f6e9654a25c8ee89bd8515a9f71674b1e65615f https://github.com/boxbackup/boxbackup/commit/2f6e9654a25c8ee89bd8515a9f71674b1e65615f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/server/makeprotocol.pl.in M test/basicserver/TestCommands.cpp M test/basicserver/TestProtocol.txt M test/basicserver/testbasicserver.cpp Log Message: ----------- Fix ProtocolError single-argument (subtype only) constructor Correctly initialise mType from the ErrorType CONSTANT in the protocol message definition in this case, instead of leaving it uninitialised. Add test. Also test that these unexpected errors cause the connection to be closed as expected. Also catch SIGPIPE so that the test doesn't die when the server process closes the connection to it. Commit: 22a8613ed523ffc5882021f4725ddd24320ba813 https://github.com/boxbackup/boxbackup/commit/22a8613ed523ffc5882021f4725ddd24320ba813 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/makebuildenv.pl.in Log Message: ----------- Fix build order for targets which depend on auto-generated files These auto-generated files should always be rebuilt first, and hence must be listed first in the dependencies. Otherwise, if we add a command to a Protocol.txt file and also implement that command in the Commands.cpp source file, we might try to compile Commands.cpp before rebuilding autogen_Protocol.h, which will fail with a compile error, which prevents Make from reaching the autogen_Protocol.cpp target which would cause the header file to be updated as a side effect, which would resolve the compile error. Commit: 07a7b318ed07ec37f16dc186d39e954146e2d590 https://github.com/boxbackup/boxbackup/commit/07a7b318ed07ec37f16dc186d39e954146e2d590 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/basicserver/testbasicserver.cpp Log Message: ----------- Check for both SocketReadError and SocketWriteError Depending on timing, we might get to send our message (in the test) and then fail to read the reply, or fail during writing instead. Commit: d325f01fd9c593283a8a189900afb9f0fc30c49f https://github.com/boxbackup/boxbackup/commit/d325f01fd9c593283a8a189900afb9f0fc30c49f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Fix GCC warnings about -Wno-* flags GCC suppresses warnings for -Wno-* flags unless another error occurs, so we need to use the opposite flag for detection purposes. Add an optional second argument to BOX_CHECK_CXX_FLAG to allow specifying that detection flag. (cherry picked from commit dd7377e3593f96b85cf82b446fe28a86f713fe61) Commit: 079e871f0ac860f52b6128d3930babb40d39d447 https://github.com/boxbackup/boxbackup/commit/079e871f0ac860f52b6128d3930babb40d39d447 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Fix cleanup of backupstore specialised tests In case of exception, ensure that teardown code is always run, to release filesystem lock before deleting files in standard tearDown(). (cherry picked from commit 69f205bafe925548d799df13d01d2e8ea5e5e7bc) Commit: c0e19ba1bea7d68197de34e9571ecc2d7fd52642 https://github.com/boxbackup/boxbackup/commit/c0e19ba1bea7d68197de34e9571ecc2d7fd52642 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Port test_server_housekeeping to BackupFileSystem Commit: 769405937d27b839cf8efe7f38d85835e8eceb84 https://github.com/boxbackup/boxbackup/commit/769405937d27b839cf8efe7f38d85835e8eceb84 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Fix 5f6680520574f15b97f92e151d93efc40be0f100 Don't swallow exceptions by returning before rethrowing them Commit: 75c2724455894a690b1d26145e97dc0d4d00981d https://github.com/boxbackup/boxbackup/commit/75c2724455894a690b1d26145e97dc0d4d00981d Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/StoreTestUtils.cpp M lib/backupstore/StoreTestUtils.h M test/backupstore/testbackupstore.cpp Log Message: ----------- Port test_directory_parent_entry_tracks_directory_size to BackupFileSystem Implement as a specialised test, and run on S3 as well. This requires implementation of S3BackupFileSystem::DeleteFile and DeleteDirectory, and a version of change_account_limits which takes a reference to a BackupAccountControl. Commit: a19124c7caf43317afe88cc93145d14a798b9b6f https://github.com/boxbackup/boxbackup/commit/a19124c7caf43317afe88cc93145d14a798b9b6f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h Log Message: ----------- Add detailed logging of BackupFileSystem locks This logging is categorised, so it can be enabled with fine-tuning using the -L command-line option. (cherry picked from commit 7a2572c446b4a95f18eda04e72f6aabfd9544e04) Commit: 7a863f239eb8aa92443da221870565e99660b51e https://github.com/boxbackup/boxbackup/commit/7a863f239eb8aa92443da221870565e99660b51e Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/win32/emu.h Log Message: ----------- Fix missing define causing unnecessary stat() on Windows (cherry picked from commit c38e93f27ebcad6572b2cc17e4e74bf8315ddca2) Commit: a8090b050b460a7a9e0df70178042c6f4e4d3759 https://github.com/boxbackup/boxbackup/commit/a8090b050b460a7a9e0df70178042c6f4e4d3759 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/bbackupd/BackupClientInodeToIDMap.cpp Log Message: ----------- Remove duplicate QDBM logging macros from BackupClientInodeToIDMap.cpp Commit: 85627284884480e66aa9e0114c6381f97089c23f https://github.com/boxbackup/boxbackup/commit/85627284884480e66aa9e0114c6381f97089c23f Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstorefix/testbackupstorefix.cpp Log Message: ----------- Enable detailed logging of locking in test/backupstorefix This should help diagnose occasional locking problems causing test failures on AppVeyor. (cherry picked from commit 94f75ac0476c2264ed80f51c5d4014639dccb407) Commit: 8744de0723d0621d9986a79e565c69e0ce60b452 https://github.com/boxbackup/boxbackup/commit/8744de0723d0621d9986a79e565c69e0ce60b452 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/cmake/CMakeLists.txt M lib/common/Logging.cpp M lib/common/Logging.h Log Message: ----------- Allow using LogLevelOverrideByFileGuard as a guard After calling its Install() method, the guard will be installed in the central logging configuration, and will automatically be uninstalled when the object goes out of scope and is destroyed. (cherry picked from commit 2b5b65b2dccfa2a88688e0103dc4996a039c515c) Commit: 6d48c54051603810fea967ba6e6806d313653df5 https://github.com/boxbackup/boxbackup/commit/6d48c54051603810fea967ba6e6806d313653df5 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupStoreAccounts.cpp M lib/backupstore/BackupStoreAccounts.h M test/backupstorefix/testbackupstorefix.cpp M test/bbackupd/testbbackupd.cpp Log Message: ----------- Remove BackupStoreAccounts::LockAccount Replace with BackupFileSystem::GetLock where used (only in tests at this point). Commit: 3a7c17691c06b023d24e5f603481bc38b8272c40 https://github.com/boxbackup/boxbackup/commit/3a7c17691c06b023d24e5f603481bc38b8272c40 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- test/common: use setup and teardown macros on each test case Commit: 94d61c326efce024e8b76ba7f6a92caa378438e1 https://github.com/boxbackup/boxbackup/commit/94d61c326efce024e8b76ba7f6a92caa378438e1 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- Add tests for exclusivity of locking Commit: eb2d455931904b6d5f5d87b7e5cd2ab3cd0615c3 https://github.com/boxbackup/boxbackup/commit/eb2d455931904b6d5f5d87b7e5cd2ab3cd0615c3 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M appveyor.yml Log Message: ----------- Mark master branch builds as full releases (not pre-releases) on GitHub Commit: 94c136343ed312e6a44ca185b6e58677adcde34e https://github.com/boxbackup/boxbackup/commit/94c136343ed312e6a44ca185b6e58677adcde34e Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/backupclient/BackupDaemonConfigVerify.cpp M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/common/Configuration.h M test/backupstore/testbackupstore.cpp M test/backupstore/testfiles/bbackupd.conf M test/s3store/testfiles/bbackupd.conf Log Message: ----------- Add S3 BackupFileSystem locking using SimpleDB Commit: 6d264b738348f310ec9440998f835054529d1cee https://github.com/boxbackup/boxbackup/commit/6d264b738348f310ec9440998f835054529d1cee Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Build 64-bit OpenSSL in Windows superbuild Commit: b3642446f7e5af13da69c2368c1441db5c2599d1 https://github.com/boxbackup/boxbackup/commit/b3642446f7e5af13da69c2368c1441db5c2599d1 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupStoreContext.cpp Log Message: ----------- BackupStoreContext: improve log messages regarding the cache Commit: 4308764341eb8bbed27f94bbab2e663ebb470f50 https://github.com/boxbackup/boxbackup/commit/4308764341eb8bbed27f94bbab2e663ebb470f50 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.cpp Log Message: ----------- BackupAccountControl: silence exceptions during CreateAccount We expect that the raidfile or HTTP file doesn't exist during CreateAccount, so the exception message is unhelpful, so suppress it. Commit: ac6e1edc067f31a36ea159fd6adbf9ef2356bf44 https://github.com/boxbackup/boxbackup/commit/ac6e1edc067f31a36ea159fd6adbf9ef2356bf44 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/StoreTestUtils.cpp M lib/backupstore/StoreTestUtils.h M test/backupstore/testbackupstore.cpp M test/bbackupd/testbbackupd.cpp Log Message: ----------- Remove remaining calls to check_num_files() without a BackupFileSystem Commit: cb25823e008c0718fe0aa3078225a50775f8f404 https://github.com/boxbackup/boxbackup/commit/cb25823e008c0718fe0aa3078225a50775f8f404 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupStoreInfo.cpp M lib/backupstore/BackupStoreInfo.h M test/backupstore/testbackupstore.cpp Log Message: ----------- Refactor BackupStoreInfo to remove legacy RaidFile support Commit: cf52c5030c8b80aeefb2a0a0a42bd82829b806c8 https://github.com/boxbackup/boxbackup/commit/cf52c5030c8b80aeefb2a0a0a42bd82829b806c8 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Run test_account_limits_respected on S3 BackupFileSystem Commit: c337d040f9eb8263febc3aa23afeb7e897c7f657 https://github.com/boxbackup/boxbackup/commit/c337d040f9eb8263febc3aa23afeb7e897c7f657 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Add a test for S3BackupFileSystem and its RevisionID calculation Commit: b8447f7b8b388daff84f7f810dd0705976c74f6e https://github.com/boxbackup/boxbackup/commit/b8447f7b8b388daff84f7f810dd0705976c74f6e Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstorefix/testbackupstorefix.cpp Log Message: ----------- Refactor testbackupstorefix to reduce code duplication Commit: 320ae10198b2cb3f9a99c4a7da74897a3d4d7d95 https://github.com/boxbackup/boxbackup/commit/320ae10198b2cb3f9a99c4a7da74897a3d4d7d95 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- testbackupstorepatch: improve debugging messages Commit: 7236bcf426f3842d28ca1a30081dfd689257c8dc https://github.com/boxbackup/boxbackup/commit/7236bcf426f3842d28ca1a30081dfd689257c8dc Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- Port test/backupstorepatch to use BackupFileSystem Make testbackupstorepatch do housekeeping in-process to make debugging easier. Check return value of housekeeping to ensure that no errors were detected. Commit: 445c7e721a600cca865b93ec43bebeacb1b97088 https://github.com/boxbackup/boxbackup/commit/445c7e721a600cca865b93ec43bebeacb1b97088 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/bbackupd/BackupDaemon.cpp M lib/bbstored/BBStoreDHousekeeping.cpp Log Message: ----------- Suppress exception messages in LineBuffer::GetLine These exceptions are used to communicate state to the caller, and should not be treated as errors in common cases. (cherry picked from commit 86f3e9c0f4916741bbed20e04a4b4f2d71bb4f32) Commit: f5a786779277627ca40c76d42fbab9b36ec9eaab https://github.com/boxbackup/boxbackup/commit/f5a786779277627ca40c76d42fbab9b36ec9eaab Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/bbstored/BBStoreDHousekeeping.cpp M lib/bbstored/BackupStoreDaemon.cpp M lib/server/Daemon.cpp M lib/server/Daemon.h M lib/server/ServerStream.h Log Message: ----------- Clear up Daemon command-line arguments -D and -F By separating their roles (which used to overlap) it's now possible to run a forking server in the foreground, or a non-forking daemon in the background, which can be useful for debugging (for example, to more closely simulate how test daemons work on Windows when running on Unix). -DF is now needed to have a non-forking server in the foreground. (cherry picked from commit b31c0e4abd4875bb25ff7a918ed5bc7f7faf595d) Commit: 5cfe9afde9b928577ae68f1264f7c588695768d9 https://github.com/boxbackup/boxbackup/commit/5cfe9afde9b928577ae68f1264f7c588695768d9 Author: Chris Wilson Date: 2018-01-08 (Mon, 08 Jan 2018) Changed paths: M lib/common/NamedLock.cpp M lib/common/NamedLock.h Log Message: ----------- Eliminate conditional code for Windows file handles from NamedLock Should improve code readability and robustness. (cherry picked from commit e773e4ccefcdab8f01b1a3bf7d828c3bb39eaaa7) Commit: 6010f602c4ab099880d18350aea7a3583c9be9ed https://github.com/boxbackup/boxbackup/commit/6010f602c4ab099880d18350aea7a3583c9be9ed Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/common/CommonException.txt M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Improve NamedLock code readability, reliability and logging Define our own preprocessor defines for lock methods, test that we cover every case at compile time ad that they have the semantics that we expect (reentrant or not). Add support for F_OFD_SETLK, a non-reentrant lock type offered by Linux, and ensure that this and FLOCK are chosen in preference to F_SETLK locks, which are reentrant. (cherry picked from commit de1911b132310a1d5f1073928036db00abe0ef20) (cherry picked from commit 96136adf5dbe38ef92ad3f9490b549c11dd91fd4) Commit: e5c859b19459dccb327066de13d448ab1ee80d5d https://github.com/boxbackup/boxbackup/commit/e5c859b19459dccb327066de13d448ab1ee80d5d Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) (cherry picked from commit 85e7efc3fa0477f60318d2cd2144503a9ea8feb9) Commit: 42798c09b437ae6ba21c296c1b9914d012cc124a https://github.com/boxbackup/boxbackup/commit/42798c09b437ae6ba21c296c1b9914d012cc124a Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M lib/server/ServerControl.cpp M test/basicserver/testbasicserver.cpp Log Message: ----------- Improve logging in test/basicserver to help debug FreeBSD test failures Commit: fdd5276d466d73d65472ba146708ed0602d52c66 https://github.com/boxbackup/boxbackup/commit/fdd5276d466d73d65472ba146708ed0602d52c66 Author: Chris Wilson Date: 2018-01-14 (Sun, 14 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Move check for -Werror=narrowing to join other -Werror checks Commit: 6a8f093218aba50063022ba41c497db790a3f0f5 https://github.com/boxbackup/boxbackup/commit/6a8f093218aba50063022ba41c497db790a3f0f5 Author: Chris Wilson Date: 2018-01-15 (Mon, 15 Jan 2018) Changed paths: M lib/server/Protocol.cpp Log Message: ----------- Add protocol logging to help debug test/basicserver timeouts on FreeBSD Compare: https://github.com/boxbackup/boxbackup/compare/f4bf9ec324c8^...6a8f093218ab From noreply at github.com Mon Jan 15 23:56:06 2018 From: noreply at github.com (GitHub) Date: Mon, 15 Jan 2018 15:56:06 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a5d3f9696bc2_13aa2aee9bc7dbfc42923@hookshot-fe-2cc8887.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180115.d5b8f38 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Tue Jan 16 00:49:11 2018 From: noreply at github.com (GitHub) Date: Mon, 15 Jan 2018 16:49:11 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a5d4c07afba3_52e92ad23cbc5c08642c9@hookshot-fe-cace476.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180116.d5b8f38 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Fri Jan 19 23:13:22 2018 From: noreply at github.com (GitHub) Date: Fri, 19 Jan 2018 15:13:22 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 1a8d47: check_reference_counts: add assertion that Expecte... Message-ID: <5a627b92dff0_3b7e2ad85e7a9c14993d0@hookshot-fe-b0febf1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 1a8d472a00bfcac19eb6f84b0a8a544536cc5e3c https://github.com/boxbackup/boxbackup/commit/1a8d472a00bfcac19eb6f84b0a8a544536cc5e3c Author: Chris Wilson Date: 2018-01-19 (Fri, 19 Jan 2018) Changed paths: M lib/backupstore/StoreTestUtils.cpp Log Message: ----------- check_reference_counts: add assertion that ExpectedRefCounts has correct length From noreply at github.com Fri Jan 19 23:19:08 2018 From: noreply at github.com (GitHub) Date: Fri, 19 Jan 2018 15:19:08 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] b1cc96: Remove unused code, to reduce diffs to s3_support_... Message-ID: <5a627cec2d294_2cf92b1ed623fc109771a@hookshot-fe-6b2eebc.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: b1cc9666d6ed14155052fdade8eb0f61fbb15d0f https://github.com/boxbackup/boxbackup/commit/b1cc9666d6ed14155052fdade8eb0f61fbb15d0f Author: Chris Wilson Date: 2018-01-19 (Fri, 19 Jan 2018) Changed paths: M lib/backupstore/BackupAccountControl.h M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupStoreAccounts.cpp M lib/backupstore/BackupStoreAccounts.h M lib/backupstore/BackupStoreCheck.cpp M lib/backupstore/BackupStoreCheck.h M lib/backupstore/BackupStoreCheck2.cpp M lib/backupstore/BackupStoreInfo.h M lib/common/MemLeakFinder.h M test/backupstore/testbackupstore.cpp M test/backupstorepatch/testbackupstorepatch.cpp M test/httpserver/testhttpserver.cpp Log Message: ----------- Remove unused code, to reduce diffs to s3_support_merge Commit: 97a303ea3c45c9ed81f76183b7d98c081b136584 https://github.com/boxbackup/boxbackup/commit/97a303ea3c45c9ed81f76183b7d98c081b136584 Author: Chris Wilson Date: 2018-01-19 (Fri, 19 Jan 2018) Changed paths: M lib/httpserver/HTTPException.txt Log Message: ----------- Remove full stops from ends of exception messages Commit: dc78b502f5ec974b8ea33d878ca79a0b7f53e0d8 https://github.com/boxbackup/boxbackup/commit/dc78b502f5ec974b8ea33d878ca79a0b7f53e0d8 Author: Chris Wilson Date: 2018-01-19 (Fri, 19 Jan 2018) Changed paths: M test/bbackupd/testbbackupd.cpp Log Message: ----------- Increase test verbosity level in test_store_error_reporting, to debug timing Commit: 5834af4d9916fb6b7e3c15c46d1fac56183d5f74 https://github.com/boxbackup/boxbackup/commit/5834af4d9916fb6b7e3c15c46d1fac56183d5f74 Author: Chris Wilson Date: 2018-01-19 (Fri, 19 Jan 2018) 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. (cherry picked from commit 0100d3185abf10b17ff7727f2c0f2d8fb6b724d4) Compare: https://github.com/boxbackup/boxbackup/compare/2cc729b45d60...5834af4d9916 From noreply at github.com Fri Jan 19 23:40:57 2018 From: noreply at github.com (GitHub) Date: Fri, 19 Jan 2018 15:40:57 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a62820999372_2e492ae630611c1412759f@hookshot-fe-d2afb11.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180119.1a8d472 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sat Jan 20 00:40:52 2018 From: noreply at github.com (GitHub) Date: Fri, 19 Jan 2018 16:40:52 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a6290147cd5b_23522ab09c089c0c87589@hookshot-fe-5a11256.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180120.1a8d472 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sat Jan 20 10:50:13 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 02:50:13 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 67ead0: Wait for housekeeping to finish before bbstored ex... Message-ID: <5a631ee575380_490d2afa34b1bc10149186@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 67ead0d2450fe34511a5668cc7b883727fd050eb https://github.com/boxbackup/boxbackup/commit/67ead0d2450fe34511a5668cc7b883727fd050eb Author: Chris Wilson Date: 2018-01-19 (Fri, 19 Jan 2018) Changed paths: M lib/bbstored/BBStoreDHousekeeping.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. (cherry picked from commit 0100d3185abf10b17ff7727f2c0f2d8fb6b724d4) (cherry picked from commit 2cc729b45d60f3c9b920a459538171882a564b0d) Commit: 069627cc19497ef9ea8d8820e1c15d39f9be789c https://github.com/boxbackup/boxbackup/commit/069627cc19497ef9ea8d8820e1c15d39f9be789c Author: Chris Wilson Date: 2018-01-19 (Fri, 19 Jan 2018) Changed paths: M lib/httpserver/HTTPException.txt Log Message: ----------- Remove full stops from ends of exception messages, for consistency Compare: https://github.com/boxbackup/boxbackup/compare/1a8d472a00bf...069627cc1949 From noreply at github.com Sat Jan 20 11:17:24 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 03:17:24 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a632544a878a_3d722b14f3ef5c0864835@hookshot-fe-b0febf1.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180120.069627c Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sat Jan 20 11:53:08 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 03:53:08 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] ec8136: RaidFile: allow creating a new file with refcount ... Message-ID: <5a632da47daf_72c12aee2b4c9c148685a@hookshot-fe-da92815.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: ec81363161b86a9710057fb9c0abce62e48f88e5 https://github.com/boxbackup/boxbackup/commit/ec81363161b86a9710057fb9c0abce62e48f88e5 Author: Chris Wilson Date: 2018-01-20 (Sat, 20 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/raidfile/RaidFileWrite.cpp M lib/raidfile/RaidFileWrite.h Log Message: ----------- RaidFile: allow creating a new file with refcount == 0 Stop lying about our refcount when creating new files in BackupFileSystem. From noreply at github.com Sat Jan 20 12:37:15 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 04:37:15 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a6337fb7dc08_2cf92b1ed623fc109953b@hookshot-fe-6b2eebc.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180120.ec81363 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sat Jan 20 22:17:08 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 14:17:08 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 4a83ec: Add support for general file locking in FileStream Message-ID: <5a63bfe4434cb_75c92ad16eba1c1411221f@hookshot-fe-6e9b612.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 4a83eccb7f5c0ada6c2e5467a13374f5b0ab43b0 https://github.com/boxbackup/boxbackup/commit/4a83eccb7f5c0ada6c2e5467a13374f5b0ab43b0 Author: Chris Wilson Date: 2018-01-20 (Sat, 20 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/FileStream.cpp M lib/common/FileStream.h M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Add support for general file locking in FileStream Use this support (moved out of NamedLock) to massively simplify NamedLock. Add support for shared file locks, and ensure that opening files respects any exclusive (advisory) lock on that file. From noreply at github.com Sat Jan 20 22:28:33 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 14:28:33 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] e9bd94: Convert RaidFileWrite to use FileStream to write s... Message-ID: <5a63c2915f113_6a0e2af5ec95dc08341cd@hookshot-fe-88eb02d.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: e9bd944f099f4767b795c80c10dbc17def67dcb3 https://github.com/boxbackup/boxbackup/commit/e9bd944f099f4767b795c80c10dbc17def67dcb3 Author: Chris Wilson Date: 2018-01-20 (Sat, 20 Jan 2018) Changed paths: M lib/raidfile/RaidFileWrite.cpp Log Message: ----------- Convert RaidFileWrite to use FileStream to write stripes Enable exclusive locking of stripe files on all platforms, not just Windows and O_EXLOCK. From noreply at github.com Sat Jan 20 22:43:26 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 14:43:26 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a63c60eb54ec_4b072b1c6383bc10906f7@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180120.4a83ecc Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sat Jan 20 22:56:16 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 14:56:16 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] d67145: Convert RaidFileWrite to use FileStream to write s... Message-ID: <5a63c91088892_27022aac28343c04545bc@hookshot-fe-5a11256.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: d6714507bd965b4b37a335328e9ce07dfad21fbb https://github.com/boxbackup/boxbackup/commit/d6714507bd965b4b37a335328e9ce07dfad21fbb Author: Chris Wilson Date: 2017-12-17 (Sun, 17 Dec 2017) Changed paths: M lib/common/CommonException.txt M lib/common/FileStream.cpp M lib/common/NamedLock.cpp M lib/raidfile/RaidFileWrite.cpp Log Message: ----------- Convert RaidFileWrite to use FileStream to write stripes Enable exclusive locking of stripe files on all platforms, not just Windows and O_EXLOCK. From noreply at github.com Sat Jan 20 23:13:11 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 15:13:11 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] e9bd94: Convert RaidFileWrite to use FileStream to write s... Message-ID: <5a63cd0736a94_58a82ac778e9dc10495ad@hookshot-fe-265448d.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180120.e9bd944 Home: https://github.com/boxbackup/boxbackup Commit: e9bd944f099f4767b795c80c10dbc17def67dcb3 https://github.com/boxbackup/boxbackup/commit/e9bd944f099f4767b795c80c10dbc17def67dcb3 Author: Chris Wilson Date: 2018-01-20 (Sat, 20 Jan 2018) Changed paths: M lib/raidfile/RaidFileWrite.cpp Log Message: ----------- Convert RaidFileWrite to use FileStream to write stripes Enable exclusive locking of stripe files on all platforms, not just Windows and O_EXLOCK. From noreply at github.com Sat Jan 20 23:41:17 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 15:41:17 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a63d39dc0ec_26d02b1c126a7c1053093@hookshot-fe-7191cb1.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180120.d671450 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sun Jan 21 01:02:00 2018 From: noreply at github.com (GitHub) Date: Sat, 20 Jan 2018 17:02:00 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a63e6885f468_37be2aec3a1ddc148296f@hookshot-fe-b0febf1.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180121.d671450 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sun Jan 21 12:51:46 2018 From: noreply at github.com (GitHub) Date: Sun, 21 Jan 2018 04:51:46 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 24386d: Remove MEMLEAKFINDER_NOT_A_LEAK from FileStream Message-ID: <5a648ce281070_640d2aecf5539c1c4714b@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 24386d968c3fd9a9c486e42c24e2844e9ff713ad https://github.com/boxbackup/boxbackup/commit/24386d968c3fd9a9c486e42c24e2844e9ff713ad Author: Chris Wilson Date: 2017-12-17 (Sun, 17 Dec 2017) Changed paths: M lib/common/FileStream.cpp Log Message: ----------- Remove MEMLEAKFINDER_NOT_A_LEAK from FileStream It's not clear why we need to tell the memory leak tracking system to ignore FileStream objects if they raise an exception in their constructors. The objects should still be destroyed normally. Additionally, now that we allocate more of them on the heap (for NamedLock), this can cause later allocations to be silently ignored as not-leaks, which is causing test_memory_leak_detection to fail. From noreply at github.com Sun Jan 21 13:21:59 2018 From: noreply at github.com (GitHub) Date: Sun, 21 Jan 2018 05:21:59 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] Message-ID: <5a6493f710d9c_2ece2b17d3b59bfc865ba@hookshot-fe-6b2eebc.cp1-iad.github.net.mail> Branch: refs/tags/BoxBackup-0.12.s3_support_merge.180121.24386d9 Home: https://github.com/boxbackup/boxbackup From noreply at github.com Sun Jan 21 15:59:22 2018 From: noreply at github.com (GitHub) Date: Sun, 21 Jan 2018 07:59:22 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 025615: Add support for general file locking in FileStream Message-ID: <5a64b8dae16f_65182af9cca85c0058451@hookshot-fe-d252ca1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 025615709f151dacfaad2868bc9ea8e482d5f424 https://github.com/boxbackup/boxbackup/commit/025615709f151dacfaad2868bc9ea8e482d5f424 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/FileStream.cpp M lib/common/FileStream.h M lib/common/NamedLock.cpp M lib/common/NamedLock.h M test/common/testcommon.cpp Log Message: ----------- Add support for general file locking in FileStream Use this support (moved out of NamedLock) to massively simplify NamedLock. Add support for shared file locks, and ensure that opening files respects any exclusive (advisory) lock on that file. (cherry picked from commit 4a83eccb7f5c0ada6c2e5467a13374f5b0ab43b0) Commit: e0a1bfdcae73b4ce611a98abdfa5b6ea9a09f101 https://github.com/boxbackup/boxbackup/commit/e0a1bfdcae73b4ce611a98abdfa5b6ea9a09f101 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/FileStream.cpp M lib/common/NamedLock.cpp M lib/raidfile/RaidFileWrite.cpp Log Message: ----------- Convert RaidFileWrite to use FileStream to write stripes Enable exclusive locking of stripe files on all platforms, not just Windows and O_EXLOCK. (cherry picked from commit d6714507bd965b4b37a335328e9ce07dfad21fbb) Commit: 14fbf334527a45d8bf6da8aa8163aa7910ae0829 https://github.com/boxbackup/boxbackup/commit/14fbf334527a45d8bf6da8aa8163aa7910ae0829 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M lib/common/FileStream.cpp Log Message: ----------- Remove MEMLEAKFINDER_NOT_A_LEAK from FileStream It's not clear why we need to tell the memory leak tracking system to ignore FileStream objects if they raise an exception in their constructors. The objects should still be destroyed normally. Additionally, now that we allocate more of them on the heap (for NamedLock), this can cause later allocations to be silently ignored as not-leaks, which is causing test_memory_leak_detection to fail. (cherry picked from commit 24386d968c3fd9a9c486e42c24e2844e9ff713ad) Commit: 18e1948fb24362e7086fd36ec79ae59fd9f96dc6 https://github.com/boxbackup/boxbackup/commit/18e1948fb24362e7086fd36ec79ae59fd9f96dc6 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- Compile out test_memory_leak_detection if leak detection is disabled (cherry picked from commit 616ad76d22f6360e9b53cc682028c0e87f1ea66c) Compare: https://github.com/boxbackup/boxbackup/compare/5834af4d9916...18e1948fb243 From noreply at github.com Sun Jan 21 16:02:49 2018 From: noreply at github.com (GitHub) Date: Sun, 21 Jan 2018 08:02:49 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 4ed9c6: Convert RaidFileWrite to use FileStream to write s... Message-ID: <5a64b9a973ebd_3aa92b0d2e5e5c0c1300fa@hookshot-fe-b0febf1.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 4ed9c6e52a993b6223c48431bb479a9efb2a415c https://github.com/boxbackup/boxbackup/commit/4ed9c6e52a993b6223c48431bb479a9efb2a415c Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M lib/common/CommonException.txt M lib/common/FileStream.cpp M lib/common/NamedLock.cpp M lib/raidfile/RaidFileWrite.cpp Log Message: ----------- Convert RaidFileWrite to use FileStream to write stripes Enable exclusive locking of stripe files on all platforms, not just Windows and O_EXLOCK. (cherry picked from commit d6714507bd965b4b37a335328e9ce07dfad21fbb) Commit: cabec10f08fdfe56ad89fe4cb026577516c32ec0 https://github.com/boxbackup/boxbackup/commit/cabec10f08fdfe56ad89fe4cb026577516c32ec0 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M lib/common/FileStream.cpp Log Message: ----------- Remove MEMLEAKFINDER_NOT_A_LEAK from FileStream It's not clear why we need to tell the memory leak tracking system to ignore FileStream objects if they raise an exception in their constructors. The objects should still be destroyed normally. Additionally, now that we allocate more of them on the heap (for NamedLock), this can cause later allocations to be silently ignored as not-leaks, which is causing test_memory_leak_detection to fail. (cherry picked from commit 24386d968c3fd9a9c486e42c24e2844e9ff713ad) Commit: 716a3a9fb15cc2ed71b680dfcb7f529172c326e3 https://github.com/boxbackup/boxbackup/commit/716a3a9fb15cc2ed71b680dfcb7f529172c326e3 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- Compile out test_memory_leak_detection if leak detection is disabled (cherry picked from commit 616ad76d22f6360e9b53cc682028c0e87f1ea66c) Compare: https://github.com/boxbackup/boxbackup/compare/18e1948fb243...716a3a9fb15c From noreply at github.com Sun Jan 21 20:59:55 2018 From: noreply at github.com (GitHub) Date: Sun, 21 Jan 2018 12:59:55 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 73f43c: Normalize all the line endings Message-ID: <5a64ff4bfd64_13aa2aee9bc7dbfc7459c@hookshot-fe-2cc8887.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 73f43c98d0e734b2309fd49a6587171af3296471 https://github.com/boxbackup/boxbackup/commit/73f43c98d0e734b2309fd49a6587171af3296471 Author: Chris Wilson Date: 2017-05-15 (Mon, 15 May 2017) Changed paths: M infrastructure/cmake/build/bin_bbackupd.vcxproj.user M infrastructure/cmake/build/bin_bbstored.vcxproj.user M infrastructure/cmake/build/test_backupstore.vcxproj.user M infrastructure/cmake/build/test_backupstorefix.vcxproj.user M infrastructure/cmake/build/test_bbackupd.vcxproj.user M infrastructure/cmake/build/test_common.vcxproj.user M infrastructure/cmake/build/test_httpserver.vcxproj.user M infrastructure/cmake/build/test_raidfile.vcxproj.user M lib/win32/bsd_getopt.h M lib/win32/messages.h Log Message: ----------- Normalize all the line endings Commit: 7b8a668f00e61c742146cf7b944f3f3b900ea331 https://github.com/boxbackup/boxbackup/commit/7b8a668f00e61c742146cf7b944f3f3b900ea331 Author: Chris Wilson Date: 2017-05-15 (Mon, 15 May 2017) Changed paths: M .gitattributes Log Message: ----------- Tell Git to treat .cpp files as text too. Commit: c7c2b9345dd6a4d8805fd097361736a3746f7392 https://github.com/boxbackup/boxbackup/commit/c7c2b9345dd6a4d8805fd097361736a3746f7392 Author: Chris Wilson Date: 2017-05-15 (Mon, 15 May 2017) Changed paths: M .gitignore Log Message: ----------- Tell Git to ignore some more generated files Commit: a3e328ef8f83d81f74b6a334ff6ad66d7dcbd534 https://github.com/boxbackup/boxbackup/commit/a3e328ef8f83d81f74b6a334ff6ad66d7dcbd534 Author: Chris Wilson Date: 2017-06-18 (Sun, 18 Jun 2017) Changed paths: M appveyor.yml M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Update versions of dependencies for Windows unibuild, add Boost * Add a variable in appveyor.yml for the CMake out-of-source build tree. * Update the directory name in commands in appveyor.yml to match new CMake unibuild tree structure. * Increase build verbosity slightly. * Disable GUI crash dialogs that cause test hangs. * Disable the AppVeyor cache that we don't use. Commit: 14e48b9851920cb2beb000610b36391879dcb201 https://github.com/boxbackup/boxbackup/commit/14e48b9851920cb2beb000610b36391879dcb201 Author: Chris Wilson Date: 2017-06-18 (Sun, 18 Jun 2017) Changed paths: M .travis.yml M infrastructure/travis-build.sh Log Message: ----------- Add Boost to Travis build environment, and OSX builds Commit: ab617bdce7280a59333da695f44507cc36c35d25 https://github.com/boxbackup/boxbackup/commit/ab617bdce7280a59333da695f44507cc36c35d25 Author: Chris Wilson Date: 2017-06-18 (Sun, 18 Jun 2017) Changed paths: M infrastructure/cmake/CMakeLists.txt Log Message: ----------- Install executables in test tree after building, not during "make install" Build buildenv-testmain-template.cpp in-place, instead of copying, modifying and compiling it. Increase timeouts for some tests that sometimes run out of time on AppVeyor. Commit: 910840de529d1566924ea938883969307b91c209 https://github.com/boxbackup/boxbackup/commit/910840de529d1566924ea938883969307b91c209 Author: Chris Wilson Date: 2017-06-18 (Sun, 18 Jun 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: 81e9aa6545f7f19124c9f5e88982b867d8732965 https://github.com/boxbackup/boxbackup/commit/81e9aa6545f7f19124c9f5e88982b867d8732965 Author: Chris Wilson Date: 2017-06-18 (Sun, 18 Jun 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: 3a3fc72cd3b3c98870028f6d968b9cde64341ccd https://github.com/boxbackup/boxbackup/commit/3a3fc72cd3b3c98870028f6d968b9cde64341ccd Author: Chris Wilson Date: 2017-06-18 (Sun, 18 Jun 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. (cherry picked from commit 00c2127e9832591c248fa6eea05dfaf785b8380d) Commit: 25e445a6848a870aabd89a3b8a013265aa3cf17b https://github.com/boxbackup/boxbackup/commit/25e445a6848a870aabd89a3b8a013265aa3cf17b Author: Chris Wilson Date: 2017-06-22 (Thu, 22 Jun 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. Commit: d8422a8b053b62c67e5fe2e861a09d2c792b657a https://github.com/boxbackup/boxbackup/commit/d8422a8b053b62c67e5fe2e861a09d2c792b657a Author: Chris Wilson Date: 2017-06-22 (Thu, 22 Jun 2017) Changed paths: A infrastructure/m4/ax_check_compile_flag.m4 M infrastructure/m4/boxbackup_tests.m4 Log Message: ----------- Use AX_CHECK_COMPILE_FLAG, add more checks Disable pointless deprecation warnings for std::auto_ptr. Commit: 6a04b0abd728da5211e6702b1d42aef95c02d8da https://github.com/boxbackup/boxbackup/commit/6a04b0abd728da5211e6702b1d42aef95c02d8da Author: Chris Wilson Date: 2017-06-22 (Thu, 22 Jun 2017) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/intercept/intercept.cpp M lib/intercept/intercept.h M test/raidfile/testraidfile.cpp Log Message: ----------- Fix intercept of SYS_open on platforms that only have SYS_openat (e.g. arm64) Commit: 105f2620b98bfd4e5d7ed576b5cc4b2317dcf634 https://github.com/boxbackup/boxbackup/commit/105f2620b98bfd4e5d7ed576b5cc4b2317dcf634 Author: Chris Wilson Date: 2017-06-22 (Thu, 22 Jun 2017) Changed paths: M lib/common/Logging.h 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. 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. Add a SettingsGuard to the Console logger for its specific settings, such as showing times and microseconds. (cherry picked from commit a5e6cff1d435329b0121417ed9509e315ce0edd5) (cherry picked from commit 8d02eebce553ed822e0fcd60d6e319384e15ba4b) Commit: 809d9ebacc409c4a86edb6077f489da67a2653d4 https://github.com/boxbackup/boxbackup/commit/809d9ebacc409c4a86edb6077f489da67a2653d4 Author: Chris Wilson Date: 2017-06-22 (Thu, 22 Jun 2017) Changed paths: M lib/common/BoxTime.cpp M test/bbackupd/testbbackupd.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) Commit: 4b7ab2833ebec9c026c10a761d64ada1ce809438 https://github.com/boxbackup/boxbackup/commit/4b7ab2833ebec9c026c10a761d64ada1ce809438 Author: Chris Wilson Date: 2017-06-26 (Mon, 26 Jun 2017) Changed paths: M lib/httpserver/cdecode.cpp Log Message: ----------- Fix build on ARM64 with unsigned char Thanks to Reinhard Tartler for pointing out the problem and suggesting the fix! Commit: b1f564266c64b48b99cce410e33d8287bf444d2a https://github.com/boxbackup/boxbackup/commit/b1f564266c64b48b99cce410e33d8287bf444d2a Author: Chris Wilson Date: 2017-07-02 (Sun, 02 Jul 2017) Changed paths: M lib/httpserver/cdecode.cpp Log Message: ----------- Merge pull request #17 from boxbackup/fix_arm64_unsigned_char Fix build on ARM64 with unsigned char Commit: c0ff77b8a73e0b7804a9eac26b59603e06d1cbc0 https://github.com/boxbackup/boxbackup/commit/c0ff77b8a73e0b7804a9eac26b59603e06d1cbc0 Author: Chris Wilson Date: 2017-09-16 (Sat, 16 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. (cherry picked from commit c5d8173bf03ab9fa93d3b3ffd871b378b0819567) Commit: 94ec413235f38419bf70a084a37808b6ae8bc09f https://github.com/boxbackup/boxbackup/commit/94ec413235f38419bf70a084a37808b6ae8bc09f Author: Chris Wilson Date: 2017-09-16 (Sat, 16 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. (cherry picked from commit 019025deceff49485b03593f7a77a570d960546a) Commit: 75190f42eac277e5b936c60fde6ed4274a9e740c https://github.com/boxbackup/boxbackup/commit/75190f42eac277e5b936c60fde6ed4274a9e740c Author: Chris Wilson Date: 2017-09-16 (Sat, 16 Sep 2017) Changed paths: M appveyor.yml Log Message: ----------- Reorder lines in appveyor.yml to match actual execution order (cherry picked from commit ea4f1728b529aff1dfc912d8f51567f8cd58ea77) Commit: 796d758eef318c012fde12c8aacac671934fb8e9 https://github.com/boxbackup/boxbackup/commit/796d758eef318c012fde12c8aacac671934fb8e9 Author: Chris Wilson Date: 2017-09-16 (Sat, 16 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 (cherry picked from commit 4876a5573a8bcd3312e9804c27fe9f30f3369747) Commit: 606b42ef0b265098bb107a4a36039c1bc83b2651 https://github.com/boxbackup/boxbackup/commit/606b42ef0b265098bb107a4a36039c1bc83b2651 Author: Chris Wilson Date: 2017-09-16 (Sat, 16 Sep 2017) Changed paths: M appveyor.yml Log Message: ----------- Disable DEBUG to reduce CMake build verbosity on AppVeyor (cherry picked from commit 793d5f57f5f99f50bffadea674f58be79f9cb6ff) Commit: 69e19233045b484b2378e3568bc7dd711d104122 https://github.com/boxbackup/boxbackup/commit/69e19233045b484b2378e3568bc7dd711d104122 Author: Chris Wilson Date: 2017-09-16 (Sat, 16 Sep 2017) Changed paths: M appveyor.yml Log Message: ----------- Change branches for which Windows packages are built Commit: b7c6a133b8868223bc39084968e0cac332fd4dfe https://github.com/boxbackup/boxbackup/commit/b7c6a133b8868223bc39084968e0cac332fd4dfe Author: Chris Wilson Date: 2017-09-18 (Mon, 18 Sep 2017) Changed paths: M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Install Box Backup in a temporary directory in Windows unibuilds Otherwise the unibuild fails at the end for non-administrator users when it tries to write to C:\Program Files\BoxBackup. Commit: fea4efbf5648dddb63f51b4b076baceb872be87b https://github.com/boxbackup/boxbackup/commit/fea4efbf5648dddb63f51b4b076baceb872be87b Author: Chris Wilson Date: 2017-10-16 (Mon, 16 Oct 2017) Changed paths: M bin/bbstored/bbstored-certs.in Log Message: ----------- Fix parsing of OpenSSL 1.1 output in bbstored-certs Thanks to Dean Hamstead (@djzort on GitHub) for the bug report and the patch! Commit: a631c82882b039f8467a2ef9abeb343f2ec5b3da https://github.com/boxbackup/boxbackup/commit/a631c82882b039f8467a2ef9abeb343f2ec5b3da Author: Chris Wilson Date: 2017-10-16 (Mon, 16 Oct 2017) Changed paths: M lib/bbackupd/BackupDaemon.cpp M lib/common/Timer.cpp M lib/common/Timer.h M test/common/testcommon.cpp Log Message: ----------- Fix -Wundefined-bool-conversion compile failure of master branch Master build fails with: lib/common/Timer.cpp:171:10: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]. Cannot get regtests to pass on this feature branch without fixing this. Also remove unused code from Timers. Commit: 24aca3fc618e36e2feb448bd7b5c05b31a064bd3 https://github.com/boxbackup/boxbackup/commit/24aca3fc618e36e2feb448bd7b5c05b31a064bd3 Author: Chris Wilson Date: 2017-10-17 (Tue, 17 Oct 2017) Changed paths: M bin/bbstored/bbstored-certs.in M lib/bbackupd/BackupDaemon.cpp M lib/common/Timer.cpp M lib/common/Timer.h M test/common/testcommon.cpp Log Message: ----------- Merge pull request #19 from boxbackup/bbstored_certs Fix parsing of OpenSSL 1.1 output in bbstored-certs. Fixes #18. Thanks to Dean Hamstead (@djzort on GitHub) for the bug report and the patch! Commit: 447c2cd3d6884b8383884dbbfe65db845ea5c04d https://github.com/boxbackup/boxbackup/commit/447c2cd3d6884b8383884dbbfe65db845ea5c04d Author: Chris Wilson Date: 2017-11-26 (Sun, 26 Nov 2017) Changed paths: M lib/common/Timer.cpp M test/common/testcommon.cpp Log Message: ----------- Remove invalid use of null references (undefined behaviour) Enable the relevant compiler warning as an error, if supported (-Werror=undefined-bool-conversion). http://www.gotw.ca/conv/002.htm http://stackoverflow.com/questions/2165078/a-reference-can-not-be-null-or-it-can-be-null (cherry picked from commit f2911acac0c8375a08ecc0a55f853a5a59c4d511) (cherry picked from commit 5a50b98401302a5ba89366e4c0f8cccdd88d8722) Commit: ed55e2b11107a04ad49950d5cf1b2ba7291d3344 https://github.com/boxbackup/boxbackup/commit/ed55e2b11107a04ad49950d5cf1b2ba7291d3344 Author: Chris Wilson Date: 2017-11-28 (Tue, 28 Nov 2017) Changed paths: M bin/bbstored/bbstored-certs.in M lib/bbackupd/BackupDaemon.cpp M lib/common/Timer.cpp M lib/common/Timer.h M test/common/testcommon.cpp Log Message: ----------- Merge branch 'master' into windows_binary_packages Commit: a0fa0c4f5f338335034f172af290025d48d5a1d5 https://github.com/boxbackup/boxbackup/commit/a0fa0c4f5f338335034f172af290025d48d5a1d5 Author: Chris Wilson Date: 2017-11-30 (Thu, 30 Nov 2017) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/getversion.pl M infrastructure/cmake/windows/CMakeLists.txt M test/common/testcommon.cpp Log Message: ----------- Merge pull request #20 from boxbackup/windows_binary_packages Build Win32/64 binary packages automatically Commit: 971fbbce13186199b3ac67f35a7fb5acfc777295 https://github.com/boxbackup/boxbackup/commit/971fbbce13186199b3ac67f35a7fb5acfc777295 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Speed up superbuild rebuild by not extracting Boost again (cherry picked from commit 8976906a563ab04eb3d1310c59d4c13cdc3b525e) Commit: d432128c6f9390a3749af1430c8a76fbc52badf7 https://github.com/boxbackup/boxbackup/commit/d432128c6f9390a3749af1430c8a76fbc52badf7 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit 2d31a3178ba5a39af594c1a0188748f5c8045b18) (cherry picked from commit dab8ccc4b0b9eef06c9e063fc510f9952a0757f7) Commit: d22ea1891f8930b105665d896ad6c7d5034769cf https://github.com/boxbackup/boxbackup/commit/d22ea1891f8930b105665d896ad6c7d5034769cf Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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) (cherry picked from commit 38ba7510f2cad9accf445d5633c64e98a637a139) (cherry picked from commit 02bfd7e5bdd2abc185b12f37e1f536269db6817a) Commit: 01755b62f6542d25a885a4fe26ce9fc1ac6decaf https://github.com/boxbackup/boxbackup/commit/01755b62f6542d25a885a4fe26ce9fc1ac6decaf Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit 2e9c90d3f32c69cc89d01fb64ced9fca80aae985) Commit: 3db0438644b10370293d9b2f3bd8457561e2c9f8 https://github.com/boxbackup/boxbackup/commit/3db0438644b10370293d9b2f3bd8457561e2c9f8 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) 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. (cherry picked from commit f449986b68bd12c18d742c91b625779ae75b11a2) Commit: 85e7efc3fa0477f60318d2cd2144503a9ea8feb9 https://github.com/boxbackup/boxbackup/commit/85e7efc3fa0477f60318d2cd2144503a9ea8feb9 Author: Chris Wilson Date: 2018-01-01 (Mon, 01 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Add support for OpenSSL 1.1 and replace deprecated function calls See https://github.com/boxbackup/boxbackup/issues/16 for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat . Workaround for incorrect library suffixes searched by FindOpenSSL . Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1) Commit: 6d7e9562e8485591a4888f1fc2d3c6c657dc7a01 https://github.com/boxbackup/boxbackup/commit/6d7e9562e8485591a4888f1fc2d3c6c657dc7a01 Author: Chris Wilson Date: 2018-01-02 (Tue, 02 Jan 2018) Changed paths: M appveyor.yml M infrastructure/cmake/CMakeLists.txt M infrastructure/cmake/windows/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 M infrastructure/makebuildenv.pl.in M lib/crypto/CipherBlowfish.cpp M lib/crypto/CipherContext.cpp M lib/crypto/CipherContext.h M lib/crypto/CipherException.txt M lib/crypto/Random.cpp M lib/server/TLSContext.cpp M test/crypto/testcrypto.cpp Log Message: ----------- Merge pull request #22 from boxbackup/openssl_1_1 Fix compatibility with OpenSSL 1.1 Commit: 616ad76d22f6360e9b53cc682028c0e87f1ea66c https://github.com/boxbackup/boxbackup/commit/616ad76d22f6360e9b53cc682028c0e87f1ea66c Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M test/common/testcommon.cpp Log Message: ----------- Compile out test_memory_leak_detection if leak detection is disabled Commit: edcde8e3271503251946e7eff3ae9ddd7dd3d98d https://github.com/boxbackup/boxbackup/commit/edcde8e3271503251946e7eff3ae9ddd7dd3d98d Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M lib/common/MainHelper.h Log Message: ----------- Remove unnecessary mainhelper catch for BoxException specifically Commit: d1a5226ca3b80072e54ae749ca663936adea7c8e https://github.com/boxbackup/boxbackup/commit/d1a5226ca3b80072e54ae749ca663936adea7c8e Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M lib/common/Utils.h Log Message: ----------- Remove MemLeakFindOn/Off #includes from Utils.h There is no code in this section, so no need to enable/disable memory leak tracking. Commit: 007ec3b87b895fcde7b0ed9f3fdbcf8570a55227 https://github.com/boxbackup/boxbackup/commit/007ec3b87b895fcde7b0ed9f3fdbcf8570a55227 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M modules.txt Log Message: ----------- Remove unnecessary dependencies from modules.txt Sort dependencies into libraries first, then binaries Commit: 8ee03a0073b30eee9cd94737f52a989e54a8df69 https://github.com/boxbackup/boxbackup/commit/8ee03a0073b30eee9cd94737f52a989e54a8df69 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M runtest.pl.in Log Message: ----------- Actually pass test options (e.g. timing) to test command Commit: c12f6912fda9837704951b4afa4fadaf85775f33 https://github.com/boxbackup/boxbackup/commit/c12f6912fda9837704951b4afa4fadaf85775f33 Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M appveyor.yml M bin/bbstored/bbstored-certs.in M infrastructure/cmake/windows/CMakeLists.txt M infrastructure/m4/boxbackup_tests.m4 M lib/bbackupd/BackupDaemon.cpp M lib/common/Timer.cpp M lib/common/Timer.h M lib/intercept/intercept.cpp M lib/intercept/intercept.h M test/common/testcommon.cpp M test/raidfile/testraidfile.cpp Log Message: ----------- Merge branch 'master' into s3_support_merge Compare: https://github.com/boxbackup/boxbackup/compare/24386d968c3f...c12f6912fda9 From noreply at github.com Sun Jan 21 22:12:38 2018 From: noreply at github.com (GitHub) Date: Sun, 21 Jan 2018 14:12:38 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 18f5cb: Add more logging to test/basicserver for FreeBSD t... Message-ID: <5a65105644e83_2bddf2b1e18db9c08392e1@hookshot-fe-dfcc362.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 18f5cb266f5adfc5facf66675f45c636d83c946e https://github.com/boxbackup/boxbackup/commit/18f5cb266f5adfc5facf66675f45c636d83c946e Author: Chris Wilson Date: 2018-01-21 (Sun, 21 Jan 2018) Changed paths: M test/basicserver/testbasicserver.cpp Log Message: ----------- Add more logging to test/basicserver for FreeBSD timeouts From noreply at github.com Mon Jan 22 22:06:33 2018 From: noreply at github.com (GitHub) Date: Mon, 22 Jan 2018 14:06:33 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 2bfbf2: Add more logging to test/basicserver for FreeBSD t... Message-ID: <5a666069f3aed_24642b26a4455c1853198@hookshot-fe-88eb02d.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 2bfbf2995a09a6ce62a96c2bc07da6b88e014da6 https://github.com/boxbackup/boxbackup/commit/2bfbf2995a09a6ce62a96c2bc07da6b88e014da6 Author: Chris Wilson Date: 2018-01-22 (Mon, 22 Jan 2018) Changed paths: M test/basicserver/testbasicserver.cpp Log Message: ----------- Add more logging to test/basicserver for FreeBSD timeouts From noreply at github.com Mon Jan 22 22:19:29 2018 From: noreply at github.com (GitHub) Date: Mon, 22 Jan 2018 14:19:29 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 98c986: Use BackupFileSystem locking in testbackupstorepat... Message-ID: <5a666371117d8_14c22ab367925c1c545cb@hookshot-fe-31feec6.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 98c98656ea75e56b6dc14a8d48e08c1fb5df2c3f https://github.com/boxbackup/boxbackup/commit/98c98656ea75e56b6dc14a8d48e08c1fb5df2c3f Author: Chris Wilson Date: 2018-01-22 (Mon, 22 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- Use BackupFileSystem locking in testbackupstorepatch Take BackupFileSystem locks in testbackupstorepatch to hopefully prevent race conditions leading to store corruption and unreliable tests when using housekeeping out-of-process. (cherry picked from commit 416dcacb332297ac9a832cdad6bfa1e6739a52f7) From noreply at github.com Mon Jan 22 22:22:08 2018 From: noreply at github.com (GitHub) Date: Mon, 22 Jan 2018 14:22:08 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 8e47cd: Add support for S3 commands to bbstoreaccounts uti... Message-ID: <5a66641033f4a_261a2b2151ebdc081436f7@hookshot-fe-88eb02d.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 8e47cdfdcad42d40203bbbad2c3b76184c6e5682 https://github.com/boxbackup/boxbackup/commit/8e47cdfdcad42d40203bbbad2c3b76184c6e5682 Author: Chris Wilson Date: 2018-01-22 (Mon, 22 Jan 2018) Changed paths: M bin/bbstoreaccounts/bbstoreaccounts.cpp M test/s3store/tests3store.cpp Log Message: ----------- Add support for S3 commands to bbstoreaccounts utility From noreply at github.com Tue Jan 23 22:03:19 2018 From: noreply at github.com (GitHub) Date: Tue, 23 Jan 2018 14:03:19 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 477c79: Add support for S3 commands to bbstoreaccounts uti... Message-ID: <5a67b1278be20_73772b25d9f29c00161467@hookshot-fe-da92815.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 477c795403462bafeae81213dd28dede37cfb043 https://github.com/boxbackup/boxbackup/commit/477c795403462bafeae81213dd28dede37cfb043 Author: Chris Wilson Date: 2018-01-23 (Tue, 23 Jan 2018) Changed paths: M bin/bbstoreaccounts/bbstoreaccounts.cpp M test/backupstorepatch/testbackupstorepatch.cpp M test/s3store/tests3store.cpp Log Message: ----------- Add support for S3 commands to bbstoreaccounts utility From noreply at github.com Wed Jan 24 22:08:35 2018 From: noreply at github.com (GitHub) Date: Wed, 24 Jan 2018 14:08:35 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] ee454a: Add missing #includes to BackupFileSystem.cpp Message-ID: <5a6903e3a1a7a_1f50a2b1afcee7c0c693ef@hookshot-fe-dfcc362.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: ee454a8f58746c7e882bc328cc92df49af916c55 https://github.com/boxbackup/boxbackup/commit/ee454a8f58746c7e882bc328cc92df49af916c55 Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Add missing #includes to BackupFileSystem.cpp Commit: 858f0ed18fde56fe7b1efd11c1b7189dc3544a63 https://github.com/boxbackup/boxbackup/commit/858f0ed18fde56fe7b1efd11c1b7189dc3544a63 Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.h Log Message: ----------- Remove unnecessary friend class Commit: 7a8f626db53522628049574c06be87798cc0d0c0 https://github.com/boxbackup/boxbackup/commit/7a8f626db53522628049574c06be87798cc0d0c0 Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M lib/backupstore/BackupStoreCheck.h Log Message: ----------- Add missing #include in BackupStoreCheck.h Commit: 9a53a08b060b7e13ee443be7f2e5f7401306b7b2 https://github.com/boxbackup/boxbackup/commit/9a53a08b060b7e13ee443be7f2e5f7401306b7b2 Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M lib/common/BoxPlatform.h Log Message: ----------- Don't bother with HAVE_DEFINE_PRAGMA, it's unnecessary and doesn't always work (cherry picked from commit 83b31dac888f91843ec79eea028e3358d303aa92) Compare: https://github.com/boxbackup/boxbackup/compare/477c79540346...9a53a08b060b From noreply at github.com Fri Jan 26 20:08:48 2018 From: noreply at github.com (GitHub) Date: Fri, 26 Jan 2018 12:08:48 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 88311f: Specialise test_multiple_uploads, but only for tes... Message-ID: <5a6b8ad07df2b_70432ac4ae1b5c18101219@hookshot-fe-6e9b612.cp1-iad.github.net.mail> Branch: refs/heads/s3_support_merge Home: https://github.com/boxbackup/boxbackup Commit: 88311ff4e7111e68ace7cff850d9c34752c2e06f https://github.com/boxbackup/boxbackup/commit/88311ff4e7111e68ace7cff850d9c34752c2e06f Author: Chris Wilson Date: 2018-01-26 (Fri, 26 Jan 2018) Changed paths: M test/backupstore/testbackupstore.cpp Log Message: ----------- Specialise test_multiple_uploads, but only for testbackupstore so far From noreply at github.com Fri Jan 26 20:10:47 2018 From: noreply at github.com (GitHub) Date: Fri, 26 Jan 2018 12:10:47 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 7de6c7: Don't build binary packages for the s3_support_mer... Message-ID: <5a6b8b4788716_5a6f2af63bb7bc0c9512d@hookshot-fe-5a11256.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 7de6c7250fc3955939c83fe301544c9f26010952 https://github.com/boxbackup/boxbackup/commit/7de6c7250fc3955939c83fe301544c9f26010952 Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M appveyor.yml Log Message: ----------- Don't build binary packages for the s3_support_merge branch Commit: 283b1fd6dbdccb19f0b65223f8e8615e416a4d7f https://github.com/boxbackup/boxbackup/commit/283b1fd6dbdccb19f0b65223f8e8615e416a4d7f Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M bin/bbstored/bbstored-certs.in Log Message: ----------- Fix parsing of OpenSSL 1.1 output in bbstored-certs Thanks to Dean Hamstead (@djzort on GitHub) for the bug report and the patch! (cherry picked from commit fea4efbf5648dddb63f51b4b076baceb872be87b) Commit: 9c79efd784e03b6015ca736b65c71399e897b773 https://github.com/boxbackup/boxbackup/commit/9c79efd784e03b6015ca736b65c71399e897b773 Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M infrastructure/cmake/windows/CMakeLists.txt Log Message: ----------- Update Windows Superbuild config to match s3_support_merge branch Commit: 5379bbfe92b981c37b8c95c3198c9480bb430e51 https://github.com/boxbackup/boxbackup/commit/5379bbfe92b981c37b8c95c3198c9480bb430e51 Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M infrastructure/m4/boxbackup_tests.m4 M lib/intercept/intercept.cpp M lib/intercept/intercept.h M test/raidfile/testraidfile.cpp Log Message: ----------- Fix intercept of SYS_open on platforms that only have SYS_openat (e.g. arm64) (cherry picked from commit 6a04b0abd728da5211e6702b1d42aef95c02d8da) Commit: b8ab3465fa5a8fd85ec7f3e13e69bdb1f43b591a https://github.com/boxbackup/boxbackup/commit/b8ab3465fa5a8fd85ec7f3e13e69bdb1f43b591a Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp Log Message: ----------- Update comments Commit: 7b04e561b334a8ec6fd7b6f00893d29471ba16d8 https://github.com/boxbackup/boxbackup/commit/7b04e561b334a8ec6fd7b6f00893d29471ba16d8 Author: Chris Wilson Date: 2018-01-24 (Wed, 24 Jan 2018) Changed paths: M lib/bbackupd/BackupDaemon.cpp M lib/common/Timer.cpp M lib/common/Timer.h M test/common/testcommon.cpp Log Message: ----------- Fix -Wundefined-bool-conversion compile failure of master branch Master build fails with: lib/common/Timer.cpp:171:10: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]. Also remove unused code from Timers. (cherry picked from commit a631c82882b039f8467a2ef9abeb343f2ec5b3da) Commit: 55eae4297c042089a64e55931c4ee8200fe152c9 https://github.com/boxbackup/boxbackup/commit/55eae4297c042089a64e55931c4ee8200fe152c9 Author: Chris Wilson Date: 2018-01-26 (Fri, 26 Jan 2018) 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(). (cherry picked from commit 0dac53b4a31263fe8976237702538cd258fc86e1) Compare: https://github.com/boxbackup/boxbackup/compare/716a3a9fb15c...55eae4297c04 From noreply at github.com Sun Jan 28 15:39:38 2018 From: noreply at github.com (GitHub) Date: Sun, 28 Jan 2018 07:39:38 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 905f73: Enable specific stack trace logging in test/basics... Message-ID: <5a6deeba62514_5ef12b282277dc045613c@hookshot-fe-32b5f5b.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 905f73e0f68d3a2bfb290501307eb7b56aad8b09 https://github.com/boxbackup/boxbackup/commit/905f73e0f68d3a2bfb290501307eb7b56aad8b09 Author: Chris Wilson Date: 2018-01-28 (Sun, 28 Jan 2018) Changed paths: M test/basicserver/testbasicserver.cpp Log Message: ----------- Enable specific stack trace logging in test/basicserver Enable stack trace logging for ServerException(SocketOpenError) to help debug random test failures. From noreply at github.com Tue Jan 30 22:16:09 2018 From: noreply at github.com (GitHub) Date: Tue, 30 Jan 2018 14:16:09 -0800 Subject: [Box Backup-commit] [boxbackup/boxbackup] 38ee18: Fix output format of bbackupobjdump Message-ID: <5a70eea95fd25_6e5f2b03f142dc0c591e8@hookshot-fe-88eb02d.cp1-iad.github.net.mail> Branch: refs/heads/s3_support Home: https://github.com/boxbackup/boxbackup Commit: 38ee18a21fbefc269c43591f88ab817091e62f94 https://github.com/boxbackup/boxbackup/commit/38ee18a21fbefc269c43591f88ab817091e62f94 Author: Chris Wilson Date: 2018-01-30 (Tue, 30 Jan 2018) Changed paths: M bin/bbackupobjdump/bbackupobjdump.cpp M lib/backupstore/BackupStoreDirectory.h M lib/backupstore/BackupStoreFile.h M lib/backupstore/BackupStoreObjectDump.cpp M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- Fix output format of bbackupobjdump Use C++ streams for output everywhere, for consistency and to avoid mismatches in how output is formatted (some BOX_TRACEd, some not). Commit: 304f770c5c04873324cfe2665eb660ebf01d9377 https://github.com/boxbackup/boxbackup/commit/304f770c5c04873324cfe2665eb660ebf01d9377 Author: Chris Wilson Date: 2018-01-30 (Tue, 30 Jan 2018) Changed paths: M lib/backupstore/BackupStoreCheck2.cpp M lib/backupstore/BackupStoreContext.cpp M lib/backupstore/BackupStoreDirectory.cpp M lib/backupstore/BackupStoreDirectory.h M lib/backupstore/BackupStoreObjectDump.cpp M lib/backupstore/HousekeepStoreAccount.cpp M test/backupstore/testbackupstore.cpp M test/backupstorefix/testbackupstorefix.cpp M test/backupstorepatch/testbackupstorepatch.cpp Log Message: ----------- Rename Depends{Older,Newer} to DependsOn and RequiredBy This will make the code clearer when implementing support for patches in S3BackupFileSystem, where DependsNewer and DependsOlder have a very different meaning, and also for RaidBackupFileSystem where DependsOlder does not mean that we depend on the old file at all, but that it depends on us. Commit: 6df32f038e777656e2d6e8b3ab563ec5aefca9d8 https://github.com/boxbackup/boxbackup/commit/6df32f038e777656e2d6e8b3ab563ec5aefca9d8 Author: Chris Wilson Date: 2018-01-30 (Tue, 30 Jan 2018) Changed paths: M lib/backupstore/BackupFileSystem.cpp M lib/backupstore/BackupFileSystem.h M lib/backupstore/BackupStoreContext.cpp M lib/backupstore/BackupStoreException.txt M lib/backupstore/BackupStoreFile.cpp M test/backupstore/testbackupstore.cpp Log Message: ----------- Add support for merging patches in S3BackupFileSystem Enable test_multiple_uploads(s3) which requires this. Compare: https://github.com/boxbackup/boxbackup/compare/905f73e0f68d...6df32f038e77