| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This reverts commit 9d0580c58025ba94bee02cdc2aae3fe0b6ccf604.
|
| |
|
|
|
|
| |
Not really an API, but useful for BackupProtocolLocal2.
|
|
|
|
| |
Otherwise we might detect the opened syslog socket as a leaked file descriptor.
|
| |
|
|
|
|
|
| |
Adds a nicer constructor and more helpful cleanup on QueryFinished()
to the auto-generated BackupProtocolLocal.
|
|
|
|
|
| |
So we can call it on either a Client or a Local protocol object, without
having to know which it is, or cast it.
|
|
|
|
|
| |
Allows us to call them from tests without shelling out, making debugging
easier.
|
| |
|
| |
|
|
|
|
| |
Count them as Deleted, not as Old.
|
|
|
|
|
| |
You can only pass a std::auto_ptr<IOStream> to SendStream now. Nothing
else will do for Clang. But you can cast a std::auto_ptr<subclass>.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
I don't think this has any effect in practice, but this patch ensures
that it is initialised anyway.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
BOX_ERROR.
Remove debugging code for Sune Molgaard's issue with non-existent files.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fixes some cases where a directory might refer to an object that doesn't
exist, which is removed from the directory, but an object that depends on
it (a patch) isn't removed, and requires a subsequent recheck.
|
| |
|
|
|
|
|
|
| |
Thanks to Arnaud for submitting the patch:
"I propose a little patch to enable the SetProcessTitle function on windows system."
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Report whether the directory still had errors after the first pass of
dir.CheckAndFix(), and also whether a file is marked as both Old and
Deleted, which means that its block usage is not accounted for anywhere.
There's possibly still a bug here where an invalid directory entry that
is itself a directory may not result in the parent directory being marked
as isModified and written back out afterwards, which may be what's
happening to Markus Grunwald (failure to correct the error with "check fix").
|
|
|
|
|
|
|
| |
It's not safe to use an iterator after the underlying collection has
been modified. We need to restart iterating over the directory in that
case. Otherwise we could loop forever looking for an end() that we've
already passed, or start accessing unallocated memory.
|
|
|
|
| |
Makes the source code more readable.
|
|
|
|
|
|
| |
When a command is sent in the wrong phase, or a command that requires
write access is sent to a read-only session, log an error message with
the command details (and current phase in the former case).
|
|
|
|
|
|
| |
Preparation work for better testing of fixing directories with entries
that no longer exist on disk. Related to debugging the problems reported
by Markus Grunwald.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Useful for debugging when the phase is not as expected.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ./configure CXXFLAGS=-DDEBUG_LEAKS
* Build and run the binary as normal (release or debug)
* Send SIGUSR1 to the process (e.g. killall -USR1 bbstored)
* Check the system logs, or the console.
Not safe for use on a production process, as it does illegal things in
a signal handler that may result in the process hanging. Use only for
debugging, and be prepared to kill any stuck processes.
|
| |
|
|
|
|
|
| |
BackupQueries directly for debugging compare failures.
|
|
|
|
|
| |
(e.g. from Cygwin command prompt).
|
|
|
|
|
| |
that can be used to protect against permanent changes to their log levels.
|
| |
|
| |
|
|
|
|
|
| |
that's been disposed (Windows only).
|
|
|
|
|
| |
changes to it.
|
| |
|
| |
|