Technical notes on version 1.27 23Oct02 23 October 2002 Kern Sibbald General: - I have mainly worked on getting all the details of a Restore to work correctly (new tape format, support for Win32 attributes, ...) - Trademarked name Bacula. - Implement Bacula tape format 11 (1.0 Immortal). This format will be maintained forever. - Accept Any Volume is yes by default. This modifies Bacula's behavior when writing tapes. - Fixed Win32 file size bug reported by Johanes Kalbus. Changes submitted this submission: - Corrected a bug on FreeBSD where CFLAGS would get a "yes". I was unable to reproduce this, but a user confirmed the correction. It was a problem with detection of largefile support, which FreeBSD has by default. - Added a new "license" chapter in the manual. Re-licensed a number of library routines (bnet.c, hmac.c md5.c, cram-md5, ...) with LGPL so that they can be used in proprietary software to access Bacula if so desired. - Move Director's AutoChanger doc to correct location (in Storage resource). - Document why trademark (to protect compatibility). - Implement and turned on Bacula tape format 11 (also BB02). This format moves the VolSessionId and VolSessionTime from each record header into the Block header. This is MUCH more efficient when reading records as now whole blocks can be skipped. Also added JobStatus in End Of Session record, and added MD5 for FileSet, which is necessary to insure uniqueness. - Implement a new Bacula time format for btime_t. It is Epoch time in microseconds (i.e. base 1 Jan 1970 in microseconds). This replaces previous floating point times. - Added Win32 extended attributes. In doing so, I moved all attribute handling from src/lib into src/findlib. Added new streams for Win32 attributes and for GZIP Win32 attributes. - Modified "Accept Any Volume" so that it really permits any volume in the pool to be mounted. - Removed "Mount Anonymous Volumes" from Storage daemon config. - Implemented sparse files. You must add "sparse=yes" on the include line for it to be enabled. - Print "None" in backup summary rather than 0.0% if there is no compression enabled. - Improved error checking in daemon connection/authentication code to prevent garbage data from harming a Bacula daemon. - All daemon tools MUST have a config file. - Completely strip drive specification on Win32 if a Where prefix is specified. - Corrected DB info for writing to files. Now the File Address is stored in File-Block variables in the catalog. - All Storage daemon tools now use common code for acquiring/reading Volumes. - If a device is unmounted, report it even if the device is not open. This will help inform users who have BLOCKED Bacula by unmounting a drive. - Fixed a major bug found by Johanes Kalbus where I forgot the O_BINARY option when creating a file on Windows for restoration. On some systems this caused binary files to be corrupted, and the file size would in general change.