Changes between Version 33 and Version 34 of 011
- Timestamp:
- 07/02/2010 22:10:02 (7 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
011
v33 v34 17 17 * Changed keepalive and diff timers to run in real time, not CPU time. 18 18 * Enable KeepAliveTime by default on new installations, set to 120 seconds. 19 * Fixed a number of bugs in the Windows port.20 * Fixed a bug where bbstoreaccounts could modify an account while it was locked by a running backup.19 * Fixed a number of bugs (race conditions and crashes) in the Windows client. 20 * Fixed a (minor) bug where `bbstoreaccounts` could modify account limits while the account was locked by a running backup. 21 21 * Fixed bbackupd mysteriously failing to back up if one of the location paths did not exist. 22 * Added saving of the list of unused root directory entries to the !StoreObjectInfoFile, so that they will persist across restarts of bbackup (thanks to Gary Niemcewicz).23 * Changed server-side object cache to always add file size to timestamp in release binaries, to help caching work better on machines wh ich claim to support high-res timestamps but actually don't (e.g. Linux, MacOS X). (0.11rc4 [2085])22 * Added saving of the list of unused root directory entries to the StoreObjectInfoFile, so that they will persist across restarts of bbackup (thanks to Gary Niemcewicz). 23 * Changed server-side object cache to always add file size to timestamp in release binaries, to help caching work better on machines where the platform supports high-res timestamps but the filesystem doesn't (e.g. Linux ext3, MacOS X hfs). (0.11rc4 [2085]) 24 24 * Fixed bbackupquery to check the return code from system commands, and if not zero, give a warning and set the bbackupquery return code to COMMAND_RETURN_ERROR. (0.11rc4 [2142]) 25 * Added check for Restore_TargetPathNotFound on all platforms as it's not specific to Windows. (0.11rc4 [2142])26 * Added restore -f option to force restore to continue after an error. (0.11rc4 [2157])27 * Fixed handling of server errors when listing a directoryduring restore. (0.11rc4 [2158])28 * Fixed handling ofattempted access to a directory that doesn't exist on the server, and return a protocol error message. (0.11rc4 [2179])25 * Added check for Restore_TargetPathNotFound (restoring to nonexistent directory) on all platforms as it's not specific to Windows. (0.11rc4 [2142]) 26 * Added `restore -f` option to `bbackupquery` to force restore to continue after certain recoverable errors. (0.11rc4 [2157]) 27 * Fixed crash caused by failure to list a directory on the server during restore. (0.11rc4 [2158]) 28 * Fixed crash caused by attempted access to a directory that doesn't exist on the server, and return a protocol error message. (0.11rc4 [2179]) 29 29 * 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. (0.11rc4 [2181]) 30 30 * Increased buffer size for extended attributes, and improved error handling. (0.11rc4 [2194]) 31 * Replaced some manual pointer management with std::auto_ptr. (0.11rc4 [2228])32 * Fixed failure to read entire protocol object in some bbackupquery commands, resulting in a n unusable connection after an error occurs. (0.11rc4 [2254] [2260])33 * Fixed directory record conflicts caused by including the same directory twice. (0.11rc4 [2316])31 * Replaced some manual memory management with `std::auto_ptr` to reduce risk of memory allocation errors. (0.11rc4 [2228]) 32 * Fixed failure to read entire protocol object in some bbackupquery commands, resulting in a crash after an error occurs during a `bbackupquery` session. (0.11rc4 [2254] [2260]) 33 * Fixed directory record (internal state menagement) conflicts caused by including the same directory twice. (0.11rc4 [2316]) 34 34 * Fixed crash when freebsd (maybe *bsd) returns ECONNRESET on close(), which presumably means that the socket is already closed, causing bbackupd test to fail. Thanks to Victor Meirans for reporting the problem. (0.11rc4 [2451]) 35 35 * Added debugging for child processes terminating normally or abnormally, as Brendon Baumgartner reported symptoms that sound like a bbstored child process crashing, and nothing in the logs indicates what happened to it. (0.11rc6 [2592]) … … 37 37 === Control === 38 38 39 * Added bbackupctlcommands for improved scripting of syncs.40 * Added bbackupdoption to set the length of time before unused locations are deleted.39 * Added `bbackupctl` commands for improved scripting of syncs. 40 * Added `bbackupd` option to set the length of time before unused locations are deleted. 41 41 * Improved command-line option handling. 42 * Added command-line help ( -h option) to bbackupd and bbstored.43 * Added a new -F option for daemons, which runs in the foreground but still accepts multiple connections, which is what SINGLEPROCESSused to do.44 * Added support for multiple Box Backup ( bbackupd) services on Windows, with different service names and named pipe names, to implement redundancy.45 * Added configuration of the server port that the client will connect to ( bbackupd and bbackupquery). (0.11rc4 [2116])46 * Fixed getopt reset for solaris, Windows and maybe other platforms. (0.11rc4 [1975] [2131] [2388])47 * Added -W<level> option to set log level explicitly by name. (0.11rc4 [2177])42 * Added command-line help (`-h` option) to `bbackupd` and `bbstored`. 43 * Added a new `-F` option for daemons, which runs in the foreground but still accepts multiple connections, which is what `SINGLEPROCESS` used to do. 44 * Added support for multiple Box Backup (`bbackupd`) services on Windows, with different service names and named pipe names, to implement redundancy. 45 * Added configuration of the server port that the client will connect to (`bbackupd` and `bbackupquery`). (0.11rc4 [2116]) 46 * Fixed command-line parsing (`getopt()` reset) for Solaris, Windows and maybe other platforms. (0.11rc4 [1975] [2131] [2388]) 47 * Added `-W`<level> option to set log level explicitly by name. (0.11rc4 [2177]) 48 48 * Fixed Debian initscripts. (0.11rc4 [2191] [2192]) 49 49 * Fixed SuSE initscripts. (0.11rc4 [2193]) 50 * Added Mac OS X launchd files for bbackupd and bbstored. (0.11rc4 [2195])50 * Added Mac OS X `launchd` files for `bbackupd` and `bbstored`. (0.11rc4 [2195]) 51 51 * Allowed housekeeping to stop during a run, between accounts, when the daemon is requested to terminate or to reload its configuration. (0.11rc4 [2281]) 52 * Added command to undelete a file, to complete the set of commands implemented by the bbstoredserver. (0.11rc4 [2282] [2283])52 * Added command to undelete a file, to complete the set of commands implemented by the `bbstored` server. (0.11rc4 [2282] [2283]) 53 53 * Removed the command socket thread on Windows. (0.11rc4 [2318]) 54 54 * Changed default location of configuration files from `/etc/box` to `/etc/boxbackup`. (0.11rc4 [2498]) … … 56 56 === Usability === 57 57 58 * Fixed entering of international characters into bbackupqueryon Windows ([CharacterEncoding instructions]) and Unixes with editline.58 * Fixed entering of international characters into `bbackupquery` on Windows ([CharacterEncoding instructions]) and Unixes with editline. 59 59 60 60 === Output === … … 62 62 * Added new logging infrastructure, allows more control over whether messages are sent to the console or system logs, and at what level of detail. 63 63 * Added option to send Extended Logs to a file instead of to system logs. 64 * Added option to log all file access, for debugging when a file is not backed up or causes the backup to fail mysteriously. (improved in 0.11rc4 by [2143])64 * Added option to [wiki:LogAllFileAccess log all file access], for debugging when a file is not backed up or causes the backup to fail mysteriously. (improved in 0.11rc4 by [2143]) 65 65 * Improved error messages to identify the causes of some errors which were difficult to track down before. 66 66 * Added new backup-start and backup-finish events to the NotifyScript, which can be used to implement more advanced functionality such as snapshotting databases. (fixed in 0.11rc4 by [2148]) … … 77 77 * Added an option to disable all logging on Windows. (0.11rc4 [2317]) 78 78 * Reduced 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. (0.11rc4 [2114]) 79 * Improved error logging with macros that consistently output strerror(errno) and errno, replacing almost all use of strerror()in the main code. 0.11rc4 [2115])79 * Improved error logging with macros that consistently output `strerror(errno)` and `errno`, replacing almost all use of `strerror()` in the main code. 0.11rc4 [2115]) 80 80 * Added logging of a more detailed error message before throwing an exception for some more system call failures. (0.11rc4 [2115]) 81 81 * Replaced all remaining use of TRACEx() macros with logging framework. (0.11rc4 [2119] [2122]) 82 * Made usage output (from bbstoreaccounts info and bbackupquery usage) consistent and easier to read, with blocks, B/kB/MB/GB, % and an ASCII bar graph. (0.11rc4 [2121])83 * Added machine-readable output mode to bbstoreaccounts info and bbackupquery usage. (0.11rc4 [2222] [2353])82 * Made usage output (from `bbstoreaccounts info` and `bbackupquery usage`) consistent and easier to read, with blocks, B/kB/MB/GB, % and an ASCII bar graph. (0.11rc4 [2121]) 83 * Added machine-readable output mode to `bbstoreaccounts info` and `bbackupquery usage`. (0.11rc4 [2222] [2353]) 84 84 * Fixed Windows Event Logging of international characters. (0.11rc4 [1942] [1944] [2133] [2134]) 85 85 * Fixed console output of international characters on Windows. (0.11rc4 [2231]) 86 * Added bbreporter.pylog checker script, thanks to cbkm (0.11rc4 [2136] [2137] [2138] [2147] [2189])86 * Added `bbreporter.py` log checker script, thanks to cbkm (0.11rc4 [2136] [2137] [2138] [2147] [2189]) 87 87 * Added an error message giving the file name when an expected raidfile does not exist, to help server operators to figure out what's wrong. (0.11rc4 [2146]) 88 88 * Added backtrace on exception in release builds, with C++ name demangling where supported. (0.11rc4 [2169] [2178] [2187] [2221]) … … 109 109 === Security === 110 110 111 * Use SecureZeroMemory rather than memset()to wipe key material on Windows. (0.11rc4 [2272])111 * Use `SecureZeroMemory` rather than `memset()` to wipe key material on Windows. (0.11rc4 [2272]) 112 112 * Use Windows Crypto API to seed the random number generator, and remove warning that it hasn't been seeded on Windows. (0.11rc4 [2343]) 113 113 … … 121 121 * Added support for verbosity control in tests. (0.11rc4 [2082]) 122 122 * Added help text on test failures, thanks to Stuart Hickinbottom. (0.11rc4 [2086] [2087]) 123 * Fixed deletion of bbstoredPID file after killing the daemon on Windows, as the daemon can't clean up after itself. (0.11rc4 [2096])124 * Changed port used by tests from 2201 (default) to 22011, to reduce the chances of conflicting with a running bbstoredor other process. (0.11rc4 [2116])123 * Fixed deletion of `bbstore` PID file after killing the daemon on Windows, as the daemon can't clean up after itself. (0.11rc4 [2096]) 124 * Changed port used by tests from 2201 (default) to 22011, to reduce the chances of conflicting with a running `bbstored` or other process. (0.11rc4 [2116]) 125 125 * Improved debugging when failing to create the large file for diff speed tests. (0.11rc4 [1946] [2135]) 126 * Improved console and system log readability by setting program name in tests to module name, e.g. test/bbackupd. (0.11rc4 [2166])126 * Improved console and system log readability by setting program name in tests to module name, e.g. `test/bbackupd`. (0.11rc4 [2166]) 127 127 * Added option to show PID in logs (-P) in tests. (0.11rc4 [2166]) 128 128 * Added test that reading a nonexistent directory on the server doesn't crash server or client. (0.11rc4 [2184]) 129 * Added test that bbackupddoes continue backup run and delete files when storage limit is exceeded. (0.11rc4 [2184])130 * Silenced some expected warnings in testbbackupd. (0.11rc4 [2184])131 * Removed apparently pointless listing files on server at the end of testbbackupd. (0.11rc4 [2184])129 * Added test that `bbackupd`` does continue backup run and delete files when storage limit is exceeded. (0.11rc4 [2184]) 130 * Silenced some expected warnings in `testbbackupd`. (0.11rc4 [2184]) 131 * Removed apparently pointless listing files on server at the end of `testbbackupd`. (0.11rc4 [2184]) 132 132 * Fixed test for process liveness on Windows XP. (0.11rc4 [2205]) 133 133 * Added names to timers to help with debugging. (0.11rc4 [2215]) 134 * Added test that bbackupdresponds correctly to a dropped connection (0.11rc4 [2237])135 * Added reasons for waiting to be displayed during bbackupd and backupstorepatchtests, to help with interpreting test output. (0.11rc4 [2496])134 * Added test that `bbackupd` responds correctly to a dropped connection (0.11rc4 [2237]) 135 * Added reasons for waiting to be displayed during `bbackupd` and `backupstorepatch` tests, to help with interpreting test output. (0.11rc4 [2496]) 136 136 137 137 === Compilation and Portability === … … 139 139 * Improve Makefiles by reducing verbosity during build, so that any errors and warnings can be seen more easily. 140 140 * Improved build targets, thanks to James O'Gorman. 141 * Use const char pointers to static strings, to silence warnings on various platforms. Thanks to Reinhard Tartler and the Debian project for their buildds. (0.11rc4 [2050] [2051] [2058])141 * Use `const char` pointers to static strings, to silence warnings on various platforms. Thanks to Reinhard Tartler and the Debian project for their `buildd`s. (0.11rc4 [2050] [2051] [2058]) 142 142 * Fix compile problems on Solaris with Sun CC. (0.11rc4 [2052] [2053]) 143 * Detect whether struct DIR has d_fd or dd_fd member and define the dirfd()macro accordingly. (0.11rc4 [2054])144 * Made autoconf check for zlib.hand fail if we don't have it. (0.11rc4 [1988] [2128])143 * Detect whether `struct DIR` has `d_fd` or `dd_fd` member and define the `dirfd()` macro accordingly. (0.11rc4 [2054]) 144 * Made `autoconf` check for `zlib.h` and fail if we don't have it. (0.11rc4 [1988] [2128]) 145 145 * Added support for PCRE 7.x. (0.11rc4 [1996] [2129]) 146 146 * Added missing cleanups on Windows platform, thanks to Charles Lecklider. (0.11rc4 [1939] [2132]) 147 147 * Added missing #includes, thanks to the [http://www.t2-project.org/packages/boxbackup.html T2 Project] [2149], Martin [2190], Alex Howansky [2197] (0.11rc4) 148 * Added check for cxxabi.hto enable C++ name demangling for stack traces on libstdc++. (0.11rc4 [2167])149 * Fixed strerror()compile error on RedHat 9, thanks to Alex Howansky. (0.11rc4 [2196])148 * Added check for `cxxabi.h` to enable C++ name demangling for stack traces on libstdc++. (0.11rc4 [2167]) 149 * Fixed `strerror()` compile error on RedHat 9, thanks to Alex Howansky. (0.11rc4 [2196]) 150 150 * Replaced our custom thread timers on Windows with TimerQueue API. (0.11rc4 [2206]) 151 151 * Log an error when rename over RaidFile fails on Windows. (0.11rc4 [2210]) 152 152 * Changed `make clean` to remove built binaries and libraries, for consistency. (0.11rc4 [2241]) 153 * Changed module dependency rebuild test to use make -q, to rebuild more quietly. (0.11rc4 [2241])154 * Added proper parcel dependencies for faster rebuild with GNU make. (0.11rc4 [2241])153 * Changed module dependency rebuild test to use `make -q`, to rebuild more quietly. (0.11rc4 [2241]) 154 * Added proper parcel dependencies for faster rebuild with GNU `make`. (0.11rc4 [2241]) 155 155 * Use `cp -p` to update parcel contents to avoid rebuilding parcel when not necessary. (0.11rc4 [2241]) 156 * Use getpeerucred()to identify connecting socket clients on Solaris, and silence warnings that the peer cannot be identified on this platform. (0.11rc4 [2348])156 * Use `getpeerucred()` to identify connecting socket clients on Solaris, and silence warnings that the peer cannot be identified on this platform. (0.11rc4 [2348]) 157 157 * Fixed compile on gcc 4.3 and 4.4, thanks to Reinhard Tartler and the Debian project [2493] and Martin [2506] [2507]. (0.11rc4) 158 158 … … 163 163 * Updated man sections, corrected typos, thanks to James O'Gorman (0.11rc4 [2112]) 164 164 * Added a favicon to the website :-) [2265] 165 * Added documentation for bbackupd, bbstoredand configuration files, thanks to James O'Gorman. (0.11rc4 [2305])165 * Added documentation for `bbackupd`, `bbstored` and configuration files, thanks to James O'Gorman. (0.11rc4 [2305]) 166 166 167 167 === Packaging === 168 168 169 * Changed default location of bbackupd.conf on Windows to the same directory as bbackupd.exe.169 * Changed default location of `bbackupd.conf` on Windows to the same directory as `bbackupd.exe`. 170 170 * On Unix platforms, changed the default location for configuration files from `/etc/box` to `/etc/boxbackup`, and made it movable with `--sysconfdir=/usr/etc` to place them in `/usr/etc/boxbackup`. Thanks to Eric Cronin for testing. (0.11rc4 [2061] [2062] [2063]) 171 171 * On Unix platforms, changed the default location for temporary state files to `/var/run`. (0.11rc4 [2063] [2070] [2077]) 172 172 * On Unix platforms, allowed configuration of the directory prefix under which binaries will be installed. (0.11rc4 [2063]) 173 * On Unix platforms, moved all commands from bin to sbindirectories. (0.11rc4 [2094] [2095])174 * On Unix platforms, made the parcel install scripts use $DESTDIRfrom the environment, to help porters and packagers. (0.11rc4 [2064])173 * On Unix platforms, moved all commands from `bin` to `sbin` directories. (0.11rc4 [2094] [2095]) 174 * On Unix platforms, made the parcel install scripts use `$DESTDIR` from the environment, to help porters and packagers. (0.11rc4 [2064]) 175 175 * Added Windows Installer (written with InstallJammer) to version control, thanks to Pete Jalajas. (0.11rc4 [2274] [2330] [2331] [2332] [2333] [2334] [2335] [2340] [2344]) 176 176 * Create destination directory before installing into it, as requested by David Kaufman for Gentoo. (0.11rc4 [2357]) … … 183 183 === Utilities === 184 184 185 * Added the beginnings of a web management interface for bbstoredservers. (0.11rc4 [2375])185 * Added the beginnings of a web management interface for `bbstored` servers. (0.11rc4 [2375]) 186 186 187 187 == Source Code == … … 192 192 == Upgrading == 193 193 194 Upgrade all clients and servers to [wiki:010 0.10] first.194 It was previously recommended to upgrade all clients and servers to [wiki:010 0.10] first. This allows a smooth and staged transition to 0.11, as previous versions cannot communicate with a 0.10 or later server due to protocol changes. However, 0.10 no longer builds on recent distributions. Therefore, we now recommend that if you are running a version older than 0.10, that you follow the [wiki:010 0.10] upgrade instructions (upgrade each server and all of its clients simultaneously), but that you use the latest available version of Box Backup instead of 0.10. 195 195 196 196 Remove any Windows services before upgrading (with `bbackupd -r`) and reinstall after upgrading (with `bbackupd -i`).
