summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAge
* Fix detection of filesystems without extended attribute support on NetBSD.Chris Wilson2014-12-06
| | | | | | | | | | | NetBSD (version 6) uses ENOTSUP as the errno code to indicate missing support for extended attribute in the filesystem. This appears to be at odds with other Unixes: https://mail-index.netbsd.org/tech-kern/2011/12/13/msg012185.html We need to detect and handle ENOTSUP to stop the backup daemon from killing itself while trying to read extended attributes from the first file in the backup set.
* Fix stupid typo on struct member names.Chris Wilson2014-12-06
|
* Add support for getsockopt(SO_PEERCRED) on OpenBSD 5.2.Chris Wilson2014-12-06
| | | | | | | | | | | OpenBSD requires different headers to be included, including a bug which makes it essential to include sys/param.h before sys/ucred.h, and gives the fields of struct ucred different names than Linux does. This fixes compilation on OpenBSD and allows the user connecting to a UNIX socket to be checked, increasing security of the command socket on this platform.
* Fix compile on platforms without execinfo.hChris Wilson2014-12-06
|
* The BackupErrorDelay configuration key should not be required.Chris Wilson2014-12-06
| | | | | | | | | | | | | | | | | | | | | It has a sensible default, and backwards compatibility is broken by requiring it. > Description of fields to fill in above: 76 columns --| > PR: If a GNATS PR is affected by the change. > Differential Revision: https://reviews.freebsd.org/D### (*full* phabric URL needed). > Submitted by: If someone else sent in the change. > Reviewed by: If someone else reviewed your modification. > Approved by: If you needed approval for this commit. > Obtained from: If the change is from a third party. > MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email. > MFH: Ports tree branch name. Request approval for merge. > Relnotes: Set to 'yes' for mention in release notes. > Security: Vulnerability reference (one per line) or description. > Sponsored by: If the change was sponsored by an organization. > Empty fields above will be automatically removed. M BackupDaemonConfigVerify.cpp
* Allow users to configure the delay before retry on backup errors.Chris Wilson2014-12-03
|
* Fix header guard, thanks to Clang for spotting it.Chris Wilson2014-12-01
|
* Generate configure script in qdbm directory.Chris Wilson2014-12-01
| | | | | | Now that we've removed it from version control, we need to build it from configure.in as part of bootstrapping Box Backup.
* Include getopt.h instead of box_getopt.h.Chris Wilson2014-11-23
| | | | Fixes compile errors on Windows. Thanks to Kai Liebenau!
* Fix exception in bbackupd when no LogFile is configured.Chris Wilson2014-11-23
|
* Fix compile errors introduced by previous commit.Chris Wilson2014-11-23
| | | | | | Add a LogFileOverwrite option to allow configuring whether LogFile is overwritten or appended to. Overwriting happens at startup, and the start of each backup in bbackupd (via ResetLogFile()).
* Fix compile errors on Windows, thanks to Kai Liebenau for the patch.Chris Wilson2014-11-16
|
* Fix test failures caused by reference count database changes.Chris Wilson2014-11-16
|
* Add option to truncate log file at start of every backup.Chris Wilson2014-11-16
| | | | Prevents backup log files from becoming too large.
* Add cache invalidation checks to BackupStoreDirectory.Chris Wilson2014-11-16
| | | | | | | | | | Allows us to catch programming errors related to use of a cached reference to a directory after the cache may have been invalidated by requesting another directory from the cache, which could clear it. In DEBUG builds, the cache is no longer cleared, but any entries in it are invalidated, which is effectively a memory leak, but these builds should only be used for running tests, where it doesn't matter.
* Repair the refcount database while checking accounts for errors.Chris Wilson2014-10-31
| | | | | | | Normally this will be done by housekeeping anyway, so it's not that useful, but it's good to check for it in tests, especially when testing BackupStoreCheck's ability to repair bad things that happened to the store when they involve references.
* Refactor handling of exceptions in protocol server command executors.Chris Wilson2014-10-31
| | | | | | | | | | Add a standard method to Replyable that will be called if a recoverable exception (a BoxException) occurs, and can return a protocol Message to be sent to the client, such as an error code for various standard errors, or rethrow the exception. If you want something different, catch exceptions and return the desired reply yourself, or you'll get the default handling.
* Whitespace, comment and readability fixesChris Wilson2014-10-31
|
* Refactor StartClient and StopClient out of testbbackupd.Chris Wilson2014-10-31
| | | | Use them in testbackupstorefix to reduce code duplication.
* Fix inability to access locations starting with a slash.Chris Wilson2014-09-18
| | | | | | Thanks to Jean-Yves Moulin for reporting this issue. When bbackupd is configured to create locations whose names contain a slash, it was impossible to escape it, and thus to enter the directory in bbackupquery to inspect or restore it.
* optlen could become bigger than sizeof(info) in future and that's OKChris Wilson2014-09-18
|
* Add check for trying to ReceiveStream when no stream availableChris Wilson2014-09-18
|
* Update comment to match current method nameChris Wilson2014-09-18
|
* Fix formatting of subsecond timestamps in log messagesChris Wilson2014-09-18
|
* Add check for tracking the same memory block twiceChris Wilson2014-09-18
|
* Whitespace fixesChris Wilson2014-09-18
|
* Improve exception message if a Daemon is used without being configured firstChris Wilson2014-09-18
|
* Increase built-in backtrace length from 10 to 20.Chris Wilson2014-09-04
| | | | Helps track down missing network operation timeouts.
* Major refactor of testbbackupd.Chris Wilson2014-09-04
| | | | | | | Split single monolithic test into many smaller ones, which can be run separately. Allows easier testing of new features in isolation. Merged back changes from the test refactor branch to reduce diffs.
* Add missing timeouts in StreamableMemBlock::Set and testbbackupd.Chris Wilson2014-09-04
| | | | | Reduces warnings about network operations with no timeout. May prevent some hangs that might have occurred waiting forever for network data in the past.
* Add a std::string GetLine() to IOStreamGetLine.Chris Wilson2014-09-04
| | | | This is needed by the refactored bbackupd tests.
* Fix error in BufferedStream::StreamDataLeft.Chris Wilson2014-09-04
| | | | | | | | StreamDataLeft() incorrectly returned false when there was still data buffered, which made IOStream::CopyStreamTo stop copying early, resulting in incomplete files when copying data out of a BufferedStream. This meant that tests involving a local protocol, where a BufferedStream was copied directly to a RaidFile, resulted in corrupted files that would not verify.
* Fix tests broken by changing working directory.Chris Wilson2014-09-04
| | | | | | | | | | | Store the current working directory at the beginning of the first test, and restore it at the beginning of every subsequent test. Improve cleanup after tests: delete and recreate the bbackupd state directory. Remove check for reference counts and account errors from tearDown, because they are too hard to retrofit to testbbackupd, and already copied into testbackupstore tearDown.
* Improve directory cache messages in BackupStoreContext.Chris Wilson2014-09-04
| | | | May help to debug issues with directory cache invalidation in future.
* Handle raidfile versioning better on low time accuracy systems.Chris Wilson2014-09-04
| | | | | | | | | We simulate a 1 second accuracy clock in DEBUG mode on all systems, to help catch corner cases in tests. This now applies to both RAID and non-RAID files. We always add file size to the version number to help detect changes, especially in such cases. In RELEASE builds, we use as much accuracy from the clock as we can get, as well as file size.
* Catch exceptions while executing store commands, and return an error message.Chris Wilson2014-09-04
| | | | | | | | | This will allow the client to eventually have more information about what went wrong on the server, if the server admin agrees, and makes test debugging easier. Backport some additional testbackupstore tests from the test refactor branch. Merged back changes from the test refactor branch to reduce diffs.
* Add EstimatedBytesToUpload to NotifyFileUploadingPatch.Chris Wilson2014-09-04
| | | | Merged back changes from the test refactor branch to reduce diffs.
* Refactor Timer reschedule to avoid second scan over timer list.Chris Wilson2014-09-04
| | | | Merged back changes from the test refactor branch to reduce diffs.
* Refactor FileStream exception throwing.Chris Wilson2014-09-04
| | | | | | Avoid duplicate reporting, and include a message in the exceptions thrown. Merged back changes from the test refactor branch to reduce diffs.
* Changed many uses of BackupProtocolClient to BackupProtocolCallable.Chris Wilson2014-09-04
| | | | | | Makes way for more use of local protocol objects and protocol subclasses. Merged back changes from the test refactor branch to reduce diffs.
* Define setup and teardown functions and macros, and use them.Chris Wilson2014-09-04
| | | | Merged back changes from the test refactor branch to reduce diffs.
* Backport Timers::Cleanup that's safe to use in test cleanup.Chris Wilson2014-09-04
| | | | | | | | | | Allows it not to throw an exception if timers weren't initialised when cleanup was requested. Normally we want an exception thrown, but not while we're cleaning up a test that might have failed with timers uninitialised. More timers fixes after cleanup no-exception option. Merged back changes from the test refactor branch to reduce diffs.
* Simplify code with macros, update comments and fix whitespace.Chris Wilson2014-09-04
| | | | | | Hopefully all of these changes are inconsequential. Merged back changes from the test refactor branch to reduce diffs.
* Define some functions to reduce duplication in testbbackupd.Chris Wilson2014-09-04
| | | | | | | | | Merged back changes from the test refactor branch to reduce diffs. Fix wrong setting of log level in compare() function. We want to only show errors if we expect mismatches, and show warnings if we didn't expect mismatches. I had it the other way around before.
* Fix timing issue with bbackupd test for recovery after error.Chris Wilson2014-08-24
| | | | | | | For some reason the timing changed and the test was no longer waiting for the same length of time as bbackupd, causing it to fail. Merged back changes from the test refactor branch to reduce diffs.
* Fix poll timeout calculation for infinite timeouts.Chris Wilson2014-08-15
|
* Trivial white space fixes.Chris Wilson2014-08-15
|
* Whitespace fixes.Chris Wilson2014-08-15
|
* Add missing timeouts for network operations.Chris Wilson2014-08-15
|
* Improve readability of block checksum match message.Chris Wilson2014-08-15
| | | | Mute the mismatch message, as there are just too many of them.