summaryrefslogtreecommitdiff
path: root/bin/bbackupd/BackupClientContext.cpp
Commit message (Collapse)AuthorAge
* Move reusable code out of bin directories.Chris Wilson2015-12-13
| | | | | Allows tests to depend on lib/bbackupd instead of bin/bbackupd, which was always a hack, and really doesn't work with CMake.
* Remove all timing dependency from test_ssl_keepalives().Chris Wilson2015-09-20
| | | | | | | | 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.
* Allow access to BackupDaemon's BackupClientContext for tests.Chris Wilson2014-09-04
| | | | | | | | | | | | | | | | | | 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.
* 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.
* 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.
* Whitespace, wrapping, comments and dead code cleanups.Chris Wilson2014-08-15
| | | | | | | | Conflicts: bin/bbackupd/BackupDaemon.cpp bin/bbackupd/BackupDaemon.h test/bbackupd/testbbackupd.cpp
* Add message to ClientMarkerNotAsExpected exception.Chris Wilson2014-08-15
| | | | To help with debugging.
* Whitespace, comments and log messages cleanups.Chris Wilson2014-03-02
|
* Make Protocol take control of the socket object passed in.Chris Wilson2014-03-01
| | | | | | | | | | | | | 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.
* Use more efficient direct reset of Timers instead of assignment.Chris Wilson2012-11-17
|
* Fix compile failure due to removal of fields from BackupClientContext.Chris Wilson2012-11-08
|
* Replace magic number 1000 with MILLI_SEC_IN_SEC when initialising timers.Chris Wilson2012-11-07
| | | | | Add the start of ExperimentalSnapshotMode support.
* Fix a memory leak when TcpNice is disabled.Chris Wilson2012-04-11
|
* Add experimental "TCP Nice" mode, disabled by default.Chris Wilson2012-02-12
|
* Combine client and server protocols to make way for an offline/local protocol.Chris Wilson2011-08-27
| | | | | Rename ProtocolObject to Message.
* Add support for account numbers greater than 0x7fffffff without wrapping.Chris Wilson2010-06-06
|
* Use named timer for KeepAliveTime.Chris Wilson2008-09-26
|
* Pass a RunStatusProvider and a ReadLoggingStream::Logger from Chris Wilson2008-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Track and log file deletions by name.Chris Wilson2008-05-28
| | | | | | | | | | | | 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.
* Undo mangling by tailorChris Wilson2008-04-04
|
* TailorizationChris Wilson2008-04-04
| | | | | | | | | | | 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
* Allow configuration of the server port that the client will connect to Chris Wilson2008-03-28
| | | | | | | | | | | | | (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.
* Improve logging with macros that consistently output strerror(errno) andChris Wilson2008-03-28
| | | | | | | | | | | | | | | 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.
* Replace almost all calls to syslog() with logging framework. (refs #3)Chris Wilson2007-07-31
|
* Apply Gary's patch from ticket #19 to respect the server's hard limitChris Wilson2007-07-26
| | | | | | | 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])
* Use logging framework to remove timer noise for those who don't want it.Chris Wilson2007-03-24
| | | | | (refs #3, merges [1448])
* Moved KeepAlive timer to BackupClientContext object.Chris Wilson2006-12-03
| | | | | | | | Made timeout initialisation non-static, and a property of the context object. (perhaps should be in rParams, I know). (refs #3, refs #9)
* Replace old-style setitimers for KeepAliveTime and MaximumDiffingTime Chris Wilson2006-11-28
| | | | | with new Timer objects. (refs #3, refs #9)
* Add ExtendedLogFile option to bbackupd config (refs #9)Chris Wilson2006-11-14
|
* * mergeChris Wilson2006-07-27
| | | | | | | - 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).
* Merge chris/win32/vc2005-compile-fixes @ r455, add infrastructure/msvc to ↵Ben Summers2006-02-13
| | | | distribution
* * configure.acChris Wilson2006-01-28
| | | | | | | | | | | | | | | | | | | * 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
* Rationalise type usage for time values. Now:Martin Ebourne2005-12-20
| | | | | | Box time is always box_time_t seconds is time_t microseconds is uint64_t
* Fixing up svn:executable properties.Martin Ebourne2005-12-12
| | | | You may need a new checkout to see this.
* Marged chris/win32/merge/07-win32-fixes at r210 to trunkMartin Ebourne2005-12-12
|
* Box Backup 0.09 with a few tweeksBen Summers2005-10-14