| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
| |
|
|
|
|
|
| |
Fixes compilation on Windows.
|
|
|
|
|
|
| |
Otherwise, if we fail to unlink the lockfile, we will try to close it again,
which will fail because it's already closed, and we'll never get around to
unlinking it.
|
| |
|
|
|
|
| |
Allow getting the Content-Length of an HTTPResponse object.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new exception code to represent an object being completely missing (not
found on the store at all), separate from not being found in a particular
directory.
Improve mapping of server-side exceptions to protocol error messages returned
to the client.
Add handling for missing exceptions, such as
BackupStoreException::PatchChainInfoBadInDirectory, and the new
BackupStoreException::ObjectDoesNotExist.
Fix mapping for BackupStoreException::CouldNotFindEntryInDirectory to make it
distinguistable from BackupStoreException::ObjectDoesNotExist.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The protocol command didn't succeed, it just returned a result with an
unexpected type, so make the failure message reflect that and give details
of the response actually received, to help with debugging.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Detect that there are no remaining children to wait for, and return quietly.
|
| |
|
| |
|
|
|
|
| |
Throws a suitable exception if the response status code is not 200 OK.
|
|
|
|
|
| |
We can't continue to use the same connection after receiving such a response,
so close it immediately.
|
|
|
|
|
| |
Allow getting method name of an HTTPRequest, and connection open/closed
status of an HTTPResponse.
|
|
|
|
|
| |
The new StartDaemon() and StopDaemon() in ServerControl.cpp/h are generic,
and used by StartClient() and StartServer() in StoreTestUtils.cpp/h.
|
|
|
|
| |
Allows it to be used by S3Store, or in fact anything that uses Configuration.
|
|
|
|
|
| |
They can now be created using a constructor, and written to any IOStream.
Needed for writing them to an S3Store.
|
|
|
|
| |
S3Stores don't have account numbers.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Refactor all common code from testbbackupd and testbackupstore to allow other
test suites to contain multiple tests and execute selected tests more easily.
Report all test results within a suite in a standard, easy to read summary.
|
| |
|
|
|
|
|
| |
Move common code into a base class, leaving bbstored-specific code.
Add skeleton of an S3 store type.
|
|
|
|
|
|
| |
Make some keys not required in BackupDaemonConfigVerify, and verify them
afterwards instead, when the rest of the configuration file has been read
(and in future, the store type would be known.)
|
| |
|
|
|
|
|
| |
If the item is not present (the end of the Archive is reached instead) then a
default value is returned instead of throwing an exception.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Unlike the rest of the Win32 API, these functions return their error code,
and it's not accessible using GetLastError(). Thanks to Enrique Perez-Terron
for reporting this issue.
|
|
|
|
|
|
| |
Once again, the Windows issue of being unable to delete or overwrite an
open file causes issues. In this case it's only test failures. We need to
be diligent about closing open file handles and protocol sessions in tests.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes test failures caused by using seconds since epoch on Windows, instead
of a box_time_t, and rounding it to the nearest 10^6, which is fine for a
box_time_t (all other platforms), but 10^6 seconds is a rather long time to
ignore changes for on Windows.
This also makes it possible to support subsecond precision on Windows
via FileModificationTime() in future, and have RaidFile detect such subsecond
changes.
|
|
|
|
|
|
| |
On Windows we can't delete the file while it's open, and we don't need to,
because we opened it for exclusive use, so another process can't lock it
between us unlocking and deleting it.
|
|
|
|
|
|
|
|
|
|
|
| |
The old assertion, that the write lock file exists before starting checking,
was erroneously passing before when no lock was held, because the lockfile
was never deleted. Now that we delete it when unlocking the account, this
started causing test failures.
Changed the way that accounts are checked for errors to use a function that
acquires a write lock first, and modified test to disconnect open clients
before starting checking the account, to fix it.
|