| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Allows tests to depend on lib/bbackupd instead of bin/bbackupd, which was
always a hack, and really doesn't work with CMake.
|
|
|
|
|
|
|
|
| |
This test has always been fragile, and usually fails on Travis for reasons
unknown, so replace the log parsing and intercepts with simple mocking code.
This doesn't cover 100% of what the old test did, including diff timer aborts
and the number of blocks used by the uploaded files, but it should be
completely robust.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The std::auto_ptr is now returned unclosed. If the caller of RunSyncNow()
does nothing with the return value, then it will be released, closing the
connection. However the caller can save the std::auto_ptr locally and
poke around in it if necessary. This interface is designed for tests only!
Merged back changes from the test refactor branch to reduce diffs.
Fix failure to record client store marker, after BackupClientContext refactor.
This caused the daemon not to abort safely if the CSM changed under our feet,
meaning that our cached data is invalid.
Fix for earlier patch to allow tests to access the BackupClientContext after
backup completes, because a new CSM wasn't generated in time for bbackupd to
record it, because the connection wasn't closed yet.
|
|
|
|
|
|
| |
Makes way for more use of local protocol objects and protocol subclasses.
Merged back changes from the test refactor branch to reduce diffs.
|
|
|
|
|
|
| |
Hopefully all of these changes are inconsequential.
Merged back changes from the test refactor branch to reduce diffs.
|
|
|
|
|
|
|
|
| |
Conflicts:
bin/bbackupd/BackupDaemon.cpp
bin/bbackupd/BackupDaemon.h
test/bbackupd/testbbackupd.cpp
|
|
|
|
| |
To help with debugging.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We pass a std::auto_ptr<SocketStream> to every Protocol subclass when we
construct it, and it takes control of this object. This reduces the risk of:
* accidentally reusing the same SocketStream for multiple Protocols
(it happened to me in testbackupstore);
* holding onto a reference to the SocketStream;
* allowing a locally-scoped SocketStream to go out of scope and be released
while still being referenced by a live Protocol.
|
| |
|
| |
|
|
|
|
|
| |
Add the start of ExperimentalSnapshotMode support.
|
| |
|
| |
|
|
|
|
|
| |
Rename ProtocolObject to Message.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BackupDaemon through BackupClientDirectoryRecord, BackupStoreFile and
BackupStoreFileEncodeStream to ReadLoggingStream, to allow progress
callbacks during file upload and cancelling upload part-way.
Implement ReadLoggingStream::Logger in
BackupClientDirectoryRecord::SyncParams, which thunks the notifications
back to the ProgressNotifier.
Add the SysadminNotifier interface from Boxi.
Add NotifyIDMapsSetup() to ProgressNotifier.
Change BackupClientDirectoryRecord::SyncParams to store references to
the individual callback interfaces rather than BackupDaemon.
Initialise all members in BackupDaemon.
Add ability for BackupDaemon user to override the ProgressNotifier,
LocationResolver, SysadminNotifier and RunStatusProvider that will be
used during the backup.
Make BackupDaemon::Location class public and provide access to the
configured locations for Boxi (dangerous, they could be modified without
BackupDaemon knowing it).
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split crypto init and file sync process into its own method, to reduce
call depth and facilitate calling in process from tests.
Differentiate between 3 uses of stat in BackupClientDirectoryRecord by
renaming the structures.
Use stat instead of lstat when checking the filesystem that's holding an
entity, in case it's a symbolic link to a different filesystem.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Import of the upstream sources from
Repository: http://localhost:8000/
Kind: hg
Revision: 7807b7768163f1c2537756abe5416063989cebb1
Original author: tailor@rocio.int.aidworld.org
Date: 2008-03-16 19:44:36+00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(bbackupd and bbackupquery).
Redesign ConfigurationVerify to use classes instead of structs.
Use port 22011 instead of 2201 during tests, to reduce the chances of
conflicting with a running bbstored or other process.
Ignore autogen_* in svn:ignore everywhere instead of individual per-file
ignores.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
errno, replacing almost all use of strerror() in the main code.
Log a more detailed error message before throwing an exception for some
more system call failures.
Make FileStream store its filename on all platforms, not just Windows.
Wrap some long lines at less than 80 characters to improve readability.
Fix some minor violations of coding standard (white space) and a typo
in a comment.
|
| |
|
|
|
|
|
|
|
| |
rather than the soft limit. This allows setting the soft limit to zero,
so that housekeeping will remove all old versions of all files.
(refs #19, refs #3, merges [1659])
|
|
|
|
|
| |
(refs #3, merges [1448])
|
|
|
|
|
|
|
|
| |
Made timeout initialisation non-static, and a property of the context
object. (perhaps should be in rParams, I know).
(refs #3, refs #9)
|
|
|
|
|
| |
with new Timer objects. (refs #3, refs #9)
|
| |
|
|
|
|
|
|
|
| |
- This is my current patch queue. I think that all of these are safe
to apply. This is just under half of the pending changes in
chris/general (the easy half).
|
|
|
|
| |
distribution
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bin/bbstored/backupprotocol.txt
* bin/bbstored/BackupCommands.cpp
* bin/bbackupd/BackupClientContext.cpp
* bin/bbackupd/BackupClientContext.h
* bin/bbackupd/BackupClientDirectoryRecord.cpp
* bin/bbackupd/BackupDaemon.cpp
* lib/backupclient/BackupStoreFileDiff.cpp
* lib/backupclient/BackupDaemonConfigVerify.cpp
* lib/backupclient/BackupStoreFile.h
* test/backupstore/testbackupstore.cpp
* test/backupstorepatch/testbackupstorepatch.cpp
- Applied changes from chris/diff-timeout-and-ssl-keepalive
* test/backupdiff/testbackupdiff.cpp
- Fixed test to match new prototype for EncodeFileDiff
|
|
|
|
|
|
| |
Box time is always box_time_t
seconds is time_t
microseconds is uint64_t
|
|
|
|
| |
You may need a new checkout to see this.
|
| |
|
|
|