| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
Hopefully all of these changes are inconsequential.
Merged back changes from the test refactor branch to reduce diffs.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
The new default is to sort by name, with directories first.
Put the documentation on the "ls" command, instead of the "list" command,
since that's annoyed me too many times.
The recursive list option is changed from "-r" to "-R", to match the shell
ls command.
|
|
|
|
| |
Avoid reporting an error if the file is missing or empty.
|
| |
|
|
|
|
|
|
|
|
| |
If the system is suspended then it may not realise that a TCP connection has
been closed, while waiting for data to arrive on it. We didn't used to apply
a timeout to this read operation. Now we use the connection's default timeout
on all read and write operations. Network operations that don't pass a timeout
will be logged with a backtrace, so that they can be fixed.
|
| |
|
|
|
|
|
| |
Allows us to remove code to handle cleanups after exceptions and on Location
destruction.
|
|
|
|
|
|
|
|
| |
BackupProtocolError::GetMessage().
Conflicts:
bin/bbackupd/BackupDaemon.h
|
|
|
|
|
|
|
|
| |
Reduces code indentation, scope leakage, and length of a long method.
Conflicts:
bin/bbackupd/BackupClientDirectoryRecord.h
|
|
|
|
|
|
|
|
|
|
|
| |
remote path.
rFilename renamed to rLocalPath to improve code clarity. rRemotePath added
to allow it to be passed to notifier methods.
Conflicts:
bin/bbackupd/BackupClientDirectoryRecord.cpp
|
|
|
|
|
|
|
|
| |
Conflicts:
bin/bbackupd/BackupDaemon.cpp
bin/bbackupd/BackupDaemon.h
test/bbackupd/testbbackupd.cpp
|
|
|
|
| |
To help with debugging.
|
|
|
|
|
|
| |
Conflicts:
bin/bbackupd/BackupClientDirectoryRecord.cpp
|
|
|
|
|
| |
Thanks to Brendon Baumgartner for the report on the mailing list, and for
helping to diagnose the problem.
|
|
|
|
| |
Was accidentally removed by the refactoring of the backup idle loop.
|
| |
|
| |
|
|
|
|
|
| |
Otherwise it interrupts us needlessly while we're sleeping waiting for
the next backup.
|
| |
|
| |
|
|
|
|
|
| |
Enables bbackupd to be stopped, reloaded or status queried while scanning
a large directory.
|
| |
|
| |
|
|
|
|
| |
immediately after the end of the current one.
|
|
|
|
|
|
|
|
| |
Add helpful debugging messages about why the decision was taken to sleep
or start a backup, and how long the system will wait until the next
backup.
Flatten the code to avoid the double loop.
|
|
|
|
| |
Caused an assertion failure and crash.
|
|
|
|
| |
Otherwise all callers need to initialise them, or get false positives.
|
|
|
|
|
| |
Makes the daemon responsive to polling and commands, even during a file
upload operation.
|
|
|
|
| |
Enables all standard logging options and reduces code duplication.
|
|
|
|
|
| |
Allows polling the daemon to see if it's running, without telling it to
actually do anything.
|
| |
|
|
|
|
|
| |
It's incompatible with having a logger that logs everything, regardless of
the global log level.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Will result in the directory automatically being freed, whether or not an
exception occurs.
|
|
|
|
|
|
| |
Rename mrDaemon to mpHousekeeping and make it a pointer, so that it can
officially be NULL, and don't crash if it is, and we fail to get a lock
on the account.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Until the groundwork is prepared by changing Protocol's use of IOStream to
SocketStream.
This reverts commit 78531354753f3ce9bb3ef1d906b2aeaac5b73d58.
|
|
|
|
| |
One less reason to hang onto a Stream reference, that will go away soon.
|
|
|
|
| |
Makes the output look a little nicer as bbackupquery dies.
|
|
|
|
|
|
|
| |
This should never have been a valid command, but was accepted before, and
silently ignored because it was treated as an empty command. This obscured
bad quoting of bbackupquery command-line arguments, allowing commands to
appear to work, but not do what you expected.
|
|
|
|
|
| |
Allows us to call them from tests without shelling out, making debugging
easier.
|
| |
|
|
|
|
|
|
|
|
| |
Our copy of getopt.h in lib/win32 was beating the system getopt.h in the
search path, and providing different definitions, which clang picked up.
Renamed our getopt.h to bsd_getopt.h, and added a box_getopt.h to decide
whether to include this one instead of the system getopt.h.
|
|
|
|
|
|
|
| |
It doesn't know that we call a function that exits the program
prematurely. In any case, this patch stops it from complaining.
|
|
|
|
|
|
|
|
|
|
|
| |
Passing raw pointers is bad C++ style, and dangerous, because Protocol
will free the passed-in pointers after uploading them, so we should not
keep using them.
Reduce code duplication in BackupClientDirectoryRecord patch/normal upload.
Return a std::auto_ptr<BackupStoreFileEncodeStream> instead of a
std::auto_ptr<IOStream> from BackupStoreFile::EncodeFile* functions.
|
|
|
|
|
| |
(e.g. from Cygwin command prompt).
|