Windows Client Releases
TracNav
For Users
- Introduction
- Overview
- System Requirements
- Comparison With Other Systems
- Endorsements
Installation
Common Tasks
- Restoring Files
- Verify and Restore Whole Backups
- Checking Space Usage
- Managing Client Accounts
- Regular Maintenance
- Fixing Corruption on Server
- Recovering from Lost Keys
- Pull data from a USB hdd
- Recipies and HOWTOs
- Related Projects
For Developers
- Developers Documentation
- Source Code Repository
- Coding Style
- Current Development Progress
- Future Development Plans
- Betas and Release Candidates
Support
Build 2368
Released on 2008/11/03. Download here. Built from the monthly snapshot 2368 for 2008/10.
Changes since the last release (1857):
- Fix crash when notifyscript is called for BackupStart? or BackupFinish? [1862]
- Allow configuration of the time to delete redundant store locations [1863]
- Revert from hex to decimal default format after logging an account number [1864]
- Log the name of missing configuration keys before throwing exception [1865]
- Revert to decimal properly, and also after logging an Object ID [1869]
- Fix double backslashes [1870]
- Compile fix for MSVC, thanks Gary [1861]
- Re-merge the good bits of [1873] with James' suggested improvements.
- Fix compare output for missing local files which are on the store [1911]
- Receiving a connection is not an error [1912]
- Ignore time differences less than 1 second when comparing attributes, as not all filesystems can store times that accurately [1914]
- Log an error if we fail to open the lockfile [1915]
- Unlink returns 0 on success, not on error [1919] [1921]
- Ensure that restore failure sets the return code from bbackupquery [1926]
- Make ExtendedLogging? use the logging framework so that we can view the logs on the console along with other debug output [1937]
- Enable TRACE logging in release builds, but make it really cheap when disabled [1938]
- Use new logging framework for tracing diffs [1940]
- Log each block found and each false match at DEBUG level [1940]
- Change some TRACEx macros to BOX_TRACE [1995]
- Allow logging with microsecond timestamps [2001]
- Add -U option to enable logging microsecond timestamps [2002]
- Don't log our own timestamp now that Logging can do it for us with microsecond precision [2003]
- Update copyright to 2008 [2030] [2033]
- Don't warn about mount points which are excluded, thanks to Matt Brown [2041]
- Update version on MSVC config [2067]
- Add support for microsecond timestamps and PID logging on console log for daemons [2081]
- Use logging framework for streaming messages [2084]
- Log protocol errors at WARNING level [2084]
- Always add file size to timestamp in release mode [2085]
- Improve error messages when loading SSL key files fails [2090]
- Disable -P option and showing PID in Logging on Windows [2092]
- Add support for logging just to syslog (not console) at a given priority [2102]
- Only log daemon banner to syslog, not to console, as this is probably what users expect (and they have no way to control verbosity on the console this early) [2103]
- Disable WSACleanup() in bbackupquery as I get an abnormal program termination on it during testbbackupd [2104]
- Ignore ERR_NO_DATA while writing to control socket on Windows, as it just means that the Pope is being closed [2105]
- Use logging framework rather than printf to log when messages are sent to the control client [2109]
- Add the -K option to Daemons on Windows to keep them quiet even though they don't fork by themselves. This option is normally only useful when running the daemon in a test [2110] [2211]
- Reduce log level of message from server child from WARNING to NOTICE, as it's just the IP and port of the remote side of the connection [2114]
- Improve logging with macros that consistently output strerror(errno) and errno, replacing almost all use of strerror() in the main code [2115]
- Log a more detailed error message before throwing an exception for some more system call failures [2115]
- Allow configuration of the server port that the client will connect to (bbackupd and bbackupquery) [2116]
- Redesign ConfigurationVerify? to use classes instead of structs [2116]
- Close after logging socket error, so that we don't lose errno [2117]
- Replace all remaining use of TRACEx() macros with logging framework [2119]
- Make usage output (from bbstoreaccounts info and bbackupquery usage) consistent and easier to read, with blocks, B/kB/MB/GB, % and an ASCII bar graph [2121] [2139]
- Reset getopt on windows when parsing second set of options [2130]
- Close process token in EnableBackupRights?(), thanks Charles [2132]
- Improve error messages in EnableBackupRights?() when failing to enable the backup privilege [2132]
- Use file size returned by GetFileInformationByHandle? in emu_fstat instead of calling GetFileSizeEx?(), thanks Charles [2132]
- Convert UTF-8 to Unicode for logging in Windows Event Log, so that international paths and filenames are displayed correctly [2133] [2134]
- Check the return code from system commands in bbackupquery, and if not zero, give a warning and set the bbackupquery return code to COMMAND_RETURN_ERROR [2142]
- Check for Restore_TargetPathNotFound on all platforms as it's not specific to Windows [2142]
- Improve LogAllFileAccess logging by making the simple case (file not changed) easier to read [2143]
- Fix crash when notifying sysadmin of an invalid event code [2148]
- Disable some debug logging [2148]
- Fix typo [2155]
- Add restore -f option to force restore to continue after an error [2157]
- Catch server errors when listing a directory in bbackupquery [2158]
- Add backtrace on exception in release builds [2167] [2168] [2169]
- Add a GetMessage?() method to Protocol objects to return a stringified message as a string [2172]
- Move loading configuration into a separate method [2177]
- Add -W<level> option to set warning level explicitly [2177]
- Demangle C++ names in backtrace on GCC using C++ ABI routines [2178]
- Catch exception on reading a directory that doesn't exist, and return a protocol error message instead [2179]
- Shorten names used by daemons in logging [2180]
- Track and log file deletions by name [2181]
- Split crypto init and file sync process into its own method, to reduce call depth and facilitate calling in process from tests [2181]
- Differentiate between 3 uses of stat in BackupClientDirectoryRecord? by renaming the structures [2181]
- 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 [2181]
- Add bbackupquery -W<level> option to set explicit warning level [2184]
- Obsolete old (inconsistent) meaning of -q in bbackupquery [2184]
- Test that reading a nonexistent directory on the server doesn't crash server or client [2184]
- Test that bbackupd does continue backup run and delete files when storage limit is exceeded [2184]
- Reset notification state for backup-error after a successful backup, thanks to Wolfgang Trexler [2197]
- Don't warn about ignoring sockets and FIFOs during backup, thanks to Tollef Fog Heen [2198]
- Add a function to format a BoxTime? as a human-readable time only (for use in logging) [2203]
- Use the new time function when generating console log messages [2204]
- On Windows XP, you can open a process even after it's terminated, to retrieve the exit code, so the check for process liveness has to be modified to make the basicserver test pass [2205]
- New timer implementation using TimerQueue? on Windows to avoid the need to create and manage a separate thread ourselves [2206]
- Add getpid() emulation on Windows [2207]
- Remove Windows limitation on Logging that showing PID was not possible [2208] [2211] [2212]
- Log error when rename over RaidFile? fails on Windows [2210]
- Log the error code returned by NotifyScript? [2213]
- Log file uploads at NOTIFY level so that all you need to do to get them (and just them) logged is to set LogAllFileAccess = yes [2214]
- Name the timers to help with debugging [2215]
- Log a warning with the file that couldn't be opened and the error code [2217]
- Add machine-readable output mode (with -m option) to bbstoreaccounts info [2222]
- Fix redundant logging of command socket messages [2227]
- Replace manual pointer management with std::auto_ptr [2228]
- Map ERROR_SHARING_VIOLATION to EBUSY in openfile [2230]
- Convert console logging output to console encoding on Windows [2231]
- Move the code that runs a backup with exception handling into its own method, to allow testbbackupd to call it [2236]
- Add handling of backup-error events to NotifySysAdmin?.vbs [2239]
- Change FileStream? constructor to take a const std::string& instead of a char array pointer, for C++ style [2243]
- Interface separation required for Boxi merge [2244] [2245] [2246] [2256] [2257] [2262] [2263]
- Propagate BackupStoreException::SignalReceived? up to BackupDaemon? to abort the run, rather than treating it as a failure to upload a single file [2247]
- Handle sysadmin notifications and calculate next sync time in BackupDaemon::RunSyncNow?, moved from RunSyncNowWithExceptionHandling?, which just does the exception handling [2248]
- Use a std::auto_ptr to hold the Configuration so that we don't have to worry about releasing it ourselves [2252]
- Remove some #ifdef WIN32 [2252]
- Add a Flush() method to IOStream to read and discard all remaining data, and a SelfFlushingStream? class which can be used to ensure that protocol streams are always flushed, to avoid breaking protocol [2254]
- Use SelfFlushingStream? to ensure that protocol streams are always flushed, fixes a problem where local file is not readable during compare, and stream was not flushed, breaking the rest of the compare [2260]
- Report when directory modification time is later than last sync time as a possible cause of compare failure, just as we do with files [2261]
- Run housekeeping synchronously on all platforms if daemon is run in single process mode (-D), not just on Windows [2262]
- Make statistics back into a NOTICE level log again, as they're pretty important and useful [2264]
- Use SecureZeroMemory? rather than memset() to wipe key material on Windows [2272]
- Add Windows Installer (InstallJammer?) to version control, thanks Pete Jalajas [2274]
- Unify program name and console logging tags [2279]
- Add a new class, Logging::Tagger, which can be used to temporarily add information to the program name, such as the client ID in bbstored [2279]
- Use logging tagger to identify clients during connections, both in syslog and on the console [2280]
- Allow stopping housekeeping during a run, between accounts, when the daemon is requested to terminate or to reload its configuration [2281]
- Add command to undelete a file, to complete the set of commands implemented by the bbstored server [2282]
- Allow undelete command to work on files as well as directories [2283]
- Add delete command that works on files and directories [2283]
- When using bbackupctl, log which command succeeded or failed, rather than just "Succeeded", which is not very helpful in system logs [2284]
- Prefix event log application name with Box Backup, and remove it from all calls to SetProgramName?, for better consistency on Unix [2285]
- Make bbstoreaccounts and bbackupctl set their program names for logging [2285]
- Don't override supplied tag with service name when BackupDaemon? is run as a service [2285] [2286] [2287]
- Improve wording of control command message [2289]
- Use named timer for MaximumDiffingTime? [2292]
- Set console and syslog logging levels rather than global logging level, as we may want to do something different when logging to a file [2293]
- Replace timer name when assigning from another timer [2295]
- Log reason for failing to write to a file [2297]
- Remove #ifdef WIN32 as we now define O_BINARY to 0 on Unixes, so the same code can be used for both [2298]
- Use named timer for KeepAliveTime [2300]
- Make upload decision messages (logged with LogAllFileAccess) clearer to help automated log processing [2301]
- Add file logging support (LogFile? and LogFileLevel? config options) [2302]
- Ensure that backup-finish is always called, and add a new event, backup-ok, which is called just before backup-finish when the backup run was successful [2302]
- Keep track of the last backup status notification sent (excluding backup-start and backup-finish) and send a notification whenever it changes [2302]
- Add a new boolean option, NotifyAlways?, to override that check and always send notifications to the NotifyScript? after every backup run, for notify scripts which do their own state tracking or otherwise require notification on every event [2302]
- Log creation of directory records and warn on conflicting records [2315]
- Fix directory record conflicts caused by including the same directory twice [2316]
- Fix/reduce locked file timing conflict problems [2316]
- Remove -K option which now does nothing on Windows [2317]
- Add -Q option which disables all logging instead [2317]
- Remove Win32 command socket thread, as it has caused too much trouble [2318]
- Handle command socket on Windows the same as all other platforms, removing #ifdefs from BackupDaemon?. Will replace this thread with regular but not excessive command socket polling using timers in future [2318]
- Change error messages when command socket comms fail to make them clearer [2318]
- Remove pcreposix.dll in parcels, now that it's statically linked [2322]
- Log statistics before BackupFinish? event, so that they can be used in reporting in the NotifyScript? [2324]
- Use Windows Crypto API to seed the random number generator, and remove warning that it hasn't been seeded on Windows [2343]
- Add -m option to bbackupquery usage command for machine-readable output [2353]
Build 1857
Released on 2007/09/23. Download here.
Changes since the last release (1837):
- Add James O'Gorman's NotifySysAdmin.vbs script to client parcel on Windows [1838]
- Update NotifySysAdmin.vbs to send a message to the event log if it fails to send an email (James O'Gorman) [1837]
- Don't include the install-backup-client script in Windows builds, as it's pretty useless without Cygwin (Pete Jalajas) [1841]
- Fix the examples in the sample configuration file [1847]
- Make Windows Service-related command-line processing use getopt, like the other options [1849] [1850] [1852] [1854]
- Report more useful error messages on connect() failure on Windows [1851]
- Record the exit status of the daemon when running as a service, and return it to Windows so that Windows doesn't tell the admin that "the service did not report an error" when it stopped unexpectedly [1853]
- When failing to contact the SCM, report a textual error message as well as the error code [1853]
- InstallService uses the new "-s" option instead of "--service" on the service command line [1853]
- Add proper usage information (-h option) in Daemon for all subclasses [1855]
- Add usage information for service options in BackupDaemon [1855]
- Use the specified service name when installing and removing the service [1856]
- Pass the service name on the service command line, and use it for event log messages [1856]
- Improve timer debugging on Windows [1857]
Build 1837
Released on 2007/09/14. Download here.
Changes since the last release (1822):
- Support multiple named pipes on Win32.
- Don't disable logging on Win32 console.
- Don't initialise the command socket thread (on Win32) until the configuration is known.
- Commonise some code between Windows and Unix daemon startup.
- Update bbackupd.conf to match improved comments and default settings in the Unix version generated by bbackupd-config.
- Don't abort if one of the location paths doesn't exist, just print a warning and continue.
- Use an auto_ptr to avoid memory leaks when setting up a location fails.
Build 1822
Released on 2007/09/07. Download here.
Changes since the last release (1814):
- Handle missing NotifyScript? configuration key properly. [1817]
- Report the name of missing configuration keys in an error message. [1818]
Build 1814
Released on 2007/09/07. Download here.
Changes since the last release (1781):
- Use new logging framework almost everywhere. [1784] [1790] [1806] [1809] [1810] [1811]
- Don't print syslog messages to the console any more. [1814]
- Call the notification script whenever backup starts or finishes. [1805]
- Don't initialise DebugMemLeakFinder? twice when running as a service. [1813]
- Return a non-zero exit code when running as a service fails. [1813]
- Fix backup of UNC shares, should allow Box Backup to backup UNC paths when running as a service. [1814]
Build 1781
Released on 2007/07/29. Download here.
Changes since the last release (1692):
- Add a new -F option for daemons, which runs in the foreground but still accepts multiple connections, unlike -D or SINGLEPROCESS. (cosmetic on Win32, server is single process only) [1741]
- Log reasons for failure to connect to a socket. [1742]
- Warn if an exception is thrown, with line number, as this shouldn't be happening on production systems anyway. [1744]
- Add more debugging checks and messages for location setup error reported by Pete Jalajas (http://lists.warhead.org.uk/pipermail/boxbackup/2007-July/003668.html) [1745]
- More helpful error messages when location setup failed. [1748]
- Log more detailed errors when the server returns an error while uploading a file. [1781]
Build 1692
Released on 2007/05/26. Download here.
Changes since the last release (1662):
- Fix saving and restoring archived state, broken in 1662, thanks Gary! [1672]
- Fix object use after delete, could crash client, thanks Gary! [1673]
- Fix regular expression support to work on all platforms, and disabuse HAVE_REGEX_H [1677] [1678] [1682]
- Internal cleanups, pass std::strings to various classes instead of char arrays [1683] [1684] [1689]
- All programs use the directory of the executable as the default config file location, instead of the hardcoded "C:\Program Files\Box Backup". Thanks to Paul MacKenzie?, Per Thomsen, Pete Jalajas, Stuart Sanders, Dave Bamford and Gary for pushing me to do this. (fixes #12) [1685] [1686] [1687] [1688] [1690] [1691] [1692]
- Update copyrights to 2007, thanks Per Thomsen! [1670]
Build 1662
Released on 2007/05/16. Download here.
Changes since the last release (1569):
- Fix backup, restore and compare of files over 2 GB, hopefully ([1585], [1586], [1587], [1598], [1599], [1621], [1623])
- Log progress of large file backups at trace level ([1589], [1590])
- Notify (log) during full file uploads ([1594])
- Improve error messages in bbackupquery when comparing or getting a file fails with an exception ([1597], [1600])
- Improve error reporting in bbackupquery ([1638])
- Initialise logging framework and use for banner in bbackupquery ([1601], [1602])
- Include LICENSE.txt in binary package, but not Nick's old ReadMe?.txt ([1655])
- Save unused locations across bbackupd restarts, so that they will be deleted when their time is up, thanks to Gary ([1658], refs #18)
- Respect server hard limits rather than soft limits, to allow use of zero as a soft limit, thanks to Gary ([1659], [1662], refs #19)
- Fix restore to a directory under the root, with or without drive letter (c:\test\ or \test\), thanks to Mikael Syska ([1660], [1661])
Build 1569
Released on 2007/04/22. Download here.
Changes since the last release (1516):
- [1521] Added commentary to RaidFileDoesntExist? exception.
- [1548] [1549] Use logging framework to log exceptions thrown and stack traces, making them controllable and appear in the Windows event log.
- [1550] Log event name instead of numeric code when notifying sysadmin in bbackupd.
- [1551] Add options to log timestamps, and a custom tag, with each message to the console.
- [1552] Add Daemon -V option, which sets maximum verbosity in one go.
- [1552] Add Daemon -T option, which adds timestamps to console logs.
- [1552] Add Daemon -t option, which enabled and sets the tag used on console logs.
- [1553] Add test --bbackupd-args and --bbstored-args options, which may be used to pass additional command-line parameters to bbackupd and bbstored in some tests.
- [1553] Add test -t and -T options, which add tags and timestamps to log messages using the logging framework inside the tests themselves.
- [1554] Use additional arguments from command line options when starting bbackupd and bbstored in test/bbackupd.
- [1569] Fix crash in bbackupquery when comparing a location whose path ends with a directory separator, accidentally introduced in build 1516.
Build 1516
Released on 2007/04/16. Download here.
Changes since the last release (1280):
- [1294] Use new logging framework (from chris/merge).
- [1299] Added detection of reparse points, and treat them like mount points (don't recurse down into them).
- [1302] Fix memory leaks and false alarms detected by new memory leak code.
- [1310] Initialise and use logging (from chris/merge).
- [1311] Fix memory leak (from chris/merge).
- [1317] Throw Common AccessDenied? instead of Common OSFileOpenError when access to a file is denied, to improve log messages (from chris/merge).
- [1318] Use gettimeofday() if we have it, to return system time more accurately and avoid spinning (from chris/merge).
- [1319] Log a warning for exclude entries which end in a path separator and will therefore never match (from chris/merge).
- [1322] Avoid infinite loops if we can't bind socket, or something else goes wrong and throws an exception before the server starts accepting connections (from chris/merge).
- [1324] Use new logging framework.
- [1327] Log excluded directories still present on the server during compare.
- [1327] Don't recurse into excluded directories during compare.
- [1327] Document that restore -d restores deleted files inside a not-deleted directory (from chris/merge)
- [1340] Fix two memory leaks and one buffer overflow in codepage conversion code.
- [1341] Watch out for our leak tracking data being destroyed and don't crash when subsequent objects are destroyed.
- [1342] Use Timers to manage diffs and keepalives. Remove signal handler mess from BackupClientContext?.
- [1342] Send keepalives while scanning a directory, in case it's a very big or slow directory.
- [1342] Enable keepalives and diff time limits by default, at 60 and 600 seconds respectively.
- [1342] Add LogAllFileAccess option for verbose file access logging for debugging.
- [1342] Add support for ExtendedLogFile? directive to write extended (protocol) log to a file (disable ExtendedLogging? unless you want to log to your system logs as well).
- [1342] Don't delete remote directories just because we can't stat the local one.
- [1342] Catch failure to read attributes from a location directory and log it rather than aborting the backup run.
- [1347] Fix potential access beyond end of array in short filenames.
- [1359] Use logging framework.
- [1364] Improve GetErrorMessage?() by including the error number/code in the message (helps debugging on foreign language versions of Windows)
- [1368] [1370] Use logging framework.
- [1431] Test for expected behaviour when modifying untracked and tracked files without changing their modtime.
- [1431] Test that bbackupd notifies the sysadmin when throwing an exception.
- [1433] Trace reasons for uploading (or not) each file.
- [1433] Add a new notification constant, NotifyEvent?_BackupError, for use when an exception occurs during the backup.
- [1433] Make bbackupd notify sysadmin when an exception occurs during the backup, using this error code, and the notification string "backup-error".
- [1436] Add emulated rename() with path conversion.
- [1442] Use memmove() for overlapping buffers (Charles Lecklider).
- [1449] Initialise logging framework.
- [1457] Register our event source with the name passed to us, so that it goes into the event logs.
- [1458] Improve logging of pipe errors by including the error message.
- [1458] Reinitialise the OVERLAPPED structure each time we start a new overlapped read (Charles Lecklider).
- [1458] Don't log errors or throw exceptions when we get ERROR_NO_DATA, which just means that the pipe is being closed. Treat it as a normal remote close (EOF) instead.
- [1458] Don't log an error if DisconnectNamedPipe? tells us that the remote end already closed the pipe (ERROR_PIPE_NOT_CONNECTED)
- [1459] Use our new ClientException? codes for clock skew and archive problems.
- [1459] Better handle a case where a force-sync command comes in immediately after (or during) a sync, i.e. less than MinimumFileAge? seconds after the last one. In this case, just move back the syncPeriodStart by 1 second.
- [1462] Initialise logging framework and set our program name.
- [1463] Treat ERR_PIPE_NOT_CONNECTED during pipe reads as EOF as well.
- [1464] Change named pipe from message to byte mode (Charles Lecklider).
- [1496] Allow '/' as a path separator on Win32.
- [1512] Add a warning that comparing locations with a final directory separator may fail (Stefan Tauner).
- [1514] Fix emulated chdir to work with relative paths and with bbackupquery's "sh" command (which doesn't like UNC paths).
- [1514] Fix rare memory leak.
- [1516] Return an error code on failure of lcd command.
- [1516] Return an error code if get command fails due to the file already existing.
Build 1280
Released on 2007/02/10. Download here.
Changes since the last release (1096):
- [1098] Fix a bug with handling optional files
- [1099] Add logging in remaining places where Common OSFileOpenError can be thrown
- [1233] Visual Studio 2005 compile fixes, thanks to Gary
- [1271] Catch exceptions during restore
- [1280] Merge in restore logging improvements from merge tree
- [1283] Don't close the logging socket until we're really finished with it
- [1284] Catch exceptions thrown by closing the WinNamedPipeStream? during shutdown and suppress them
Build 1096
Released on 2006/10/20. Download here.
Changes since the last release (784):
- [786] Type conversion fixes suggested by Charles Lecklider (Windows)
- [787] Fixed coding style and type issues in LocalProcessStream? (Windows)
- [800] Fixed MakeFullPath?() to handle zero-length directory name
- [813] Added more friendly error messages for cases pointed out by Pete Jalajas
- [970] Better description of TLSReadFailed exception
- [971] More accurate timing, avoids spin loops and eating CPU just before backup starts
- [972] Avoid memory corruption in memory leak detection code in debug builds
- [973] Add Access Denied exception (useful for distinguising from OSCommonFileError)
- [1007] [1008] Build with static pcre library instead of pcreposix.dll
- [1009] Added support for using Win32 temporary files in server and unit tests
- [1010] Use INVALID_HANDLE_VALUE instead of NULL to represent invalid file handles under Win32
- [1011] Added InvisibleTempFileStream? class and unit tests for it
- [1012] Use InvisibleTempFileStream? instead of FileStream? for temporary files
- [1017] Simplify code
- [1021] Log unknown file types as unreadable files
- [1023] Allow creation of directory records (and recursive descent into them) even when the store is full, to allow the user (client) to fix the problem by excluding some files and having bbackupd delete them from the store.
- [1024] Import error handling improvements from merge branch
- [1033] Replace if/else tree with switch, to help compiler to optimise it and detect errors
- [1038] Expanded character set conversion API to allow arbitrary conversions (needed to handle command lines with international encodings)
- [1039] Don't bother to split up the command line on Win32 (it's never used)
- [1039] Return the PID of the created process on Win32
- [1040] Properly handle broken pipe when using FileStream? to read from a local process, and the child quits. Report this as EOF rather than throwing.
- [1041] Don't disable lock waiting loop on Win32 (even though it does nothing and is never called right now)
- [1041] Use InvisibleTempFileStream? for temporary files on Windows, rather than deleting them ourselves.
- [1042] Reinstate SendMessageToHousekeepingProcess?, but make it do nothing
- [1043] Convert command line commands from system encoding to console encoding, so that we can convert them from console to UTF-8 later (yuck).
- [1043] Don't try to read from the console when its file handle is invalid (e.g. when running under LocalProcessStream?).
- [1046] Print localised error messages rather than error codes for all errors.
- [1047] Convert both arguments of the Get command to local encoding, to support local paths in local encoding.
- [1063] Share more code between Win32 port and other platforms.
- [1069] Don't write to the interprocess comms socket if it's not open.
Build 784
Released on 2006/08/19. Download here.
Changes since the last release (777):
- (Windows) Fixed support for SyncAllowScript.
Build 777
Released on 2006/08/11. Download here.
Changes since the last release (767):
- (Windows) Fixed warnings when scanning directories containing excluded files that are also locked (e.g. pagefile.sys)
Build 767
Released on 2006/08/10. Download here.
Changes since the last release (716):
- Fixed double slash problem when backing up root directory, which stopped paths from matching Exclude directives
Build 716
Released on 2006/08/06. Download here.
Changes since the last release (568):
- (Windows) All unit tests run and pass
- (Windows) Fixed support for installing service when configuration file path contains a space
- Changed the exceeded storage limits message to a warning, not info
- (Windows) Save PID file when running daemon
- (Windows) Improved (largely rewritten) implementation of poll()
- (Windows) Fixed non-blocking SSL sockets
- (Windows) Fixed error handling on named pipe, thanks to Pascal Lalonde
- (Windows) Internally convert Unix path separators to Windows (/ to \) on all filenames, e.g. those specified in configuration files
- (Windows) Added support for Unicode filenames when creating and changing directories, may fix restoring files with unicode characters in their names
- (Windows) Hopefully fixed the inaccurate sleep problem after backup errors, which might cause the daemon to wait much longer than expected before retrying, and use too much CPU while doing so.
- Rewrote upload decision logic (whether or not to upload a given file), should be easier to read and debug and implement same semantics
- (Windows) Fixed restoring to paths with Unix path separators (for unit tests)
- Added a new bbackupctl command to wait for the end of the next sync (useful for unit tests)
- Fixed spelling errors
- Cleaned up bbackupctl option handling code to make it easier to extend
- (Windows) Changed permissions requested in openfile() to better match expectations, should fix backing up read-only files and filesystems
- (Windows) Fixed buffering in WinNamedPipeStream when more data is in the pipe than will fit into the supplied buffer
- (Windows) Fixed minor memory leaks in bbackupd (cosmetic)
- (Windows) Fixed infinite loop with 100% CPU usage when a read error occurs on the named pipe
- (Windows) Improved handling of locked files during compare
- Disabled informational messages in bbackupctl when running in quiet mode
- Merged changed from trunk (nothing significant, I think)
- (Windows) Fixed restoring and comparing file attributes, creation and modification times
- (Windows) Fixed matching in exclude lists to be case insensitive
Build 568
Released on 2006/05/17. Download here.
Changes since the last release (564):
- Fixed regular expression problem in r564 by clean rebuild
- Fixed service installation with config file path containing spaces (perhaps not completely fixed until build 716)
Build 564
Do not use this build. Regular expression support is broken.
Released on 2006/05/05. Download here.
Changes since the last release (538):
- Fixed potential encoding problems when displaying filenames during compare
- Fixed wrong path reported on some compare errors
Build 538
Released on 2006/03/05. Download here.
Changes since the last release (511):
- Fixed failure to to delete StoreObjectInfoFile
Build 511
Released on 2006/02/25. Download here.
Changes since the last release (473):
- Fixed timestamp listing in bbackupquery
Build 473 (RC3)
Released on 2006/02/18. Download here.
Changes since the last release (462):
- None known, except the build name
Others
All releases may be found here. Please check the known bugs page, and the Subversion logs for the release files, to determine what has changed.
