From: Kern Sibbald Date: Mon, 31 Oct 2005 08:53:37 +0000 (+0000) Subject: Update ReleaseNotes and ChangeLog X-Git-Tag: Release-1.38.0~8 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f9bebd0cfc10612bd85080aaadb2f06f5a88abbf;p=bacula%2Fdocs Update ReleaseNotes and ChangeLog --- diff --git a/docs/techlogs/2005/CL-1.38.0 b/docs/techlogs/2005/CL-1.38.0 new file mode 100644 index 00000000..653ad4c6 --- /dev/null +++ b/docs/techlogs/2005/CL-1.38.0 @@ -0,0 +1,1574 @@ + +Released as 1.38.0 28Oct05: + +Changes to 1.37.42: +26Oct05 +- Don't overwrite pthreadVCE.dll or msvcr71.dll during Win32 + install. +- Update README.win32 instructions. +25Oct05 +- Make db_get_job_record() return Name so that the ACL + can be checked. Fixes bug #446 +22Oct05 +- Insure that all the SD tools init the Autochanger + resources. + +Changes to 1.37.41: +22Oct05 +- Print error message if no Changer Command found. +- Apply fix from Martin Simmons to clear structure before + using it in IPADDR -- fixes a bind() bug on AIX. +14Oct05 +- Add NetBSD fstype patch from Geert Hendrickx +- Update num_parts only when writing to DVD. +13Oct05 +- Fix error conditions in bpipe.c DVD routine (terminate buffer). +- Use a bigger buffer 32K as suggested by Arno in bpipe.c. +- Increase dvd mount timeout with patch from Arno. +- Modify DVD code so that it keeps a state flag that indicates + when the freespace variable is valid. freespace_errno, now has + either 0 or an errno. There are no negative errnos. +- Create is_freespace_ok() to test state flag. Also, set_freespace_ok() + and clear_freespace_ok(). Modify code to use them. This + simplifies a bit the logic of the freespace code. +- Edit 64bit debug values correctly in dvd.c +- Fix %e variable to check num_parts rather than part. +- Use static buffer instead of static buffers for FI_to_ascii() + and stream_to_ascii() debug routines in SD. This is to prevent + possible race conditions between two threads (possibly Phil's + unmount problem). +12Oct05 +- Add a .dir command that separates arguments with commas. It + is intended to be used in the tree routines to get a + machine readable output for GUIs like wx-console. +- Make configure set dvd-handler to have execute permission. +- Install dvd-handler as is done for other dvd-xxx scripts. +- In block.c call dvd_write_part() to write last part rather + than dvd_open_next_part(). +- Prefix some DVD subroutines with dvd_ +11Oct05 +- Add extra debug to Update media error for VolFiles decrease + error. +- Do not update dev->file on set_ateof() for non-tape. +10Oct05 +- Mark DVD volume in error if part cannot be written. +- If a DVD is mounted, unmount it before asking operator + to mount an different one. +- Add Arno's dvd-handler script to the scripts directory and + integrate with configure. It replaces both existing scripts. +- Make default schedule start at 23:10 +- Implement gui release in Makefile. It creates two .tar.gz + bacula-web and bimagemgr. +08Oct05 +- Add README plus tar release to gui project. +- Manual documentation +- Tweak bacula.man doc +- Add PRAGMA synchronous = NORMAL; to SQLite3 tables. This + speeds up SQLite3 so it is only about 10% slower than version + 2.xx. Thanks to Russell Howe for this tip. +- Add msvcr71.dll to pebuilder .inf file as it is needed by + Bacula FD. Thanks to Brandon for passing this fix to Scott. +05Oct05 +- Add VolumePurged method to Python JobEvents class. Fixes + bug #428 (I think). +- Add JobId index to File table for MySQL. +- Correct tray-monitor crash of bacula-dir. qstatus_cmd() + code referenced the wrong pointer. Fixes bug #438. +- Add bacualnovss.mak file from Martin. +- Remove Pool from restore string in wbrestorepanel.cpp. Patch + from user for bug #433. +- Correct code in wbrestorpanel.cpp with misplaced parens. Patch + from user for bug #431 +- Correct printing filenames/date/times in wbrestorepanel.cpp due to bad + column alignment. Patch from user for bug #432. + +Changes to 1.37.40: +01Oct05 +- Add fix to compat.h supplied by Martin Simmons that permits + building the Win32 FD without VSS. +29Sep05 +- Bring cats/bdb_x.c routines up to version 1.37 (return values + are different). +28Sep05 +- Integrate libwrap patch from Szechuan Death. They should + also fix bug 423. +- Clean up patches directory for next release. +- Add PS variable in bacula.in script as recommended by a user. +- Correct mtx-changer.in so it only creates a temp file when + actually needed. +- Add patch supplied by user in a bug report to fix gnome2 + console buttons. +- Add patch from Peter Eriksson to correct + NLS error in tray-monitor.c +26Sep05 +- Add code to catalog_update to detect NULL db pointer. +- Remove char *msg argument from catalog_request and + catalog_update(). +24Sep05 +- Fix mode change open in btape.c +- Use nonblocking opens on Linux only. +- Move set_blocking code for tapes into method to + simplify main line code. +- Cleanup the code for ensuring we advance tape on fsf. + This should fix IBM problems -- patch from Adam Thorton + was very helpful. +- Remove test for BMT_EOD in fixup_device... this eliminates + need for status_dev() routine. +- Before doing label ensure device is in read-write mode. + +Changes to 1.37.39: +20Sep05 +- Tweak daemon.c berrno, copyright. +19Sep05 +- Fix handling of temp file in mtx_changer.in, reported as + a security bug, but it is not really. Bug #422 +- Fix security problem of handling temp file in randpass. + Bug #422. +- During label/relabel, add new_volume to VOLRES list in SD. +18Sep05 +- Apply Landon's patch for the TLS ANS1 API change. +- Remove old code. +- Make single exit path in first_open_device(). +17Sep05 +- Make new_volume walk through all Vols looking for dev + to release. +16Sep05 +- Make "quit" command in console always allowed. +- Remove the storage list between each console command to + keep Dir from remembering a previously selected SD. +- Add code to reservation VOLRES subroutines to try to ensure + we don't end up with two Volumes on the same drive. +- Simplify the mutex code in VOLRES a bit to reduce the chance + of error. +15Sep05 +- Apply Nicolas' dvd-freespace.in patch. +- Make sure SQL table names are not translated. +- Eliminate incorrect message saying barcodes not + found in "label barcodes" -- fixes bug report. + +Changes to 1.37.38: +07Sep05 +- Add ability to have passwords on backup of catalog as + alternate 3rd argument. Submitted by Andrew Ford + +- Turn off TapeAlert by default if user enables a Device + and add a note to install mtx. +04Sep05 +- Fix out of order volumes during restore. + +Changes to 1.37.37: +30Aug05 +- Final tweaks to build Win32. +- Enable debug code in ua_label.c +- Remove devices from the Volume list even if no + Volume is in drive. Hopefully this fixes Arno's problem + of multiple volumes listed in the same drive. +28Aug05 +- Apply Landon's patch for TLS default values. +- Correct LOCALEDIR problem in build of Win32 +- Correct ssize_t problem in build of Win32 +- Add code to llprint pools and volumes to debug next item. +- From bug report, fix resetting Pool defaults in Volume. It + was a typo "Max" was missing in several places. +- Don't allow translation of database Volume Status values. + +Changes to 1.37.37 released 26 Aug 05 +24Aug05 +- Ensure that the drive is closed before calling the + mtx-changer script so that the script can access the drive. +- Add drive name to reserved Volume list printout in SD. +23Aug05 +- Fix bug in acquire.c that incorrectly reported volume + busy. +- Add additional debug code and messages in reserve.c +- Eliminate unwanted warning message in reserve.c + +Changes to 1.37.36 released 22 Aug 05 +20Aug05 +- Landon's fix for NLS detection +- Eliminate incorrect compiler warning on FreeBSD. +- Move Win32 errno message build into berrno constructor. +- Minor Win32 tweaks +19Aug05 +- A number of minor Win32 fixes. +- Remove a PostQuitMessage() as suggested by Thorsten so that + BartPE restore can work correctly. +- Fix for create JobMedia so that VolIndex remains valid even + during a delete Job or pruning -- bug 402. +- Minor tweak for Win32 build. +18Aug05 +- Win32 fix -- remove debug O_NONBLOCK code. +- Fix bug 399 -- make_catalog_backup does not work for sqlite3 +- Implement unloading a volume in a different drive if it + is needed in the current drive. +- Implement search for unused autochanger drive. +- Implement search for exact Volume in reservation before + other searches. +- Fix picking up drive in Dir so that it is not done in + the status command. +- Eliminate double check on "loaded" for autochanger. +17Aug05 +- Start coding better reservation algorithm +- Always look for slot for label command. +- Add more debug code for autochangers. +- Apply fix from Stephan Leemburg for + improper scanning of schedule resource: + Run = Level=Full Pool=Catalog daily at 1:20 +- Apply patch from Chris Lee for + adding --enable-build-dird --enable-build-stored. +- Tweak datadir definition in configure.in +16Aug05 +- Fix bug that missed drive=nn specification. +- Eliminate nonblocking kludge in heartbeat of FD as + it caused high CPU usage. +- Pickup loaded slot when doing open() of tape drive. +- Make autochanger reservation code go through full list + first pass until exact match found. +15Aug05 +- Fix how FileSet is saved in job record to correct continual + Full save. +- Make datadir print on config.out listing. +- Move get FileSet record up in backup init to eliminate continual + Full save seen by Peter Sjoberg. +- Add VolumeName to read-only Python variables. +- Add VolumePurged event for Python. +- Suppress /dev/ Filesystem change prohibited INFO messages. +- Do not delete FT_RAW files before restore (allows FIFOs + to be used for restore). +13Aug05 +- Add drive specification to mount, unmount, release, label, + and relabel for Autochangers. Note Dir<->SD protocol has + changed. + +Changes to 1.37.35: +12Aug05 +- Disable parts of NLS as the configure does not work here. +- In job backup init (backup.c) define definitive Job level and + since time, *then* apply Job Pool override selection if any. +11Aug05 +- Modified bconsole script so that it is improperly + installed, it will refuse to execute. This avoids + recursive call loops. + +Changes to 1.37.34: +06Aug05 +- Apply David's ACL fix to src/filed/acl.c +05Aug05 +- Apply patches sent by David Duchscher for + making ACLs work on MacOS X and FreeBSD. +04Aug05 +- Apply patch in bug#397 that improved configure + - find readline under $with_readline/include/readline + - no libutil under Solaris + - no need for -ldl under Solaris +- Make reservation system single threaded during the + search to avoid two threads competing for the same + resource. +- Correct a return code in find_suitable_device_for_job() + Possibly cause of "busy writing to another volume". +03Aug05 +- Modify open() for tape so nonblocking really works. +- Use fcntl() to reset blocking status rather than close() + and reopen the drive. +- Make sure dev->open() is always called so that any change + in read/write permissions will occur. +- Open drives initially in daemon in read-only mode. +- Ensure that each time the VolHdr.VolumeName is zapped + or changed that free_volume() is called on the old name. + +Changes to 1.37.33: +03Aug05 +- Require 5 arguments to mtx-changer except list and slots +- Turn -EPIPE status returns from bpipe to ETIME +- Include Slot in SD status output +- Do not term_dev() during initialization in SD if the device + could not be opened. In the case of a tape drive, there may + be no tape in the drive. + +Changes to 1.37.32: +02Aug05 +- Correct PostgreSQL database scripts as suggested by a user. +- Add additional info to FATAL message generated when a device + is busy writing to another volume. +- Suppress an inappropriate NULL Volume name message after a cancel. +- Correct a warning message in reserve.c +29Jul05 +- Apply user's patch to make mutiple modifiers for times + work correctly. +- Make read_dev_volume_label() handle ANSI/IBM labels + correctly -- ie space over any label at the beginning + of the tape. +28Jul05 +- Make ANSI/IBM writing of HDR1/2 labels ignore any + errors if at end of tape. +- Apply Martin's patch to improve Python detection in + configure.in +- Temporarily turn off disk seeking until I find the + cause of the problem. +27Jul05 +- Add OSF1 patch supplied by user. +- Use number of files selected from write_bsr() only + if it is not defined. +- Explicitly seek to end of file when getting size for + restore test. +- Correctly set EndBlock position in JobMedia record + for files. +- Remove unnecessary set StartBlock in bscan. Caused bscan + regression error. +26Jul05 +- Modify mtx-changer to wait a maximum of 300 seconds. +- Do restart of failed jobs only for Backups job types. +- A number of DVD updates from Nicolas. +24Jul05 +- Turn off old service helper code in Win32. +- Correct Messages bug found by Phil in stored. +23Jul05 +- Complete (almost) documentation of 1.38. +- Add error messages for error conditions with VSS. +- Fix additional problems with VSS backup that I introduced. +Changes to 1.37.31: +22Jul05 +- Correct compiler complaints in wx-console and tray-monitor. +- Correct VSS problems recognizing c: +- Add VSS before job status +- Fix output of status from being one big line. +- Change cd xx; make to cd xx && make as suggested by Phil. +- Cleanup projects file +- Remove unnecessary casting of FF_PKT in filed. +- Apply Thorsten's bugfix for vss_generic.cpp +- Add check for df path for dvd_freespace +- Use df to get space used on DVD. +- Change sense of flag indicating erase DVD or not before writing. +- Fix bpipe so that it never modifies the result pointer. +- Replace more dev_name by print_name(). +- Rewrite edit_device_codes_dev() so it does not overwrite the + supplied buffer. +- Update printing of labels (for bls) so that critical information + is printed (Job name and timestamp). +- Cleanup old spool files when starting the SD. +- Modify vss.cpp to allow C: as a path name. Otherwise VSS + doesn't work when only a drive name is given. +- Modify vss.c to eliminate double / in filenames. +- Update doc -- particularly the restore chapter. +18Jul05 +- Make all files in working directory have .xxx at end. +- Work on DVD writing. +- Fix keepatime bug (bugs database). +- Move Python variables from Job to Bacula. They are + DirName, Version, ConfigFile, and WorkingDir +- Fix delete of bootstrap to only occur on Bacula created + filenames. +- Allow cancelling a Job name that is not active. It is + sent to the daemons. +17Jul05 +- Fix name space pollution by OpenSSL 0.9.8 reported by + Matthias Kurz -- applied his patch. +- Fix bpipe.c so that it does not modify results pointer. + ***FIXME*** calling sequence should be changed. +- Remove some remaining references to dev_name. +- Fix calls to mount_dev() and unmount_dev() to + correspond to returned value (bool instead of int). +- Try without success to make DVD writing work. +== Nicolas +15Aug05 + - Convert dvd-writepart to Python. + - Increase delay from 3 seconds to 5 seconds between SIGTERM and SIGKILL when + killing external programs. +13Aug05 + - Add gettext macros in autoconf/gettext-macros. + - Modify how localedir is set in configure.in. + - Remove setlocale check (useless). +10Aug05 + - Mark translatable strings in all source files. +08Aug05 + - Create French and Italian translation files (fr.po, it.po). + - Add support for translation in configure and Makefiles. + - Update autoconf/aclocal.m4 so it is automatically created with aclocal + (Note: autoconf/gnome-macros is not used anymore, it may be removed). +30Jul05 + - Fix src/lib/bpipe.c:run_program and run_program_full_output to detect if the watchdog + killed the program, and return an error if it is the case. +26Apr05 + - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter + - lex_open_file now returns NULL if the file can't be opened. All calling functions have + been adapted. + - Remove set_exit_on_error function +07Apr05 + - Fix "unknown device type" problem with DVD devices. + - Fix crash when there is no media in the DVD drive. +09Jan05 + - Update the documentation and ReleaseNotes. +05Jan05 + - Add FreeSpaceCommand in Device (SD configuration file) and implement it. + - Some modifications (again) on how guessed volume names are handled (now it should work). + - Part files on the hard disk are removed if they are empty. +04Jan05 + - Major fixes on how guessed volume names are handled. + - Minor fix in src/stored/append.c. + - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c. + - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD. +03Jan05 + - Add WritePartAfterJob directive in Job resource (Director) + - Add WritePartAfterJob directive in Schedule Resource (Director) + - Implement these new directives +02Jan05 + - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume + name of a mounted device, so the label can be read. + - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W). + - Removed WriteFirstPartCommand directive in Device (SD configuration file). + - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev). +01Jan05 + - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file). + - Implement these directives (volumes can now be restored from a manually written DVD). + - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file). + - Implement these directives (DVD writing now works). + - New function run_program_full_output in src/lib/bpipe.c. + - Lots of bugfixes and cleanups in the new code. +29Dec04 + - Add VolParts field in Media table + - Add MaximumPartSize directive in Device (SD configuration file) + - File Volumes can now be splitted in multiple files ("parts") + - Fix SQL error in sql_list while doing "llist jobmedia" + +Changes to 1.37.30 released 16 July 2005: +14Jul05 +- Fix "dir" command scanning field misalignment in + wx-console. +- Switch to using the wxWidgets Unicode library. +- Include msvcr71.dll in distribution. +- Add VSS to status line in Win32 FD if enabled. +- Get VSS build scripts working with Thorsten's help. +- Unlink the bootstrap file after sending it to + the FD. +- Remove sending include/exclude lists to the FD during + a restore -- deprecated code. +- Cleanup the bootstrap files in the FD. + +Changes to 1.37.29: +14Jul05 +- Remove old commented out code from configure.in +- Add baculavssfd.mak file for building VSS version of + Win32 FD. +- Correct date (year) in vss.cpp and vss_generic.cpp +13Jul05 +- I finally found and squashed the elusive SD crash. + I needed to initialize the used volume list before + firing off the device initialization thread. +Changes to 1.37.28: +11Jul05 +- Make sure that bpipe results are zapped even on + error return. +- Lots of documentation. +- Do not prune volume marked as append when needing a + new Volume. +- Print a warning message in SD if a non-used Volume + is specified and autolabel not turned on. +- Correct a bug in chksum.c concerning SHA1 signatures + (an * should have been & when checking for a bit flag). +- Print File:Block for all label records in label.c -- concerns + primarily bls when doing Job listings (-j). +- Correct is_volume_in_use() to return false if testing + on the same device where the Volume is already mounted. +- Define a init_done flag in the SD that is set when the + devices are initialized and make users connecting wait. + This prevents useless connect failure warning messages. +- Do additional device locking in ask_op_to_mount_volume() + to prevent race conditions with a user labeling a Volume + or autolabeling. +09Jul05 +- Add a test for error return from bnet_wait... in heartbeat.c + in FD to avoid CPU loop. +- Implement TLS in gnome console and wx-console. + +Changes to 1.37.28: +08Jul05 +- Correct a NULL pointer reference in the mount command. +- Correct typo in Copyright +- Add detection of EOM for IBM drives (i.e. errno == ENOSPC) +07Jul05 +- Remove temp file created in mtx-changer script. +- Make fsf_dev() into a class method. +06Jul05 +- Modify mtx-changer.in script to return slot:barcode for + Volumes that are loaded in the drives. +- Correct some more places where dev->is_blocked() needs + to be checked in dircmd.c in SD. +- Update doc. +05Jul05 +- Add code to ensure that reserved but unused volumes + are freed. +- Correct how Volumes are mounted and handled so that the SD + does not get stuck if multiple volumes are used (recycling, + relabling, ...) +- Correct bug where you could relabel a volume while it + was being acquired -- created chaos. +04Jul05 +- Correct seg fault caused by open() calling sequence change. +03Jul05 +- Add new rc-chio-changer script by Rudolf Cejka to + examples/autochangers +- Apply Rudolf's changes to bacula.in +- Expand the space from 8 to 10 characters in editing + file sizes for restore and dir of catalog, otherwise + GB sizes are truncated -- fixes bug report. +- Modify wx-console to know about 10 character widths. +- Allow decending into top level directory if "recurse=no" + is set. Fixes a bug report. +- Install pthreadVCE.dll when installing console or wx-console + on Win32 systems. Fixes bug report. +02Jul05 +- Tweak dvd-writepart script to prevent door from opening/closing + so much. +- Remove GROUP BY in several PostgreSQL commands to prevent error. + Resolves bug report. +- Ensure that < as first character of filename list is not treated + as a directory for restore. +- Add debug to heartbeat in FD as it seems to go into an + infinite loop from time to time during SD failure in DVD writing. +- Add more debug code to dvd writing. +- Attempt not to destroy existing fs on DVD. +30Jun05 +- Detect device mounted for DVD and suppress be sure to + mount message after label. +- Set Cleaning tape status to "Cleaning" and force no + MediaType. +- Get DVD writing working with new standard Bacula open() + code. +- Rename get_filename() to make more sense. +- Detect "is already mounted on" on mount command so to avoid + error if device is already mounted. +- Eliminated guess_name() code. It may be necessary to + add it back later. +- Eliminate seg fault from printing invalid results. +- Make dvd_write_part() bool. + +29Jun05 +- Attempt to fix DVD writing by eliminating a number of the + DVD subroutines to simplify. +- Modify DEVICE::open() to take dcr as first argument. This + will permit providing more info to DVD opening. +- Fix scanning for time/size items which in some cases + ate the next line. +- Eliminate read_dvd_volume_label(). New code (not yet written) + *must* open dvd appropriately before calling + read_dev_volume_label. +- Modify open_first_part() open_next_part() to take DCR as + argument. +- Make label command from console work on DVDs. +- Make mount command from console work on DVDs. + Unmount does not work yet. + +Changes to 1.37.27: +27Jun05 +- Add Database vendor to CatalogRes tuple for Python. +- Update doc +- Implement DoesVolumeExist(Vol) for Python. +- Prevent python command from seg faulting if no arg given. + +Changes to 1.37.26: +26Jun05 +- Add set_mode method in DEVICE. +- Correct set_mode method in DEVICE +- Add more DVD debug info +23Jun05 +- Check for incorrect duration and size modifiers in conf files. +22Jun05: +- Make Version a tuple (version, build-date) +- Add CatalogRes tuple (DBName, Address, User, Password, + Socket, Port) +- Add Version, ConfigFile, and WorkingDir as Python attributes + in the Director. +- Implement code (principally for Win32) that on failure to + create a file, it will cd into the directory and attempt + to create the file using a relative path. This avoids creating + files with paths which fail on Win32. +- Fix parsing of times and sizes with decimal numbers. +- Make free_volume_list() in SD work if vol list is not + initialized (./bacula-sd -t). +21Jun05: +- Add debug error printout when open() fails. +- If open() of DVD fails in mount.c, return false. +- Split open() code for DVD into separate subroutine in dev.c + +Changes to 1.37.25 released on 20 Jun 05: +20Jun05: +- Fix bug where Storage daemon gets confused about what + tape is mounted. (one line of code was inadvertently + deleted). + +Changes to 1.37.24: +18Jun05 +- DVD writing/reading seems to be mostly working. +- Set execute bits on dvd-freespace and dvd-writepart +- Make dvd-freespace use existing dummy file. +- Modify dvd-freespace to pickup size from Track Size: +16Jun05 +- Add Date, Job, level to updates to .bsr file in + dird/backup.c +- Add debug info to dvd-freespace.in +- Fix hard coded bacula.sql in make_catalog_backup reported + by a user. +- Make sure a verify volume to catalog never reports an error + if there are zero files to verify. +- Remove confusing debug info in filed/backup.c on network + error. +- Make sure output from console is not sent to system log. +- Convert open_dev() into a class method. +- Change VolHdr.VolName to VolHdr.VolumeName. +- Add a flag in the device state word to indicate that + we found Media in the drive (DVD). +- Make mount_dev() and unmount_dev() return bool. + +Changes from Nicolas Boichat: +26Apr05 + - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter + - lex_open_file now returns NULL if the file can't be opened. All calling functions have + been adapted. + - Remove set_exit_on_error function +07Apr05 + - Fix "unknown device type" problem with DVD devices. + - Fix crash when there is no media in the DVD drive. +09Jan05 + - Update the documentation and ReleaseNotes. +05Jan05 + - Add FreeSpaceCommand in Device (SD configuration file) and implement it. + - Some modifications (again) on how guessed volume names are handled (now it should work). + - Part files on the hard disk are removed if they are empty. +04Jan05 + - Major fixes on how guessed volume names are handled. + - Minor fix in src/stored/append.c. + - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c. + - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD. +03Jan05 + - Add WritePartAfterJob directive in Job resource (Director) + - Add WritePartAfterJob directive in Schedule Resource (Director) + - Implement these new directives +02Jan05 + - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume + name of a mounted device, so the label can be read. + - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W). + - Removed WriteFirstPartCommand directive in Device (SD configuration file). + - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev). +01Jan05 + - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file). + - Implement these directives (volumes can now be restored from a manually written DVD). + - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file). + - Implement these directives (DVD writing now works). + - New function run_program_full_output in src/lib/bpipe.c. + - Lots of bugfixes and cleanups in the new code. +29Dec04 + - Add VolParts field in Media table + - Add MaximumPartSize directive in Device (SD configuration file) + - File Volumes can now be splitted in multiple files ("parts") + - Fix SQL error in sql_list while doing "llist jobmedia" + +Changes to 1.37.23: +- Renamed to make unique version for open_next_part() + changes. + +Changes to 1.37.23: +- Renamed to make unique version for open_next_part() + changes. + +Changes to 1.37.22: +14Jun05 +- Fix the same state variable problem in open_next_part(). +- C++ify the SD code a bit more. +13Jun05 +- Add more debug code and clarify debug code for DVDs. +- Do not save and restore state in open_first_part() + since state should be properly set after open_dev(). +- Make default mandir /usr/share/man +- Install Bacula man page. +- Implement passing of FileSet Enable VSS to FD. +- Move main body of reserve drive code into subroutine + so that it can be called multiple times. +12Jun05 +- Eliminate getpass() for Win32 builds in console as the + function does not exist. +10Jun05 +- Correct some reservation problems in SD when no devices + are available. +- Start removing #ifdef HAVE_TLS by sneaky tricks. +- Begin implementation of TLS in wx-console +- Remove ignoring SIGCHLD from console. +- Rework the dlist binary search routines for implemenation + of the Volume reservation code -- make it more general. +- Strip double slashes // from Win32 filenames in an attempt + to resolve restore problems on some systems. +- Fix a minor bugs in the trace code that caused the first + line output to be lost. +- Implement a good first cut at adding Volume reservation code + to the storage daemon (in file reserve.c). +- Remove old unused code from the tree.c routines. + +Changes to 1.37.21: +06Jun05 +- Fix compile problems on Win32 +- Start writing Volume reservation list (already exists, but + is not really very good). +- Implement attribute caching to put Signature into database + at the same time as the file attributes thus eliminating a + number of database accesses. +- Correct a reservation problem. +- Implement full Dir Storage use. +- Reduce a bit of TLS #ifdeffing. + +Changes to 1.37.20: +04Jun05 +- Minor changes +01Jun05 +- Add more documentation to mtx-changer.in +- Correct link to manual in authenticate.c in various + directories. +- Create a new src/stored/reserve.c file where the + Use Storage command is processed and drives are + reserved. +- Modify src/stored/autochanger.c to keep track of each + Slot that is loaded for each device. +- Ensure that changer_command and changer_name are picked + up from Autochanger resource if not specified, and if + neither is specified, err. +30May05 +- Fix bextract.c compile problem +- Create bacula.man +- Make make distclean clean a bit better +29May05 +- Remove old code in jcr.c +- Make testls release jcr chain when terminating. +27May05 +- Implement Maximum Job Spool Size (actually DCR based) +26May05 +- Use light weight non-recursive locking on jcr chain. +- Make JCR a class and implement inc_use_count() and + dec_use_count() methods that ensure that the jcr is + locked when inc/dec the use count. +- Remove the global jcr lock when traversing the jcr + chain. +- Use dlist to implement the jcr chain rather than hand + crafted next and prev links. +- Lock the jcr chain inside each function that modifies + the chain. + +Changes to 1.37.19: +26May05 +- Fix compile problem of ua_restore.c on broken compilers. +- Apply patch from bug 326 to permit bacula status by any user. +- Fix bug 325 -- conversion of 12:30pm to 24hour time. +25May05 +- Put Dmsg() on inside if() to avoid calling subroutine. +- Make restore.bsr have unique name. +- Allow user to define bsr filename on restore command line + with bootstrap=xxx.bsr +- Add limit=nnn to "list jobs" command. +- Remove old restore code that did not use .bsr file. +- unlink automatically generated bsr file. +- Cleanup heartbeat code so that duped fd is almost sure + to be released. Previously under certain conditions, the + memory was not released due to race conditions. +- Shorten copyright. +20May05 +- Unify the reserve_device() for a single device into one subroutine. +18May05 +- Modify wait during use_device to happen only after all devices + have been examined rather than in the reserve_device code. +- Correct updating count of number of Volumes in a pool. + +Changes to 1.37.18: +16May05 +- Add more debug to SD for Autochangers + status output. +- Add Scratch to PoolType in PostgreSQL make...tables and do not + permit NULL PoolTypes. Fix for bug 319 reported by Eric. +- Update LICENSE. +- Add quotes around filename in parse_config error message. Bug + reported by Eric. +15May05 +- Change nested \include to \input so that sections are properly + included in the pdf manual -- update the Web site. +- Set reconnect flag in MySQL packet to 1 to ensure that connection + is re-established. MySQL 5 changed default to 0. Fixes bug report. +- Fix Scratch pool handling as reported in a bug by Eric Bollengier + by applying his patch. +- Remove delete job in favor of delete jobid. +- Add = NULL to configfile definitions as reported by Eric in a bug + report. +- Update winbacula.nsi.in to reflect new manual file structure. +10May05 +- Correct a minor build problem with wx-console. +- Add cancel() to Dir Python scripting. +- Re-correct bug in parse-config error handling. +- Reorganization of use_command in SD to permit + waiting and multiple drive autochanger support. +09May05 +- Correct bug in parse_config error handling. +- Where ever possible mark a volume in error or not + InChanger in mount.c +- Fix bug in changing tape pools after first backup. Reported + by Peter Sjoberg. +- Enhance mtx-changer to use Working Directory as temp. +- Remove all but initial setup locking of Res in SD. +08May05 +- Add Client OS type to Job report. +- Add version to manual +- Update the Web site to have a single page for + the documentation links. + +Changes to 1.37.18 release 08May05: +08May05 +- Correct attribute definition compile error in 1.37.17 +- Correct inverted order of CreateTime and MD5 pointed out + by a user in a bug report in FileSet db routine causing + the MD5 to print in the output instead of the time/date. + +Changes to 1.37.17: +07May05 +- Implement cstrlen() in sql list routines. +- Implement caching of attributes to add the + signature so that only one DB call will be made + per file. Not yet turned on. +- Fix Win32 build for TLS. +- Optimize File pruning to eliminate one database call. +- Fix bug that prevented File pruning from working. +- Implement a cstrlen() which returns the character + length of a UTF-8 string. +06May05 +- Move test for MaxStartDelay as suggested by Peter. +- Implement Python methods (I had to read the Python source + code). +- Implement run() method in Director. +- Add Priority and Scheduled time to Job report. +- Add JobInit and JobRun events. +- Add Priority as Python read/write attribute to Job. +- Correct typo in bsmtp reported by Jo. + +Changes to 1.37.16 (07May05): released 07May05 +07May05 +- Implement cstrlen() in sql list routines. +- Implement caching of attributes to add the + signature so that only one DB call will be made + per file. Not yet turned on. +- Fix Win32 build for TLS. +- Optimize File pruning to eliminate one database call. +- Fix bug that prevented File pruning from working. +- Implement a cstrlen() which returns the character + length of a UTF-8 string. +06May05 +- Move test for MaxStartDelay as suggested by Peter. +- Implement Python methods (I had to read the Python source + code). +- Implement run() method in Director. +- Add Priority and Scheduled time to Job report. +- Add JobInit and JobRun events. +- Add Priority as Python read/write attribute to Job. +- Correct typo in bsmtp reported by Jo. + +Changes to 1.37.16 (03May05): released 05May05 +03May05 +- Make a few tls ifdef tweaks. +- Fix create_file.c Win32 problem pointed out by + Peter Sjoberg. +- Fix really ugly bstrncpy() but found by Thorsten. +- Move winapi.h/c from findlib to lib for inclusion in + multiple places. +02May05 +- Thorsten Engel finished his work on Win32 Unicode. We + now have a single executable that runs on all Win32 machines. +- Move job initialization code after job scheduling so that + Verify jobs check for the prior JobId after they are really + started rather than before. +- Fix lib/fnmatch.c so that it does proper testing before folding. +- More documentation -- at tls and ansi labels chapters. +- Fix fileset_convert.pl to handle empty Exclude statements. +- Turn regex back off in Win32 +01May05 +- Fix sign extension problem in lex.c that reads UTF-8 + with Chinese characters incorrectly. + +Changes to 1.37.14: +30Apr05 +- Remove a few HAVE_TLS #ifdefs +- Implement final Python style interface. More implemention to + be done, but the interface should change little if at all. +28Apr05 +- Make default no tls support. You must add + --with-openssl to get tls support. +27Apr05 +- Update Web header to include google search in the search + box -- thanks to input from Michel Meyers. +- Fix md5sum so that it builds with the new openssl stuff. +- Take some enhancements to the md5sum test program proposed + by a user. +26Apr05 +- Apply Tru64 patch supplied by Pascal Pederiva +- Apply Unicode fixes for Win32 from "Thorsten Engel" + +- More work on Python read feature in FD. +22Apr05 +- Fix (hopefully) the ftello() overflow reported by Peter. +- Landon Fuller committed his TLS patch. +- Fixed two minor warnings in console.c with TLS turned off. +- Updated the Makefile.in for wx-windows and tray-monitor + to handle TLS. I can only build the tray-monitor. +- Fix bscan to open tape in read-only mode (actually fix + it so that it doesn't use the standard open routine). +- Correct what appears to be an error in setting the + return value in dvd.c +21Apr05 +- Get FD Python running -- design Python backup interface. +- Fix seg fault in SD when referencing Alert Command. +- More documentation. +- Fix one more thing in Win32 build. +20Apr05 +- Doc updates +- Fix Win32 build +- Put in production here + +Changes to 1.37.13: +19Apr05 +- Fix SQLite and PostgreSQL table creation script syntax + problems. +- Fix new Python code to work for Director. +- Move lib/python.c to lib/pythonlib.c so that debug output + is easier to read (can distinguish lib from dird, ...). +- Cleanup Python build so that Python is not dragged + into programs that don't use it. + +Changes to 1.37.12: +02Apr05 +- Reset NumVols in Pool record from database on every update + Pool. +- Modify DB to support multiple simultaneous copies and + RAIT stiping. +- Pass copy and stripe between DIR and SD and put into + the JobMedia DB record. +- Update and test SQLite and MySQL datebase creation and + update scripts. +- Implement version 9 of the DB. +31Mar05 +- Convert more atoi to str_to_int64() for DB. +- Implement filling in NumVols by querying DB rather + than trying to keep track of it. +- Add storage name to string passed to in use storage= +- Fix newVolume() so that the Python script is always + called. +- Fix handling of pool,PoolId, and storage in ua_output. +- Same fix in ua_status.c +- Remove required locking of resources +- Replace pthread_cond_signal() by pthread_cond_broadcast() + hoping to fix the /lib/tls hang problems (lost signal). +- Move resource locking seaching from parse_conf.c to res.c + in src/lib. +- Modify end of volume handling so that fixup_... does not + redo what block.c has already done -- writing Vol info to + DIR. This fixes a bug with bad numbers of files on a tape + when it filled as reported by Peter. +- In release_device() do not update the DIR on the Volume + info if the the information was already written at the + end of the tape. +28Mar05 +- NOTE!!!! This version has a new DIR <--> SD protocol. Both + must be updated at the same time. +- Begin implementation of passing all the Storage and Device + possibilities to the SD for examination during the reserve + phase. +- Modify the reserve and acquire code in the SD to make a + job wait if the device is not available. +- Implement New Volume Each Job in DIR and pass to SD, not yet + used. +- Remove init/update of the Device resource in DIR +- Remove passing PoolId to SD and back. +26Mar05 +- Remove \a and -e from error echos in most Makefiles. +- Add more debug code when there are errors on the tape + to try to find Peter's tape problem. +- Add wait.c (oops forgot previously). +- Move all the reserve/acquire_device_for_read/append to have + only a DCR as the argument. +- Rework the reserve_device_for_append() in stored to wait + if the drive is not available. Note! This is a short + term solution. +25Mar05 +- Comment out Multiple Connections in the document. +- Move the P() and V() to subroutines so that they can be accessed + from class methods. The reference to strerror() caused problems. +- Implement new DEVICE class methods block() and unblock() that + do what was previously done in 3 lines of code. +- Implement wait_for_device(), which will wait for any device + to be released then return. This requires a new global mutex + and condition variable, and is implemented in src/stored/wait.c +- Change the code in reserve_device_for_read(), which previously + failed the job to use the new device wait code. +22Mar05 +- Apply reschedule patch to 1.37 code. +- Add copyright to title page of manual so it is clear. +- Create patch for rescheduling problem found by Ludovic. Storage + pointers were lost during rescheduling. +- Attempt to fix 2.6 rescue disk -- failed! +- Start working on adding a wait routine in the SD. +- Cleanup some old invalid doc in watchdog. +- Convert a number of references to dev->dev_name to dev->print_name(). +- Add new wait.c file to SD. +- Add a few more methods to DEVICE in SD to cleanup code a + bit -- implement a few of the methods. +18Mar05 +- Fix more print_name()s for printing device name. +- Modify open_dev to try 10 times every 6 seconds to + open the device if it gets an I/O error (meaning no + volume mounted). This gives a bit of settling in time + for an autochanger and avoids spurious messages. +- Change all yes/no to yes|no in the manual. +- Fix win32 create_file.c typo. +- Fix a typo in an error message. +17Mar05 +- Detect if fseeko exists with autoconf. If so, use it + and ftello. +- Remove old bacula-*.conf from examples directory (out + of date). +- Remove latex-fr index files from CVS. +- Rewrite code that stops reading the tape so that the + tape is marked at EOT, then once the work is done, + the EOT flag is removed. +- Flush output to file after every send in console. +- Make setting VolFiles to smaller number fatal. +- Disable Multiple Connections code. +- Add patch from user for NetBSD statvsfs() fix to + fstype.c +- Take more care with errors in acquire.c +- Don't run through dvd code in append.c if bad status + returned. +- Modify code so that an autochanger fault is fatal. +- Use dev->print_name() in more places. +- Implement dev->can_steal_lock() to simplify code. +- Make btape re-read first 10000 records on fill command. +- Check error return and fail job from fseeko and ftello + in spool.c. Don't let a -1 slip in as size. + +Changes to 1.37.7: +15Mar05 +- Apply NetBSD patch from kardel in bug 258. +14Mar05 +- Add a second job and a second client to the default + bacula-dir.conf file. +- Remove old style Include/Excludes. +- Fix ANSI labels to put EOF1 and EOF2 after each file mark. +- Add Python to SD and FD. +12Mar05 +- Implement IBM labels +- Implement EOF and EOV labels at the end of a volume. +- Fix a rather ugly problem with the PoolId not getting + passed correctly. Now the DIR passes the Pool name and + Media Type to the SD, who passes them back when requesting + the next Volume. The DIR then looks up the correct PoolId. + This takes more time, but always works, AND allows wild + card Media Types (i.e. the SD can decide). +- The DIR <==> SD protocol has changed. + +Changes to 1.37.6: +11Mar05 +- Fix scanf of PoolId in catreq to handle 64 bit Ids. +10Mar05 +- Add new ua_update.c file and move update_cmd there. +- Modify "update slots" to obtain actual number of slots. +- Tweak autochanger code to handle new slots request. +- Modify autochanger code to lock/unlock around slots and + update slots code. +09Mar05 +- Patch the FD so that it does not issue an error message if + it attempts to restore the permissions on a Win32 drive. +- Edit "Resource-name" (physical-name) for the device name + everywhere in the SD. +- Remove .linked.tex files in preparation for cutover to + using .tex in place of .wml. +08Mar05 +- Copy latest config.sub and config.guess from autoconf. +- Try new way of identifying drives with: + "resource-name" (physical-name) + More work need to a complete conversion. +07Mar05 +- Rework some of the autochanger data so that the DIR has + the number of drives. +- Modify the way the Device info is returned so that it comes + back as a special message type and can be sent anytime the + Device status changes. +- Copy the change name and changer command into the device + record if none is specified. +- Require the change command and changer name to be specified in + and AutoChanger resource. +- Force all the Media Type records of all devices in an Autochanger + to be the same. +06Mar05 +- Add new "run" command to Job resource in DIR. This permits + cloning a job as many times as you want. +- Pass PoolId to SD on Query request. It is now used in the + Find_media catalog request. +- Reworked the Device resource in the DIR. Eliminated num_waiting + and use_count, but added max_writers, reserved, and PoolId. +- This DIR is nolonger compatible with previous SDs. +- Add since and cloned keywords to the Console run command + to support cloning. +- Implemented store_alist_str() to allow multiple string items + to be specified in a .conf file. +- Added %s (since time) to Job code editing. +- Reworked reserving drives in the SD. It now does it much simpler + and correctly. +05Mar05 +- Integrate HP-UX patch from Olivier Mehani +- Fix FD job.c to test correctly for no level. + +Changes to 1.37.4: +04Mar05 +- Change Developers to Developer's Guide as requested by Michael. +- Fix developers link in manual +- Add additional dcr changes in SD to allow multiple dcrs. +02Mar05 +- Fix a few problems with the MySQL table create in 1.37. +- Delete the new tables in the table delete files. +- Increase the number of items permitted in a conf table. +- Make Director loop over alternative Devices specified in the + Storage resource until one is reserved by SD. +- Fix storing of StorageId in Media records. +- Add AutoSelect = yes|no in bacula-sd.conf +- Add Autochanger support to Label command. +- Do not autoselect devices with autoselect set false +01Mar05 +- Implement setting DIR Storage device to Autochanger + name. +- Select first available device in Autochanger. +- Pass back actual device name used. +- Allow Query of AutoChanger. +- Modify Query to include name of AutoChanger if + Device belongs to one. +- Remove old Pool code in jobq.c +- Add Autoselect flag to query and DEVICE class (still + need Directive). +28Feb05 +- Lock autochanger script when running. +- Mark Volume not InChanger if correct volume is not + autoloaded. +- Corrected some typos in the make_xxx_tables.in files. +- Made preliminary split of pre-run and run code for each + job type. This will permit early opening of SD for reserving + drives. +- Add offline and autochanger fields to Device Query record. +- Correct pthread_mutex_init() for autochanger in SD. +- Tweak Makefile for LaTeX manual, plus add nav buttons. +26Feb05 +- Clean up drive reservation system. Add more sanity checks. +- Implement a few more methods for the DEVICE class in SD. +- Add latex directories to make clean +- move DEV_BSIZE to B_DEV_BSIZE to avoid conflicts with + certain header files (FreeBSD). +24Feb05 +- Fix an ASSERT that was triggering in stored/acquire.c + attempt to fix a bug report. +23Feb05 +- Corrected SunOs to SunOS in btraceback (user submitted). +- Applied patch from Roger Haa¥kansson + to warn the user of defective AWKs during ./configure. +20Feb05 +- Add some changes submitted by a user for HP client build. + Not all changes accepted. +- Rework code in filed/backup.c to ease #ifdefing and make + program flow more obvious. +- Split DVD code out of dev.c into dvd.c +- Tweak #ifdefing to add back all the performance measurement + #defines in version.h +- Put most of MTIOCGET code in a subroutine to simplify the + mainline code. +- Make clean remove old CVS files +- Remove unnecessary image files from Latex directory +- Implement remaining parts of Storage DB record and + its use in the Director. +- Implement + FullMaxWaitTime, Differential Max Wait Time, and + Incremental Max Wait time in Job resource. +- Start work on SD Autochanger code. +19Feb05 +- Add back JobId index for MySQL as default -- speeds up + pruning. +- Add more database fields and fix the update scripts to + include the new items. +- Pass actual level to FD so that ClientRun editing can reflect + correct level -- ditto for job status. This makes the DIR + incompatible with older clients! +- Move jobq.c acquire resources to static subroutine so that + the code logic becomes clearer. This is in preparation for + actually using the new Device resources. +- Fix some lower case problems in sql_cmds.c reported by + Debian. +- Correct a seg fault in the SD reported by a user. Occurred + only when a high debug level was set. +- Modify init_dev() in dev.c to take JCR as first arg so that + proper error messages can be reported in next item. +- Modify the query and use device SD commands to attempt to + open the device if it could not previously be opened. +- Correct error message for Could not reserve device. +- Correct some minor details with Autochanger resource in SD. +18Feb05 +- Fix seg fault if debug level 900 set in SD. +- Truncate Win32 child return code to 8 bits. +- Remove some old lld's. + +Changes to 1.37.3: +16Feb05 +- Make another attempt at fixing the ClientRunXXX return code + bug on Win32 machines. +- Apply ua_status patch from Carsten Paeth + which enforces console ACLs in the status command for Jobs. +15Feb05 +- Fix Media LabelDate and FirstWritten to be correctly set. +- Fix deadlock in multiple simultaneous jobs. +- Fix tape "truncation"/"number of files" after restore bug. +10Feb05 +- Ensure that correct error messages are returned when + reading an ANSI label. +09Feb05 +- Modified ANSI label code to preserve any ANSI label + already found by skipping over it rather than rewriting + it. +- Split the ANSI label code into ansi_label.c +- Do not let user relabel an ANSI labeled tape. +- Applied a patch for the console help command supplied + in a bug report. +- Added some new dev methods. Most notably was + set_eof(), which handles setting all the dev variables + when an EOF is just read. This is now used most everywhere + in the code. +07Feb05 +- Added code to detect that no files were inserted into the + tree for a restore. If a specific JobId was specified, the + user has the option of restoring everything. +- More progress in implementing 64 bit DB Ids. +- Modified the daemon start messages for RH. +- Implement update scripts for all database types. +- First cut at implementing restore directory (it will not + recurse). +04Feb05 +- OK, I think ANSI labels work. +- Added Label Type = ANSI|IBM|Bacula to Device resource in SD. + If this is set, it will force writing of the appropriate + label type. +- Added Check Labels = yes|no to Device resource in SD. If this + is set, Bacula will check for ANSI labels and accept them, + otherwise, ANSI labels will not be accepted when the tape + is first mounted. +02Feb05 +- Second cut ANSI labels. +01Feb05 +- Merge Preben's patch for ACLs and for Mac OS X resource forks. +- Some doc updates. +- Display more informative message when a device was not + found or could not be opened. +- Add the sqlite3 database scripts. +- Add some patches for 1.36.1 (note, I have now prepared + a 1.36.2 with all the patches and some new features -- + to be documented). +- Some minor doc updates. +- Add Arno's baculareport.pl script to the examples directory. +29Jan05 -- after vacation +- Add support for SQLite3 (it seems to run at 1/2 the speed + of SQLite2). Use --with-sqlite3 instead of --with-sqlite + to get SQLite3. +- Add target for running qemu to boot Rescue CDROM +- Add code to support kernel 2.6 in Rescue CDROM -- does NOT yet + boot correctly. +- Implement ANSI labels -- not yet tested. + This required changes to DB format. No upgrade script yet. + Note, more work needed to modify "update" command to handle + changing label types, also must restrict volume name lengths + to 6 characters. +- Add new Device, Storage, and MediaType records to DB. No + upgrade script yet. +- Add MediaType to bsr file record types. Not yet used in SD. +- Permit multiple device specifications in Storage resource in + Dir conf file. +- Implement Device resources. Director requests Device resource + info from SD on startup. +- Note!!!! DIR->SD incompatible with previous versions. +- Remove multiple Storage definitions in Job resource. One can + still specify multiple Storage resources, but they all go into + a single alist, and imply sending data to each Storage daemon + simultaneously. +- Implement Device query command between DIR and SD. +- Allow DIR to "reserve" a Device. It will then be acquired + when the FD connects to the SD. +- Turn all DIR resources into classes, and implement a few class + methods -- more to come. +- Turn DEVICE in SD into a class, and implement a number of inline + class methods -- more to come. +- I had serious problems with ACL errors on my Laptop, and so had + to add the following patch: + @@ -181,7 +181,7 @@ + } + /***** Do we really want to silently ignore errors from acl_get_file + and acl_to_text? *****/ + - return -1; + + return 0; + } +- Added edit_int64() +- Reworked and tested a bit the htable routines. +- Major changes to SD acquire.c -- DIR can now reserve devices. Needs + lots of testing!!!! +- Made a special state code for DVD -- this simplifies the logic + of the code, but I probably broke it. Testing needed!!!! +- Add AutoChanger resource to SD, but not yet used. + +Changes to 1.37.2: +12Jan05 +- Integrate Preben 'Peppe' Guldberg 's + acl patch. Fix case where configured but no ACL exists. + Rework calling arguments to be shorter and positioned + more typically in Bacula usage. +11Jan05 +- Fix scripts/bacula.in to have awk on an environment variable + and add comments for Solaris users. +- Turn off inet_aton in src/lib/address_conf.c for Win32 +- Add new files to win32 build and eliminate a compiler warning. +- Add sample DVD Device resource to bacula-sd.conf +08Jan05 +- Integrate Nicolas' patch for direct DVD support. +07Jan05 +- Fix fstype error returns. +- Apply Preben's cleanup.patch which puts back much of the + cleanup code in src/filed/restore.c +06Jan05 +- Apply all of Preben's patches, but revert to old backup.c + and old restore.c in filed. Also turn off code in new + acl.c because of errors. The new code, when fully implemented + moves platform specific code into acl.c. + One of the patches also implements WildFile and WildDir -- thanks. +01Jan05 +- Implement Python in the SD (no events yet though). +- Fix some typos in the previous commit. +30Dec04 +- Enhance CDROM boot to include some documentation at boot time. +- NOTE!!!!! The CDROM will not boot 2.6 kernels because the + boot sequence has changed significantly. Updates to come + later. +- Add memtest option to CDROM boot. +- Include Nicolas' changes to fix llist JobMedia records. +- Make sure that ClientRunBefore/After messages from the program + are terminated with a newline. Add strerror to output error + messages. +- Return program exit status code in Win32. +29Dec04 +- Add memtest86 to Bacula Rescue disk +- Enhance Rescue disk startup screen +24Dec04 +- Move some variables to eliminate Solaris 2.6 compiler warnings. +- Fix the seg fault at the end of a job in the FD when using + old style include/excludes. +22Dec04 +- Apply Preben's ACL patch. +- Integrate Preben's restore patch. +- Integrate Preben's verify teaks. +- Fix doc/latex/Makefile to copy/remove .eps files when building + html and web outputs. +21Dec04 +- Fix Bacula so that it does not exit if there is a syntax error + in its conf file during a reload command. Bug 182. +- Apply fixes suggested for old Solaris networking. + Fixes bug 190. +- Apply Preben 'Peppe' Guldberg + three patches that clean up white space: + ws.patch.02.strings: + Breaks strings that span lines into concatenated strings. I am not sure + if you like this one. Other code works with concatenated strings, though. + ws.patch.03.trailing: + This removes trailing whitespace. No changes resulted from this for + my setup. + ws.patch.04.leading: + This replaces space runs at the start of line with tabs. No changes + again. +- Fix overriding storage specification to be done + through a subroutine. +- Fix autoconf so it runs with FC3. +- Add Python4.3 to configure search paths. +- Always copy and delete storage definitions into jcr. +- Check that VolumeName supplied by Python is valid. + Return 0 if not. +19Dec04 +- Fix undefined in non-Python build. +- Update rescue disk to include mkinitrd +- Fix umount_drives in rescue disk (only one arg to umount) +- Ensure that if SD is manually set in Console, it is used. +- Put generate_event on pointer and plug it in init. This + permits using it in /lib +- Correct despooling size reported to be Job specific rather + than for the whole drive. +18Dec04 +- Fix bug 207. jcr use count off by one when manually + scheduling jobs. +- Remove FNMATCH test in configure.in and always use + the one in our library to get the FN_CASEFOLD GNU + extensions on all platforms. +- While using the rescue CDROM after my computer would not + boot, I realized that it would be very useful to have + a umount_disks. So, it is not implemented, along with + updates to the READMEs and some minor tweaks. +- Moved mounting the CDROM in the rescue boot from /cdrom + to /mnt/cdrom (more standard location). +- Reboot in CDROM rescue should now work -- requires -d + option (no write) to work. +- Hopefully fixed all the IPV6/4 problems and buffer + problems with networking in lib. Bugs 190 and 204. + Cleaned up a lot of #ifdefing problems by using routines + in address_conf.c +17Dec04 +- Apply Preben 'Peppe' Guldberg + alist fix patch. +- Remove duplicate code from chksum.h (mentioned by Preben). +13Dec04 +- Integrate Tim Oberfoell patch to ACLs + to handle both the "standard" and "default" ACLs. +12Dec04 +- Integrated Preben 'Peppe' Guldberg + three cleanup patches (btest, verify, find). +- Integrated Preben 'Peppe' Guldberg + three cleanup patches (backup, chksum, and verify) +09Dec04 +- Integrated Preben 'Peppe' Guldberg + patch to avoid doing MTIOCGET on OSes that do not support + it such as OpenBSD. +- Integrated Preben 'Peppe' Guldberg + patch to add filesystem type matching to FileSets in the + Options resource. +- Integrated Preben 'Peppe' Guldberg + patch to add Mac OSX resource fork support (save/restore) + to Bacula -- HFS Plus support. +- Add FileSet to client Job listing query. +06Dec04 +- Integrated Preben 'Peppe' Guldberg + patch to backup directories skipped (due to no file system + changes or no recursion), and to add a slash to the end + of the directory name during the match process. +- Implement Jamie ffolliott + patch to dird_conf.c that enables Multiple Connections and + fixes a typo in show. The rest of his patch awaits my suggested + changes. +05Dec04 +- Implement run command in Python +04Dec04 +- Implement conversion of the manual, and some minor + tweaks to the script tags. +- Apply a patch supplied by Preben 'Peppe' Guldberg that implements + ignore case in wild cards and regexes. +- Fix a truncated line in the above patch due to my cut and paste. +03Dec04 +- Fix it so that the InChanger flag is only changed for Volumes + in the same Pool. +- Add PIDOF configuration path and apply to bacula.in +- Add user supplied patch to add inet_aton() of old Solaris + systems. +- Require pools to match before allowing multiple simultaneous + accesses to same storage resource. +- Add patch supplied by Martin to correct buffer overrun in + bsnprintf() with no library snprintf(). +02Dec04 +- Apply user supplied patch that implements No Hard Links. +- Document Python interface +- Add hardlink keyword patch supplied by David R Bosso +01Dec04 +- Fix non-python prototypes in dummy routines. +- Add python 2.3 to config search list (user submitted patch) +- Add JobStatus to Python variables. +28Nov04 +- Add "python restart" command in Console. +- Make built-in variables table driven. +- First cut of Python Events for Bacula. Director only. + StartJob, EndJob, NewVolume events. + + + Technical notes on version 1.37 + Nicolas Boichat + +General: + +Changes to 1.37.*: +26Oct05 + - dvd.c: update VolParts when writing the last part. +19Oct05 + - configure: add check for dd, remove check for df + - block.c:do_dvd_size_checks: Check we are writing to a dvd before doing tests + (reported by David Raine on the list, "[Bacula-users] LTO drive - End Of Volume error"). + - Update bacula-sd.conf.in to use dvd-handler correctly. + - dvd.c:dvd_write_part: Increase timeout when writing the first part (see the code for + more details). +18Oct05 + - Modify .backups command to get a fileset parameter (fix bug #444). +17Oct05 + - Fix bug when recycling DVD devices (append flag was removed). + - Add tests for dvd+rw-format in configure script. + - scripts/dvd-handler: Reformat DVD-RW when needed. This needs dvd+rw-format. + - Add patch for dvd+rw-tools in patches dir (this should probably be elsewhere). +16Oct05 + - Remove scripts/dvd-freespace and scripts/dvd-writepart, as they are now + merged into scripts/dvd-handler. Note: Documentation needs to be updated. + - scripts/dvd-handler: "zero" brand-new DVD+/-RW to fix a problem with some + DVD-writers, thanks to Arno Lehmann for reporting this, and providing the + way to fix it. + - new scripts/dvd-handler. Note: it also needs a patched version of dvd+rw-tools. + - new scripts/dvd-freespace. Note: it needs a patched version of dvd+rw-tools. + - dvd.c:dvd_write_part: Don't write empty part. (Fix 4GB crossing bug reported by Arno Lehmann) +14Oct05 + - dvd.c:dvd_write_part: Use part_size and not max_part_size when setting write timeout. + - dvd.c:do_mount_dev: When checking if the DVD is mounted, do not count ., .. and .keep (needed on Gentoo). +15Aug05 + - Convert dvd-writepart to Python. + - Increase delay from 3 seconds to 5 seconds between SIGTERM and SIGKILL when + killing external programs. +13Aug05 + - Add gettext macros in autoconf/gettext-macros. + - Modify how localedir is set in configure.in. + - Remove setlocale check (useless). +10Aug05 + - Mark translatable strings in all source files. +08Aug05 + - Create French and Italian translation files (fr.po, it.po). + - Add support for translation in configure and Makefiles. + - Update autoconf/aclocal.m4 so it is automatically created with aclocal + (Note: autoconf/gnome-macros is not used anymore, it may be removed). +30Jul05 + - Fix src/lib/bpipe.c:run_program and run_program_full_output to detect if the watchdog + killed the program, and return an error if it is the case. +26Apr05 + - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter + - lex_open_file now returns NULL if the file can't be opened. All calling functions have + been adapted. + - Remove set_exit_on_error function +07Apr05 + - Fix "unknown device type" problem with DVD devices. + - Fix crash when there is no media in the DVD drive. +09Jan05 + - Update the documentation and ReleaseNotes. +05Jan05 + - Add FreeSpaceCommand in Device (SD configuration file) and implement it. + - Some modifications (again) on how guessed volume names are handled (now it should work). + - Part files on the hard disk are removed if they are empty. +04Jan05 + - Major fixes on how guessed volume names are handled. + - Minor fix in src/stored/append.c. + - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c. + - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD. +03Jan05 + - Add WritePartAfterJob directive in Job resource (Director) + - Add WritePartAfterJob directive in Schedule Resource (Director) + - Implement these new directives +02Jan05 + - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume + name of a mounted device, so the label can be read. + - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W). + - Removed WriteFirstPartCommand directive in Device (SD configuration file). + - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev). +01Jan05 + - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file). + - Implement these directives (volumes can now be restored from a manually written DVD). + - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file). + - Implement these directives (DVD writing now works). + - New function run_program_full_output in src/lib/bpipe.c. + - Lots of bugfixes and cleanups in the new code. +29Dec04 + - Add VolParts field in Media table + - Add MaximumPartSize directive in Device (SD configuration file) + - File Volumes can now be splitted in multiple files ("parts") + - Fix SQL error in sql_list while doing "llist jobmedia" diff --git a/docs/techlogs/2005/RN-1.38.0 b/docs/techlogs/2005/RN-1.38.0 new file mode 100644 index 00000000..e77a71ff --- /dev/null +++ b/docs/techlogs/2005/RN-1.38.0 @@ -0,0 +1,202 @@ + + Release Notes for Bacula 1.38.0 + + Bacula code: Total files = 420 Total lines = 138,440 (*.h *.c *.in) + 20,440 additional lines of code since version 1.36.3 + +Major Changes: +- Fixed out of order Volumes in restore. +- Improved algorithm for reserving drives in multiple drive + autochangers. Autochange users MUST use the new Autochanger + resource in the Storage daemon. +- There is a new database format that is not compatible + with previous databases. You must upgrade if converting + from 1.36.x. No changes from version 1.37.30. +- The Director, Storage daemon, and File daemons are + Deamons are not compatible with prior versions. + All FDs must be upgraded at the same time. +- Support for ANSI/IBM labels. +- Faster database inserts due to combining the MD5/SHA1 into + the attributes record, eliminating one INSERT/file backed up. +- Python Event support has been added. See below for + configuration and details. The implementation is somewhat minimal, + so the functionality is not complete. The Python interface + has not been extensively tested, so please consider it BETA. +- DVD writing support, using parts, and some new directives in + the Device resource of the Storage configuration file thanks + to Nicolas Boichat. Please note that this code is still + BETA and should be carefully tested before using in + production. +- Seven new options keywords in a FileSet resource: + ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir, + and regexfile thanks to Pruben Guldberg). See below for details. +- Restore of all files for a Job or set of jobs even if the file + records have been removed from the catalog. +- Restore of a directory (non-recursive, i.e. only one level). +- Support for TLS (ssl) between all the daemon connections thanks + to Landon Fuller. +- Any Volume in the Pool named Scratch may be reassigned to any + other Pool when a new Volume is needed. +- You may clone a Job and thus write (almost) the same data + to multiple Volumes simultaneously (see below). Actually, + any Job may start any other Job with this mechanism, so it + also be used to group jobs. +- Unicode filename support for Win32 (thanks to Thorsten Engel) +- Volume Shadow Copy support for Win32 thus the capability to + backup exclusively opened files (thanks to Thorsten Engel). + A VSS enabled Win32 FD is available. You must explicitly + turn on VSS with "Enable VSS = yes" in your FileSet resource. +- New manual format with an index (thanks to Karl Cunningham). +- New Web site format (thanks to Michael Scherer). +- SQLite3 support. +- Web-bacula, previously a separate project by Juan Luis Frances, + is now included in the Bacula GUI release. This is a management + level tool for reporting the state of Bacula jobs. +- The code is now Internationalized so that it can be localized + in native languages. Thanks to Nicolas Boichat. + +New Directives: +- New Job directive "Prefer Mounted Volumes = yes|no" causes the + SD to select either an Autochanger or a drive with a valid + Volume already mounted in preference. If none is available, + it will select the first available drive. +- New Run directive in Job resource of DIR. It permits + cloning of jobs. To clone a copy of the current job, use + Run = "job-name level=%l since=\"%s\"" + Note, job-name is normally the same name as the job that + is running but there is no restriction on what you put. If you + want to start the job by hand and use job overrides such as + storage=xxx, realize that the job will be started with the + default storage values not the overrides. The level=%l guarantees + that the chosen level of the job is the same, and the since=... + ensures that the job uses *exactly* the same time/date for incremental + and differential jobs. The since=... is ignored when level=Full. + A cloned job will not start additional clones, so it is not possible + to recurse. +- New Options keywords in a FileSet directive (backported to 1.36.3): + - WildDir xxx + Will do a wild card match against directories (files will not + be matched). + - WildFile xxx + Will do a wild card match against files (directories will not + be matched). + - RegexDir xxx + Will do a regular expression match against directories (files + will not be matched). + - RegexFile xxx + Will do a regular expression match against files( directories + will not be matched). + - IgnoreCase = yes | no + Will ignore case in wild card and regular expression matches. + This is handy for Windows where filename case is not significant. + - FsType = string + where string is a filesystem type: ext2, jfs, ntfs, proc, + reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3 + systems, use ext2. You may have multiple fstype directives + and thus permit multiple filesystem types. If the type + specified on the fstype directive does not match the + filesystem for a particular directive, that directory will + not be backed up. This directive can be used to prevent + backing up non-local filesystems. + - HFS Plus Support = yes | no + If set, Mac OS X resource forks will be saved and restored. +- Label Type = ANSI | IBM | Bacula + Implemented in Director Pool resource and in SD Device resource. + If it is specified in the SD Device resource, it will take + precedence over the value passed from the Director to the SD. +- Check Labels = yes | no + Implemented in the SD Device resource. If you intend to read + ANSI or IBM labels, this *must* be set. Even if the volume + is not ANSI labeled, you can set this to yes, and Bacula will + check the label type. +- Scripts Directory = name. Defines the directory from + which Bacula scripts will be called for events. In fact, Bacula + appends this name to the standard Python list of search directories, + so the script could also be in any of the Python system directories. +- In FileSet, you can exclude backing up of hardlinks (if you have + a lot, it can be very expensive), by using: + HardLinks = no + in the Options section. Patch supplied by David R Bosso. Thanks. +- MaximumPartSize = bytes (SD, Device resource) + Defines the maximum part size. +- Requires Mount = Yes/No (SD, Device resource) + Defines if the device require to be mounted to be read, and if it + must be written in a special way. If it set, the following directives + must be defined in the same Device resource: + + Mount Point = directory + Directory where the device must be mounted. + + Mount Command = name-string + Command that must be executed to mount the device. Before the command + is executed, %a is replaced with the Archive Device, and %m with the + Mount Point. + + Unmount Command = name-string + Command that must be executed to unmount the device. Before the + command is executed, %a is replaced with the Archive Device, and + %m with the Mount Point. + + Write Part Command = name-string + Command that must be executed to write a part to the device. Before + the command is executed, %a is replaced with the Archive Device, %m + with the Mount Point, %n with the current part number (0-based), + and %v with the current part filename. + + Free Space Command = name-string + Command that must be executed to check how much free space is left + on the device. Before the command is executed, %a is replaced with + the Archive Device, %m with the Mount Point, %n with the current part + number (0-based), and %v with the current part filename. +- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource) + If this directive is set to yes (default no), a new part file will be + created after the job is finished. +- A pile of new Directives to support TLS. Please see the TLS chapter + of the manual. + +New Commands: +- "python restart" restarts the Python interpreter. Rather brutal, make + sure no Python scripts are running. This permits you to change + a Python script and get Bacula to use the new script. + +New configure options: +- --with-libintl-prefix for defining alternate locations for + the NLS internationalization libraries. Not normally required. +- --datadir for defining where the language files will be installed + required only if you do not want the default /usr/share. + +Items to note!!! +- If you use an Autochanger, you MUST update your SD conf file + to use the new Autochanger resource. Otherwise, certain commands + such as "update slots" may not work. +- You must add --with-python=[DIR] to the configure command line + if you want Python support. Python 2.2, 2.3 and 2.4 should be + automatically detected if in the standard place. +- When linking with --with-python, there are a few warnings that + can be ignored. +- You must either create a new catalog database or upgrade your + old database. +- The Director, Storage daemon, and File daemons are + Deamons are not compatible with prior versions. + All FDs must be upgraded at the same time. +- You must add --with-openssl to the configure command line if + you want TLS communications encryption support. +- Disk seeking during restores does not yet work correctly in + all cases, so it is turned off. +- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an + AMD64 CPU running 64 bit CentOS4, there is a compiler bug that + generates bad code that causes Bacula to segment fault. + Typically you will see this in the Storage daemon first. The + solution is to compile Bacula ensuring that no optimization is + turned on (normally it is -O2). + + +Other Items: +- Security fixes for temp files created in mtx-changer, during + ./configure, and during making of Rescue disk. +- A new script, dvd-handler, in the scripts directory, + which is designed to be used as parameters to Write Part Command and + Free Space Command. They need the dvd+rw-tools to be installed + (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs + program must be patched using the + /patches/dvd+rw-tools-5.21.4.10.8.bacula.patch + You must have Python installed to run the scripts. +- Part files support: File volumes can now be split into multiple + files, called "parts". +- For the details of the Python scripting support, please see the new + Python Scripting chapter in the manual. diff --git a/docs/techlogs/2005/kes-1.37 b/docs/techlogs/2005/kes-1.37 new file mode 100644 index 00000000..6a7697f7 --- /dev/null +++ b/docs/techlogs/2005/kes-1.37 @@ -0,0 +1,1408 @@ + Technical notes on version 1.37 + Kern Sibbald + +General: + +Changes to 1.37.42: +26Oct05 +- Return HARDEOF status from bnet_recv() if bsock NULL rather + than aborting. +- Don't overwrite pthreadVCE.dll or msvcr71.dll during Win32 + install. +- Update README.win32 instructions. +25Oct05 +- Make db_get_job_record() return Name so that the ACL + can be checked. Fixes bug #446 +22Oct05 +- Insure that all the SD tools init the Autochanger + resources. + +Changes to 1.37.41: +22Oct05 +- Print error message if no Changer Command found. +- Apply fix from Martin Simmons to clear structure before + using it in IPADDR -- fixes a bind() bug on AIX. +14Oct05 +- Add NetBSD fstype patch from Geert Hendrickx +- Update num_parts only when writing to DVD. +13Oct05 +- Fix error conditions in bpipe.c DVD routine (terminate buffer). +- Use a bigger buffer 32K as suggested by Arno in bpipe.c. +- Increase dvd mount timeout with patch from Arno. +- Modify DVD code so that it keeps a state flag that indicates + when the freespace variable is valid. freespace_errno, now has + either 0 or an errno. There are no negative errnos. +- Create is_freespace_ok() to test state flag. Also, set_freespace_ok() + and clear_freespace_ok(). Modify code to use them. This + simplifies a bit the logic of the freespace code. +- Edit 64bit debug values correctly in dvd.c +- Fix %e variable to check num_parts rather than part. +- Use static buffer instead of static buffers for FI_to_ascii() + and stream_to_ascii() debug routines in SD. This is to prevent + possible race conditions between two threads (possibly Phil's + unmount problem). +12Oct05 +- Add a .dir command that separates arguments with commas. It + is intended to be used in the tree routines to get a + machine readable output for GUIs like wx-console. +- Make configure set dvd-handler to have execute permission. +- Install dvd-handler as is done for other dvd-xxx scripts. +- In block.c call dvd_write_part() to write last part rather + than dvd_open_next_part(). +- Prefix some DVD subroutines with dvd_ +11Oct05 +- Add extra debug to Update media error for VolFiles decrease + error. +- Do not update dev->file on set_ateof() for non-tape. +10Oct05 +- Mark DVD volume in error if part cannot be written. +- If a DVD is mounted, unmount it before asking operator + to mount an different one. +- Add Arno's dvd-handler script to the scripts directory and + integrate with configure. It replaces both existing scripts. +- Make default schedule start at 23:10 +- Implement gui release in Makefile. It creates two .tar.gz + bacula-web and bimagemgr. +08Oct05 +- Add README plus tar release to gui project. +- Manual documentation +- Tweak bacula.man doc +- Add PRAGMA synchronous = NORMAL; to SQLite3 tables. This + speeds up SQLite3 so it is only about 10% slower than version + 2.xx. Thanks to Russell Howe for this tip. +- Add msvcr71.dll to pebuilder .inf file as it is needed by + Bacula FD. Thanks to Brandon for passing this fix to Scott. +05Oct05 +- Add VolumePurged method to Python JobEvents class. Fixes + bug #428 (I think). +- Add JobId index to File table for MySQL. +- Correct tray-monitor crash of bacula-dir. qstatus_cmd() + code referenced the wrong pointer. Fixes bug #438. +- Add bacualnovss.mak file from Martin. +- Remove Pool from restore string in wbrestorepanel.cpp. Patch + from user for bug #433. +- Correct code in wbrestorpanel.cpp with misplaced parens. Patch + from user for bug #431 +- Correct printing filenames/date/times in wbrestorepanel.cpp due to bad + column alignment. Patch from user for bug #432. + +Changes to 1.37.40: +01Oct05 +- Add fix to compat.h supplied by Martin Simmons that permits + building the Win32 FD without VSS. +29Sep05 +- Bring cats/bdb_x.c routines up to version 1.37 (return values + are different). +28Sep05 +- Integrate libwrap patch from Szechuan Death. They should + also fix bug 423. +- Clean up patches directory for next release. +- Add PS variable in bacula.in script as recommended by a user. + "Tom Boyda" +- Correct mtx-changer.in so it only creates a temp file when + actually needed. +- Add patch supplied by user in a bug report to fix gnome2 + console buttons. +- Add patch from Peter Eriksson to correct + NLS error in tray-monitor.c +26Sep05 +- Add code to catalog_update to detect NULL db pointer. +- Remove char *msg argument from catalog_request and + catalog_update(). +24Sep05 +- Fix mode change open in btape.c +- Use nonblocking opens on Linux only. +- Move set_blocking code for tapes into method to + simplify main line code. +- Cleanup the code for ensuring we advance tape on fsf. + This should fix IBM problems -- patch from Adam Thorton + was very helpful. +- Remove test for BMT_EOD in fixup_device... this eliminates + need for status_dev() routine. +- Before doing label ensure device is in read-write mode. + +Changes to 1.37.39: +20Sep05 +- Tweak daemon.c berrno, copyright. +19Sep05 +- Fix handling of temp file in mtx_changer.in, reported as + a security bug, but it is not really. Bug #422 +- Fix security problem of handling temp file in randpass. + Bug #422. +- During label/relabel, add new_volume to VOLRES list in SD. +18Sep05 +- Apply Landon's patch for the TLS ANS1 API change. +- Remove old code. +- Make single exit path in first_open_device(). +17Sep05 +- Make new_volume walk through all Vols looking for dev + to release. +16Sep05 +- Make "quit" command in console always allowed. +- Remove the storage list between each console command to + keep Dir from remembering a previously selected SD. +- Add code to reservation VOLRES subroutines to try to ensure + we don't end up with two Volumes on the same drive. +- Simplify the mutex code in VOLRES a bit to reduce the chance + of error. +15Sep05 +- Apply Nicolas' dvd-freespace.in patch. +- Make sure SQL table names are not translated. +- Eliminate incorrect message saying barcodes not + found in "label barcodes" -- fixes bug report. + +Changes to 1.37.38: +07Sep05 +- Add ability to have passwords on backup of catalog as + alternate 3rd argument. Submitted by Andrew Ford + +- Turn off TapeAlert by default if user enables a Device + and add a note to install mtx. +04Sep05 +- Fix out of order volumes during restore. + +Changes to 1.37.37: +30Aug05 +- Final tweaks to build Win32. +- Enable debug code in ua_label.c +- Remove devices from the Volume list even if no + Volume is in drive. Hopefully this fixes Arno's problem + of multiple volumes listed in the same drive. +28Aug05 +- Apply Landon's patch for TLS default values. +- Correct LOCALEDIR problem in build of Win32 +- Correct ssize_t problem in build of Win32 +- Add code to llprint pools and volumes to debug next item. +- From bug report, fix resetting Pool defaults in Volume. It + was a typo "Max" was missing in several places. +- Don't allow translation of database Volume Status values. +24Aug05 +- Ensure that the drive is closed before calling the + mtx-changer script so that the script can access the drive. +- Add drive name to reserved Volume list printout in SD. +23Aug05 +- Fix bug in acquire.c that incorrectly reported volume + busy. +- Add additional debug code and messages in reserve.c +- Eliminate unwanted warning message in reserve.c + +Changes to 1.37.36 release 22Aug05: +20Aug05 +- Landon's fix for NLS detection +- Eliminate incorrect compiler warning on FreeBSD. +- Move Win32 errno message build into berrno constructor. +- Minor Win32 build tweaks +19Aug05 +- A number of minor build Win32 fixes. +- Remove a PostQuitMessage() as suggested by Thorsten so that + BartPE restore can work correctly. +- Fix for create JobMedia so that VolIndex remains valid even + during a delete Job or pruning -- bug 402. +- Minor tweak for Win32 build. +18Aug05 +- Win32 fix -- remove debug O_NONBLOCK code. +- Fix bug 399 -- make_catalog_backup does not work for sqlite3 +- Implement unloading a volume in a different drive if it + is needed in the current drive. +- Implement search for unused autochanger drive. +- Implement search for exact Volume in reservation before + other searches. +- Fix picking up drive in Dir so that it is not done in + the status command. +- Eliminate double check on "loaded" for autochanger. +17Aug05 +- Start coding better reservation algorithm +- Always look for slot for label command. +- Add more debug code for autochangers. +- Apply fix from Stephan Leemburg for + improper scanning of schedule resource: + Run = Level=Full Pool=Catalog daily at 1:20 +- Apply patch from Chris Lee for + adding --enable-build-dird --enable-build-stored. +- Tweak datadir definition in configure.in +16Aug05 +- Fix bug that missed drive=nn specification. +- Eliminate nonblocking kludge in heartbeat of FD as + it caused high CPU usage. +- Pickup loaded slot when doing open() of tape drive. +- Make autochanger reservation code go through full list + first pass until exact match found. +15Aug05 +- Fix how FileSet is saved in job record to correct continual + Full save. +- Make datadir print on config.out listing. +- Move get FileSet record up in backup init to eliminate continual + Full save seen by Peter Sjoberg. +- Add VolumeName to read-only Python variables. +- Add VolumePurged event for Python. +- Suppress /dev/ Filesystem change prohibited INFO messages. +- Do not delete FT_RAW files before restore (allows FIFOs + to be used for restore). +13Aug05 +- Add drive specification to mount, unmount, release, label, + and relabel for Autochangers. Note Dir<->SD protocol has + changed. + +Changes to 1.37.35: +12Aug05 +- Disable parts of NLS as the configure does not work here. +- In job backup init (backup.c) define definitive Job level and + since time, *then* apply Job Pool override selection if any. +11Aug05 +- Modified bconsole script so that it is improperly + installed, it will refuse to execute. This avoids + recursive call loops. + +Changes to 1.37.34: +06Aug05 +- Apply David's ACL fix to src/filed/acl.c +05Aug05 +- Apply patches sent by David Duchscher for + making ACLs work on MacOS X and FreeBSD. +04Aug05 +- Apply patch in bug#397 that improved configure + - find readline under $with_readline/include/readline + - no libutil under Solaris + - no need for -ldl under Solaris +- Make reservation system single threaded during the + search to avoid two threads competing for the same + resource. +- Correct a return code in find_suitable_device_for_job() + Possibly cause of "busy writing to another volume". +03Aug05 +- Modify open() for tape so nonblocking really works. +- Use fcntl() to reset blocking status rather than close() + and reopen the drive. +- Make sure dev->open() is always called so that any change + in read/write permissions will occur. +- Open drives initially in daemon in read-only mode. +- Ensure that each time the VolHdr.VolumeName is zapped + or changed that free_volume() is called on the old name. + +Changes to 1.37.33: +03Aug05 +- Require 5 arguments to mtx-changer except list and slots +- Turn -EPIPE status returns from bpipe to ETIME +- Include Slot in SD status output +- Do not term_dev() during initialization in SD if the device + could not be opened. In the case of a tape drive, there may + be no tape in the drive. + +Changes to 1.32.32: +02Aug05 +- Correct PostgreSQL database scripts as suggested by a user. +- Add additional info to FATAL message generated when a device + is busy writing to another volume. +- Suppress an inappropriate NULL Volume name message after a cancel. +- Correct a warning message in reserve.c +29Jul05 +- Apply user's patch to make mutiple modifiers for times + work correctly. +- Make read_dev_volume_label() handle ANSI/IBM labels + correctly -- ie space over any label at the beginning + of the tape. +28Jul05 +- Make ANSI/IBM writing of HDR1/2 labels ignore any + errors if at end of tape. +- Apply Martin's patch to improve Python detection in + configure.in +- Temporarily turn off disk seeking until I find the + cause of the problem. +27Jul05 +- Add OSF1 patch supplied by user. +- Use number of files selected from write_bsr() only + if it is not defined. +- Explicitly seek to end of file when getting size for + restore test. +- Correctly set EndBlock position in JobMedia record + for files. +- Remove unnecessary set StartBlock in bscan. Caused bscan + regression error. +26Jul05 +- Modify mtx-changer to wait a maximum of 300 seconds. +- Do restart of failed jobs only for Backups job types. +- A number of DVD updates from Nicolas. +24Jul05 +- Turn off old service helper code in Win32. +- Correct Messages bug found by Phil in stored. +23Jul05 +- Complete (almost) documentation of 1.38. +- Add error messages for error conditions with VSS. +- Fix additional problems with VSS backup that I introduced. +Changes to 1.37.31: +22Jul05 +- Correct compiler complaints in wx-console and tray-monitor. +- Correct VSS problems recognizing c: +- Add VSS before job status +- Fix output of status from being one big line. +- Change cd xx; make to cd xx && make as suggested by Phil. +- Cleanup projects file +- Remove unnecessary casting of FF_PKT in filed. +- Apply Thorsten's bugfix for vss_generic.cpp +- Add check for df path for dvd_freespace +- Use df to get space used on DVD. +- Change sense of flag indicating erase DVD or not before writing. +- Fix bpipe so that it never modifies the result pointer. +- Replace more dev_name by print_name(). +- Rewrite edit_device_codes_dev() so it does not overwrite the + supplied buffer. +- Update printing of labels (for bls) so that critical information + is printed (Job name and timestamp). +- Cleanup old spool files when starting the SD. +- Modify vss.cpp to allow C: as a path name. Otherwise VSS + doesn't work when only a drive name is given. +- Modify vss.c to eliminate double / in filenames. +- Update doc -- particularly the restore chapter. +18Jul05 +- Make all files in working directory have .xxx at end. +- Work on DVD writing. +- Fix keepatime bug (bugs database). +- Move Python variables from Job to Bacula. They are + DirName, Version, ConfigFile, and WorkingDir +- Fix delete of bootstrap to only occur on Bacula created + filenames. +- Allow cancelling a Job name that is not active. It is + sent to the daemons. +17Jul05 +- Fix name space pollution by OpenSSL 0.9.8 reported by + Matthias Kurz -- applied his patch. +- Fix bpipe.c so that it does not modify results pointer. + ***FIXME*** calling sequence should be changed. +- Remove some remaining references to dev_name. +- Fix calls to mount_dev() and unmount_dev() to + correspond to returned value (bool instead of int). +- Try without success to make DVD writing work. + +Changes to 1.37.30 released 16 July 05: +14Jul05 +- Fix "dir" command scanning field misalignment in + wx-console. +- Switch to using the wxWidgets Unicode library. +- Include msvcr71.dll in distribution. +- Add VSS to status line in Win32 FD if enabled. +- Get VSS build scripts working with Thorsten's help. +- Unlink the bootstrap file after sending it to + the FD. +- Remove sending include/exclude lists to the FD during + a restore -- deprecated code. +- Cleanup the bootstrap files in the FD. + +Changes to 1.37.29: +14Jul05 +- Remove old commented out code from configure.in +- Add baculavssfd.mak file for building VSS version of + Win32 FD. +- Correct date (year) in vss.cpp and vss_generic.cpp +13Jul05 +- I finally found and squashed the elusive SD crash. + I needed to initialize the used volume list before + firing off the device initialization thread. +Changes to 1.37.28: +11Jul05 +- Make sure that bpipe results are zapped even on + error return. +- Lots of documentation. +- Do not prune volume marked as append when needing a + new Volume. +- Print a warning message in SD if a non-used Volume + is specified and autolabel not turned on. +- Correct a bug in chksum.c concerning SHA1 signatures + (an * should have been & when checking for a bit flag). +- Print File:Block for all label records in label.c -- concerns + primarily bls when doing Job listings (-j). +- Correct is_volume_in_use() to return false if testing + on the same device where the Volume is already mounted. +- Define a init_done flag in the SD that is set when the + devices are initialized and make users connecting wait. + This prevents useless connect failure warning messages. +- Do additional device locking in ask_op_to_mount_volume() + to prevent race conditions with a user labeling a Volume + or autolabeling. +09Jul05 +- Add a test for error return from bnet_wait... in heartbeat.c + in FD to avoid CPU loop. +- Implement TLS in gnome console and wx-console. +08Jul05 +- Correct a NULL pointer reference in the mount command. +- Correct typo in Copyright +- Add detection of EOM for IBM drives (i.e. errno == ENOSPC) +07Jul05 +- Remove temp file created in mtx-changer script. +- Make fsf_dev() into a class method. +06Jul05 +- Modify mtx-changer.in script to return slot:barcode for + Volumes that are loaded in the drives. +- Correct some more places where dev->is_blocked() needs + to be checked in dircmd.c in SD. +- Update doc. +05Jul05 +- Add code to ensure that reserved but unused volumes + are freed. +- Correct how Volumes are mounted and handled so that the SD + does not get stuck if multiple volumes are used (recycling, + relabling, ...) +- Correct bug where you could relabel a volume while it + was being acquired -- created chaos. +04Jul05 +- Correct seg fault caused by open() calling sequence change. +03Jul05 +- Add new rc-chio-changer script by Rudolf Cejka to + examples/autochangers +- Apply Rudolf's changes to bacula.in +- Expand the space from 8 to 10 characters in editing + file sizes for restore and dir of catalog, otherwise + GB sizes are truncated -- fixes bug report. +- Modify wx-console to know about 10 character widths. +- Allow decending into top level directory if "recurse=no" + is set. Fixes a bug report. +- Install pthreadVCE.dll when installing console or wx-console + on Win32 systems. Fixes bug report. +02Jul05 +- Tweak dvd-writepart script to prevent door from opening/closing + so much. +- Remove GROUP BY in several PostgreSQL commands to prevent error. + Resolves bug report. +- Ensure that < as first character of filename list is not treated + as a directory for restore. +- Add debug to heartbeat in FD as it seems to go into an + infinite loop from time to time during SD failure in DVD writing. +- Add more debug code to dvd writing. +- Attempt not to destroy existing fs on DVD. +30Jun05 +- Detect device mounted for DVD and suppress be sure to + mount message after label. +- Set Cleaning tape status to "Cleaning" and force no + MediaType. +- Get DVD writing working with new standard Bacula open() + code. +- Rename get_filename() to make more sense. +- Detect "is already mounted on" on mount command so to avoid + error if device is already mounted. +- Eliminated guess_name() code. It may be necessary to + add it back later. +- Eliminate seg fault from printing invalid results. +- Make dvd_write_part() bool. + +29Jun05 +- Attempt to fix DVD writing by eliminating a number of the + DVD subroutines to simplify. +- Modify DEVICE::open() to take dcr as first argument. This + will permit providing more info to DVD opening. +- Fix scanning for time/size items which in some cases + ate the next line. +- Eliminate read_dvd_volume_label(). New code (not yet written) + *must* open dvd appropriately before calling + read_dev_volume_label. +- Modify open_first_part() open_next_part() to take DCR as + argument. +- Make label command from console work on DVDs. +- Make mount command from console work on DVDs. + Unmount does not work yet. + +Changes to 1.37.27: +27Jun05 +- Add Database vendor to CatalogRes tuple for Python. +- Update doc +- Implement DoesVolumeExist(Vol) for Python. +- Prevent python command from seg faulting if no arg given. + +Changes to 1.37.26: +26Jun05 +- Add set_mode method in DEVICE. +- Correct set_mode method in DEVICE +- Add more DVD debug info +23Jun05 +- Check for incorrect duration and size modifiers in conf files. +22Jun05: +- Make Version a tuple (version, build-date) +- Add CatalogRes tuple (DBName, Address, User, Password, + Socket, Port) +- Add Version, ConfigFile, and WorkingDir as Python attributes + in the Director. +- Implement code (principally for Win32) that on failure to + create a file, it will cd into the directory and attempt + to create the file using a relative path. This avoids creating + files with paths which fail on Win32. +- Fix parsing of times and sizes with decimal numbers. +- Make free_volume_list() in SD work if vol list is not + initialized (./bacula-sd -t). +21Jun05: +- Add debug error printout when open() fails. +- If open() of DVD fails in mount.c, return false. +- Split open() code for DVD into separate subroutine in dev.c + +Changes to 1.37.25 released on 20 Jun 05: +20Jun05: +- Remove (cd gnome-console; make clean) from src/Makefile.in +- Fix bug where Storage daemon gets confused about what + tape is mounted. (one line of code was inadvertently + deleted). + +Changes to 1.37.24: +18Jun05 +- DVD writing/reading seems to be mostly working. +- Set execute bits on dvd-freespace and dvd-writepart +- Make dvd-freespace use existing dummy file. +- Modify dvd-freespace to pickup size from Track Size: +16Jun05 +- Add Date, Job, level to updates to .bsr file in + dird/backup.c +- Add debug info to dvd-freespace.in +- Fix hard coded bacula.sql in make_catalog_backup reported + by a user. +- Make sure a verify volume to catalog never reports an error + if there are zero files to verify. +- Remove confusing debug info in filed/backup.c on network + error. +- Make sure output from console is not sent to system log. +- Convert open_dev() into a class method. +- Change VolHdr.VolName to VolHdr.VolumeName. +- Add a flag in the device state word to indicate that + we found Media in the drive (DVD). +- Make mount_dev() and unmount_dev() return bool. + +Changes to 1.37.22: +14Jun05 +- Fix the same state variable problem in open_next_part(). +- C++ify the SD code a bit more. +13Jun05 +- Add more debug code and clarify debug code for DVDs. +- Do not save and restore state in open_first_part() + since state should be properly set after open_dev(). +- Make default mandir /usr/share/man +- Install Bacula man page. +- Implement passing of FileSet Enable VSS to FD. +- Move main body of reserve drive code into subroutine + so that it can be called multiple times. +12Jun05 +- Eliminate getpass() for Win32 builds in console as the + function does not exist. +10Jun05 +- Correct some reservation problems in SD when no devices + are available. +- Start removing #ifdef HAVE_TLS by sneaky tricks. +- Begin implementation of TLS in wx-console +- Remove ignoring SIGCHLD from console. +- Rework the dlist binary search routines for implemenation + of the Volume reservation code -- make it more general. +- Strip double slashes // from Win32 filenames in an attempt + to resolve restore problems on some systems. +- Fix a minor bugs in the trace code that caused the first + line output to be lost. +- Implement a good first cut at adding Volume reservation code + to the storage daemon (in file reserve.c). +- Remove old unused code from the tree.c routines. + +Changes to 1.37.21: +06Jun05 +- Fix compile problems on Win32 +- Start writing Volume reservation list (already exists, but + is not really very good). +- Implement attribute caching to put Signature into database + at the same time as the file attributes thus eliminating a + number of database accesses. +- Correct a reservation problem. +- Implement full Dir Storage use. +- Reduce a bit of TLS #ifdeffing. + +Changes to 1.37.20: +04Jun05 +- Minor changes +01Jun05 +- Add more documentation to mtx-changer.in +- Correct link to manual in authenticate.c in various + directories. +- Create a new src/stored/reserve.c file where the + Use Storage command is processed and drives are + reserved. +- Modify src/stored/autochanger.c to keep track of each + Slot that is loaded for each device. +- Ensure that changer_command and changer_name are picked + up from Autochanger resource if not specified, and if + neither is specified, err. +30May05 +- Fix bextract.c compile problem +- Create bacula.man +- Make make distclean clean a bit better +29May05 +- Remove old code in jcr.c +- Make testls release jcr chain when terminating. +27May05 +- Implement Maximum Job Spool Size (actually DCR based) +26May05 +- Use light weight non-recursive locking on jcr chain. +- Make JCR a class and implement inc_use_count() and + dec_use_count() methods that ensure that the jcr is + locked when inc/dec the use count. +- Remove the global jcr lock when traversing the jcr + chain. +- Use dlist to implement the jcr chain rather than hand + crafted next and prev links. +- Lock the jcr chain inside each function that modifies + the chain. + +Changes to 1.37.19: +26May05 +- Fix compile problem of ua_restore.c on broken compilers. +- Apply patch from bug 326 to permit bacula status by any user. +- Fix bug 325 -- conversion of 12:30pm to 24hour time. +25May05 +- Put Dmsg() on inside if() to avoid calling subroutine. +- Make restore.bsr have unique name. +- Allow user to define bsr filename on restore command line + with bootstrap=xxx.bsr +- Add limit=nnn to "list jobs" command. +- Remove old restore code that did not use .bsr file. +- unlink automatically generated bsr file. +- Cleanup heartbeat code so that duped fd is almost sure + to be released. Previously under certain conditions, the + memory was not released due to race conditions. +- Shorten copyright. +20May05 +- Unify the reserve_device() for a single device into one subroutine. +18May05 +- Modify wait during use_device to happen only after all devices + have been examined rather than in the reserve_device code. +- Correct updating count of number of Volumes in a pool. + +Changes to 1.37.18: +16May05 +- Add more debug to SD for Autochangers + status output. +- Add Scratch to PoolType in PostgreSQL make...tables and do not + permit NULL PoolTypes. Fix for bug 319 reported by Eric. +- Update LICENSE. +- Add quotes around filename in parse_config error message. Bug + reported by Eric. +15May05 +- Change nested \include to \input so that sections are properly + included in the pdf manual -- update the Web site. +- Set reconnect flag in MySQL packet to 1 to ensure that connection + is re-established. MySQL 5 changed default to 0. Fixes bug report. +- Fix Scratch pool handling as reported in a bug by Eric Bollengier + by applying his patch. +- Remove delete job in favor of delete jobid. +- Add = NULL to configfile definitions as reported by Eric in a bug + report. +- Update winbacula.nsi.in to reflect new manual file structure. +10May05 +- Correct a minor build problem with wx-console. +- Add cancel() to Dir Python scripting. +- Re-correct bug in parse-config error handling. +- Reorganization of use_command in SD to permit + waiting and multiple drive autochanger support. +09May05 +- Correct bug in parse_config error handling. +- Where ever possible mark a volume in error or not + InChanger in mount.c +- Fix bug in changing tape pools after first backup. Reported + by Peter Sjoberg. +- Enhance mtx-changer to use Working Directory as temp. +- Remove all but initial setup locking of Res in SD. +08May05 +- Add Client OS type to Job report. +- Add version to manual +- Update the Web site to have a single page for + the documentation links. + +Changes to 1.37.18 release 08May05: +08May05 +- Correct attribute definition compile error in 1.37.17 +- Correct inverted order of CreateTime and MD5 pointed out + by a user in a bug report in FileSet db routine causing + the MD5 to print in the output instead of the time/date. + +Changes to 1.37.17: +07May05 +- Implement cstrlen() in sql list routines. +- Implement caching of attributes to add the + signature so that only one DB call will be made + per file. Not yet turned on. +- Fix Win32 build for TLS. +- Optimize File pruning to eliminate one database call. +- Fix bug that prevented File pruning from working. +- Implement a cstrlen() which returns the character + length of a UTF-8 string. +06May05 +- Move test for MaxStartDelay as suggested by Peter. +- Implement Python methods (I had to read the Python source + code). +- Implement run() method in Director. +- Add Priority and Scheduled time to Job report. +- Add JobInit and JobRun events. +- Add Priority as Python read/write attribute to Job. +- Correct typo in bsmtp reported by Jo. + +Changes to 1.37.16 released 05May05 +03May05 +- Make a few tls ifdef tweaks. +- Fix create_file.c Win32 problem pointed out by + Peter Sjoberg. +- Fix really ugly bstrncpy() but found by Thorsten. +- Move winapi.h/c from findlib to lib for inclusion in + multiple places. +02May05 +- Thorsten Engel finished his work on Win32 Unicode. We + now have a single executable that runs on all Win32 machines. +- Move job initialization code after job scheduling so that + Verify jobs check for the prior JobId after they are really + started rather than before. +- Fix lib/fnmatch.c so that it does proper testing before folding. +- More documentation -- at tls and ansi labels chapters. +- Fix fileset_convert.pl to handle empty Exclude statements. +- Turn regex back off in Win32 +01May05 +- Fix sign extension problem in lex.c that reads UTF-8 + with Chinese characters incorrectly. + +Changes to 1.37.14: +30Apr05 +- Remove a few HAVE_TLS #ifdefs +- Implement final Python style interface. More implemention to + be done, but the interface should change little if at all. +28Apr05 +- Make default no tls support. You must add + --with-openssl to get tls support. +27Apr05 +- Update Web header to include google search in the search + box -- thanks to input from Michel Meyers. +- Fix md5sum so that it builds with the new openssl stuff. +- Take some enhancements to the md5sum test program proposed + by a user. +26Apr05 +- Make option 2 of restore work better (list last 20 + locations for a file). +- Make SD re-open a device with the right permissions if + it was previously opened with something different. This + should allow reading read-only Volumes under all circumstances. +- Implement restore of a single directory. +- Apply Tru64 patch supplied by Pascal Pederiva +- Apply Unicode fixes for Win32 from "Thorsten Engel" + +- More work on Python read feature in FD. +22Apr05 +- Fix (hopefully) the ftello() overflow reported by Peter. +- Landon Fuller committed his TLS patch. +- Fixed two minor warnings in console.c with TLS turned off. +- Updated the Makefile.in for wx-windows and tray-monitor + to handle TLS. I can only build the tray-monitor. +- Fix bscan to open tape in read-only mode (actually fix + it so that it doesn't use the standard open routine). +- Correct what appears to be an error in setting the + return value in dvd.c +21Apr05 +- Get FD Python running -- design Python backup interface. +- Fix seg fault in SD when referencing Alert Command. +- More documentation. +- Fix one more thing in Win32 build. +20Apr05 +- Doc updates +- Fix Win32 build +- Put in production here + +Changes to 1.37.13: +19Apr05 +- Fix SQLite and PostgreSQL table creation script syntax + problems. +- Fix new Python code to work for Director. +- Move lib/python.c to lib/pythonlib.c so that debug output + is easier to read (can distinguish lib from dird, ...). +- Cleanup Python build so that Python is not dragged + into programs that don't use it. + +Changes to 1.37.12: +18Apr05 +- Make Bacula build without Python +- Drop Status table in drop_ scripts -- bug 283. +17Apr05 +- First cut of new Python implementation. +- Doc updates +- Correct SuSE autostart installation directory name -- + supplied by a user. +- Fix director crash if Name directive not supplied + in a Job. +- More cleanup of changing %u to %s for DB IDs. +- Replace dev_can_write(dev) with dev->can_write(). +11Apr05 +- Make fsr_dev() a method dev->fsr() +- Remove Created new FileSet message as it always comes out in + the daemon messages. +- eliminate dev_is_tape() in favor of method dev->is_tape() +- Turn on disk seeking during restore for Disk Volumes. This + required some changes to bscan -- they seem a bit suspect as + they are not symmetrical for tape/files. +- Remove some of the recursion in stored/parse_bsr.c +- Move rescue out to a new Bacula project. +08Apr05 +- Update of web site to replace old released doc with LaTeX + version. +- Replace logo in doc with new bat logo. +- Make a good number of updates to the manual. +- Implement Python scripting using a Python object. + This makes interfacing with Bacula cleaner (object + oriented). +- Add Phil's Status table to the database -- used + for getting a text description of the status + codes. +- Modify FileSet so that an empty Options (no + pattern matching) with an exclude will exclude + all files. +- Modify FileSet so that no top level included File + item can be excluded by a matching pattern. +- Suppress Created new FileSet record in daemon output. +- Implement Python in FD. +- Turn off old bfile reader code -- to be replaced + by Python. +05Apr05 +- Remove more recursion in src/dird/bsr.c as pointed out + by Peter. +04Apr05 +- Increase the index width of Filename and Path entries + to 255 chars -- suggestion of Meno Abels. +- Change remaining VARCHARS to TINYBLOBs. +- Remove recursion from is_volume_selected() following + bug report from Peter. +- Implement mostly correct handling of use_storage in the + SD with full lists, ... +02Apr05 +- Reset NumVols in Pool record from database on every update + Pool. +- Modify DB to support multiple simultaneous copies and + RAIT stiping. +- Pass copy and stripe between DIR and SD and put into + the JobMedia DB record. +- Update and test SQLite and MySQL datebase creation and + update scripts. +- Implement version 9 of the DB. +31Mar05 +- Convert more atoi to str_to_int64() for DB. +- Implement filling in NumVols by querying DB rather + than trying to keep track of it. +- Add storage name to string passed to in use storage= +- Fix newVolume() so that the Python script is always + called. +- Fix handling of pool,PoolId, and storage in ua_output. +- Same fix in ua_status.c +- Remove required locking of resources +- Replace pthread_cond_signal() by pthread_cond_broadcast() + hoping to fix the /lib/tls hang problems (lost signal). +- Move resource locking seaching from parse_conf.c to res.c + in src/lib. +- Modify end of volume handling so that fixup_... does not + redo what block.c has already done -- writing Vol info to + DIR. This fixes a bug with bad numbers of files on a tape + when it filled as reported by Peter. +- In release_device() do not update the DIR on the Volume + info if the the information was already written at the + end of the tape. +28Mar05 +- NOTE!!!! This version has a new DIR <--> SD protocol. Both + must be updated at the same time. +- Begin implementation of passing all the Storage and Device + possibilities to the SD for examination during the reserve + phase. +- Modify the reserve and acquire code in the SD to make a + job wait if the device is not available. +- Implement New Volume Each Job in DIR and pass to SD, not yet + used. +- Remove init/update of the Device resource in DIR +- Remove passing PoolId to SD and back. +26Mar05 +- Remove \a and -e from error echos in most Makefiles. +- Add more debug code when there are errors on the tape + to try to find Peter's tape problem. +- Add wait.c (oops forgot previously). +- Move all the reserve/acquire_device_for_read/append to have + only a DCR as the argument. +- Rework the reserve_device_for_append() in stored to wait + if the drive is not available. Note! This is a short + term solution. +25Mar05 +- Comment out Multiple Connections in the document. +- Move the P() and V() to subroutines so that they can be accessed + from class methods. The reference to strerror() caused problems. +- Implement new DEVICE class methods block() and unblock() that + do what was previously done in 3 lines of code. +- Implement wait_for_device(), which will wait for any device + to be released then return. This requires a new global mutex + and condition variable, and is implemented in src/stored/wait.c +- Change the code in reserve_device_for_read(), which previously + failed the job to use the new device wait code. +22Mar05 +- Apply reschedule patch to 1.37 code. +- Add copyright to title page of manual so it is clear. +- Create patch for rescheduling problem found by Ludovic. Storage + pointers were lost during rescheduling. +- Attempt to fix 2.6 rescue disk -- failed! +- Start working on adding a wait routine in the SD. +- Cleanup some old invalid doc in watchdog. +- Convert a number of references to dev->dev_name to dev->print_name(). +- Add new wait.c file to SD. +- Add a few more methods to DEVICE in SD to cleanup code a + bit -- implement a few of the methods. +18Mar05 +- Fix more print_name()s for printing device name. +- Modify open_dev to try 10 times every 6 seconds to + open the device if it gets an I/O error (meaning no + volume mounted). This gives a bit of settling in time + for an autochanger and avoids spurious messages. +- Change all yes/no to yes|no in the manual. +- Fix win32 create_file.c typo. +- Fix a typo in an error message. +17Mar05 +- Detect if fseeko exists with autoconf. If so, use it + and ftello. +- Remove old bacula-*.conf from examples directory (out + of date). +- Remove latex-fr index files from CVS. +- Rewrite code that stops reading the tape so that the + tape is marked at EOT, then once the work is done, + the EOT flag is removed. +- Flush output to file after every send in console. +- Make setting VolFiles to smaller number fatal. +- Disable Multiple Connections code. +- Add patch from user for NetBSD statvsfs() fix to + fstype.c +- Take more care with errors in acquire.c +- Don't run through dvd code in append.c if bad status + returned. +- Modify code so that an autochanger fault is fatal. +- Use dev->print_name() in more places. +- Implement dev->can_steal_lock() to simplify code. +- Make btape re-read first 10000 records on fill command. +- Check error return and fail job from fseeko and ftello + in spool.c. Don't let a -1 slip in as size. + +Changes to 1.37.7: +15Mar05 +- Apply NetBSD patch from kardel in bug 258. +14Mar05 +- Add a second job and a second client to the default + bacula-dir.conf file. +- Remove old style Include/Excludes. +- Fix ANSI labels to put EOF1 and EOF2 after each file mark. +- Add Python to SD and FD. +12Mar05 +- Implement IBM labels +- Implement EOF and EOV labels at the end of a volume. +- Fix a rather ugly problem with the PoolId not getting + passed correctly. Now the DIR passes the Pool name and + Media Type to the SD, who passes them back when requesting + the next Volume. The DIR then looks up the correct PoolId. + This takes more time, but always works, AND allows wild + card Media Types (i.e. the SD can decide). +- The DIR <==> SD protocol has changed. + +Changes to 1.37.6: +11Mar05 +- Fix scanf of PoolId in catreq to handle 64 bit Ids. +10Mar05 +- Add new ua_update.c file and move update_cmd there. +- Modify "update slots" to obtain actual number of slots. +- Tweak autochanger code to handle new slots request. +- Modify autochanger code to lock/unlock around slots and + update slots code. +09Mar05 +- Patch the FD so that it does not issue an error message if + it attempts to restore the permissions on a Win32 drive. +- Edit "Resource-name" (physical-name) for the device name + everywhere in the SD. +- Remove .linked.tex files in preparation for cutover to + using .tex in place of .wml. +08Mar05 +- Copy latest config.sub and config.guess from autoconf. +- Try new way of identifying drives with: + "resource-name" (physical-name) + More work need to a complete conversion. +07Mar05 +- Rework some of the autochanger data so that the DIR has + the number of drives. +- Modify the way the Device info is returned so that it comes + back as a special message type and can be sent anytime the + Device status changes. +- Copy the change name and changer command into the device + record if none is specified. +- Require the change command and changer name to be specified in + and AutoChanger resource. +- Force all the Media Type records of all devices in an Autochanger + to be the same. +06Mar05 +- Add new "run" command to Job resource in DIR. This permits + cloning a job as many times as you want. +- Pass PoolId to SD on Query request. It is now used in the + Find_media catalog request. +- Reworked the Device resource in the DIR. Eliminated num_waiting + and use_count, but added max_writers, reserved, and PoolId. +- This DIR is nolonger compatible with previous SDs. +- Add since and cloned keywords to the Console run command + to support cloning. +- Implemented store_alist_str() to allow multiple string items + to be specified in a .conf file. +- Added %s (since time) to Job code editing. +- Reworked reserving drives in the SD. It now does it much simpler + and correctly. +05Mar05 +- Integrate HP-UX patch from Olivier Mehani +- Fix FD job.c to test correctly for no level. + +Changes to 1.37.4: +04Mar05 +- Change Developers to Developer's Guide as requested by Michael. +- Fix developers link in manual +- Add additional dcr changes in SD to allow multiple dcrs. +02Mar05 +- Fix a few problems with the MySQL table create in 1.37. +- Delete the new tables in the table delete files. +- Increase the number of items permitted in a conf table. +- Make Director loop over alternative Devices specified in the + Storage resource until one is reserved by SD. +- Fix storing of StorageId in Media records. +- Add AutoSelect = yes|no in bacula-sd.conf +- Add Autochanger support to Label command. +- Do not autoselect devices with autoselect set false +01Mar05 +- Implement setting DIR Storage device to Autochanger + name. +- Select first available device in Autochanger. +- Pass back actual device name used. +- Allow Query of AutoChanger. +- Modify Query to include name of AutoChanger if + Device belongs to one. +- Remove old Pool code in jobq.c +- Add Autoselect flag to query and DEVICE class (still + need Directive). +28Feb05 +- Lock autochanger script when running. +- Mark Volume not InChanger if correct volume is not + autoloaded. +- Corrected some typos in the make_xxx_tables.in files. +- Made preliminary split of pre-run and run code for each + job type. This will permit early opening of SD for reserving + drives. +- Add offline and autochanger fields to Device Query record. +- Correct pthread_mutex_init() for autochanger in SD. +- Tweak Makefile for LaTeX manual, plus add nav buttons. +26Feb05 +- Clean up drive reservation system. Add more sanity checks. +- Implement a few more methods for the DEVICE class in SD. +- Add latex directories to make clean +- move DEV_BSIZE to B_DEV_BSIZE to avoid conflicts with + certain header files (FreeBSD). +24Feb05 +- Fix an ASSERT that was triggering in stored/acquire.c + attempt to fix a bug report. +23Feb05 +- Corrected SunOs to SunOS in btraceback (user submitted). +- Applied patch from Roger HÃ¥kansson + to warn the user of defective AWKs during ./configure. +20Feb05 +- Add some changes submitted by a user for HP client build. + Not all changes accepted. +- Rework code in filed/backup.c to ease #ifdefing and make + program flow more obvious. +- Split DVD code out of dev.c into dvd.c +- Tweak #ifdefing to add back all the performance measurement + #defines in version.h +- Put most of MTIOCGET code in a subroutine to simplify the + mainline code. +- Make clean remove old CVS files +- Remove unnecessary image files from Latex directory +- Implement remaining parts of Storage DB record and + its use in the Director. +- Implement + FullMaxWaitTime, Differential Max Wait Time, and + Incremental Max Wait time in Job resource. +- Start work on SD Autochanger code. +19Feb05 +- Add back JobId index for MySQL as default -- speeds up + pruning. +- Add more database fields and fix the update scripts to + include the new items. +- Pass actual level to FD so that ClientRun editing can reflect + correct level -- ditto for job status. This makes the DIR + incompatible with older clients! +- Move jobq.c acquire resources to static subroutine so that + the code logic becomes clearer. This is in preparation for + actually using the new Device resources. +- Fix some lower case problems in sql_cmds.c reported by + Debian. +- Correct a seg fault in the SD reported by a user. Occurred + only when a high debug level was set. +- Modify init_dev() in dev.c to take JCR as first arg so that + proper error messages can be reported in next item. +- Modify the query and use device SD commands to attempt to + open the device if it could not previously be opened. +- Correct error message for Could not reserve device. +- Correct some minor details with Autochanger resource in SD. +18Feb05 +- Fix seg fault if debug level 900 set in SD. +- Truncate Win32 child return code to 8 bits. +- Remove some old lld's. + +Changes to 1.37.3: +16Feb05 +- Make another attempt at fixing the ClientRunXXX return code + bug on Win32 machines. +- Apply ua_status patch from Carsten Paeth + which enforces console ACLs in the status command for Jobs. +15Feb05 +- Fix Media LabelDate and FirstWritten to be correctly set. +- Fix deadlock in multiple simultaneous jobs. +- Fix tape "truncation"/"number of files" after restore bug. +10Feb05 +- Ensure that correct error messages are returned when + reading an ANSI label. +09Feb05 +- Modified ANSI label code to preserve any ANSI label + already found by skipping over it rather than rewriting + it. +- Split the ANSI label code into ansi_label.c +- Do not let user relabel an ANSI labeled tape. +- Applied a patch for the console help command supplied + in a bug report. +- Added some new dev methods. Most notably was + set_eof(), which handles setting all the dev variables + when an EOF is just read. This is now used most everywhere + in the code. +07Feb05 +- Added code to detect that no files were inserted into the + tree for a restore. If a specific JobId was specified, the + user has the option of restoring everything. +- More progress in implementing 64 bit DB Ids. +- Modified the daemon start messages for RH. +- Implement update scripts for all database types. +- First cut at implementing restore directory (it will not + recurse). +04Feb05 +- OK, I think ANSI labels work. +- Added Label Type = ANSI|IBM|Bacula to Device resource in SD. + If this is set, it will force writing of the appropriate + label type. +- Added Check Labels = yes|no to Device resource in SD. If this + is set, Bacula will check for ANSI labels and accept them, + otherwise, ANSI labels will not be accepted when the tape + is first mounted. +02Feb05 +- Second cut ANSI labels. +01Feb05 +- Merge Preben's patch for ACLs and for Mac OS X resource forks. +- Some doc updates. +- Display more informative message when a device was not + found or could not be opened. +- Add the sqlite3 database scripts. +- Add some patches for 1.36.1 (note, I have now prepared + a 1.36.2 with all the patches and some new features -- + to be documented). +- Some minor doc updates. +- Add Arno's baculareport.pl script to the examples directory. +29Jan05 -- after vacation +- Add support for SQLite3 (it seems to run at 1/2 the speed + of SQLite2). Use --with-sqlite3 instead of --with-sqlite + to get SQLite3. +- Add target for running qemu to boot Rescue CDROM +- Add code to support kernel 2.6 in Rescue CDROM -- does NOT yet + boot correctly. +- Implement ANSI labels -- not yet tested. + This required changes to DB format. No upgrade script yet. + Note, more work needed to modify "update" command to handle + changing label types, also must restrict volume name lengths + to 6 characters. +- Add new Device, Storage, and MediaType records to DB. No + upgrade script yet. +- Add MediaType to bsr file record types. Not yet used in SD. +- Permit multiple device specifications in Storage resource in + Dir conf file. +- Implement Device resources. Director requests Device resource + info from SD on startup. +- Note!!!! DIR->SD incompatible with previous versions. +- Remove multiple Storage definitions in Job resource. One can + still specify multiple Storage resources, but they all go into + a single alist, and imply sending data to each Storage daemon + simultaneously. +- Implement Device query command between DIR and SD. +- Allow DIR to "reserve" a Device. It will then be acquired + when the FD connects to the SD. +- Turn all DIR resources into classes, and implement a few class + methods -- more to come. +- Turn DEVICE in SD into a class, and implement a number of inline + class methods -- more to come. +- I had serious problems with ACL errors on my Laptop, and so had + to add the following patch: + @@ -181,7 +181,7 @@ + } + /***** Do we really want to silently ignore errors from acl_get_file + and acl_to_text? *****/ + - return -1; + + return 0; + } +- Added edit_int64() +- Reworked and tested a bit the htable routines. +- Major changes to SD acquire.c -- DIR can now reserve devices. Needs + lots of testing!!!! +- Made a special state code for DVD -- this simplifies the logic + of the code, but I probably broke it. Testing needed!!!! +- Add AutoChanger resource to SD, but not yet used. + +Changes to 1.37.2: +12Jan05 +- Integrate Preben 'Peppe' Guldberg 's + acl patch. Fix case where configured but no ACL exists. + Rework calling arguments to be shorter and positioned + more typically in Bacula usage. +11Jan05 +- Fix scripts/bacula.in to have awk on an environment variable + and add comments for Solaris users. +- Turn off inet_aton in src/lib/address_conf.c for Win32 +- Add new files to win32 build and eliminate a compiler warning. +- Add sample DVD Device resource to bacula-sd.conf +08Jan05 +- Integrate Nicolas' patch for direct DVD support. +07Jan05 +- Fix fstype error returns. +- Apply Preben's cleanup.patch which puts back much of the + cleanup code in src/filed/restore.c +06Jan05 +- Apply all of Preben's patches, but revert to old backup.c + and old restore.c in filed. Also turn off code in new + acl.c because of errors. The new code, when fully implemented + moves platform specific code into acl.c. + One of the patches also implements WildFile and WildDir -- thanks. +01Jan05 +- Implement Python in the SD (no events yet though). +- Fix some typos in the previous commit. +30Dec04 +- Enhance CDROM boot to include some documentation at boot time. +- NOTE!!!!! The CDROM will not boot 2.6 kernels because the + boot sequence has changed significantly. Updates to come + later. +- Add memtest option to CDROM boot. +- Include Nicolas' changes to fix llist JobMedia records. +- Make sure that ClientRunBefore/After messages from the program + are terminated with a newline. Add strerror to output error + messages. +- Return program exit status code in Win32. +29Dec04 +- Add memtest86 to Bacula Rescue disk +- Enhance Rescue disk startup screen +24Dec04 +- Move some variables to eliminate Solaris 2.6 compiler warnings. +- Fix the seg fault at the end of a job in the FD when using + old style include/excludes. +22Dec04 +- Apply Preben's ACL patch. +- Integrate Preben's restore patch. +- Integrate Preben's verify teaks. +- Fix doc/latex/Makefile to copy/remove .eps files when building + html and web outputs. +21Dec04 +- Fix Bacula so that it does not exit if there is a syntax error + in its conf file during a reload command. Bug 182. +- Apply fixes suggested for old Solaris networking. + Fixes bug 190. +- Apply Preben 'Peppe' Guldberg + three patches that clean up white space: + ws.patch.02.strings: + Breaks strings that span lines into concatenated strings. I am not sure + if you like this one. Other code works with concatenated strings, though. + ws.patch.03.trailing: + This removes trailing whitespace. No changes resulted from this for + my setup. + ws.patch.04.leading: + This replaces space runs at the start of line with tabs. No changes + again. +- Fix overriding storage specification to be done + through a subroutine. +- Fix autoconf so it runs with FC3. +- Add Python4.3 to configure search paths. +- Always copy and delete storage definitions into jcr. +- Check that VolumeName supplied by Python is valid. + Return 0 if not. +19Dec04 +- Fix undefined in non-Python build. +- Update rescue disk to include mkinitrd +- Fix umount_drives in rescue disk (only one arg to umount) +- Ensure that if SD is manually set in Console, it is used. +- Put generate_event on pointer and plug it in init. This + permits using it in /lib +- Correct despooling size reported to be Job specific rather + than for the whole drive. +18Dec04 +- Fix bug 207. jcr use count off by one when manually + scheduling jobs. +- Remove FNMATCH test in configure.in and always use + the one in our library to get the FN_CASEFOLD GNU + extensions on all platforms. +- While using the rescue CDROM after my computer would not + boot, I realized that it would be very useful to have + a umount_disks. So, it is not implemented, along with + updates to the READMEs and some minor tweaks. +- Moved mounting the CDROM in the rescue boot from /cdrom + to /mnt/cdrom (more standard location). +- Reboot in CDROM rescue should now work -- requires -d + option (no write) to work. +- Hopefully fixed all the IPV6/4 problems and buffer + problems with networking in lib. Bugs 190 and 204. + Cleaned up a lot of #ifdefing problems by using routines + in address_conf.c +17Dec04 +- Apply Preben 'Peppe' Guldberg + alist fix patch. +- Remove duplicate code from chksum.h (mentioned by Preben). +13Dec04 +- Integrate Tim Oberfoell patch to ACLs + to handle both the "standard" and "default" ACLs. +12Dec04 +- Integrated Preben 'Peppe' Guldberg + three cleanup patches (btest, verify, find). +- Integrated Preben 'Peppe' Guldberg + three cleanup patches (backup, chksum, and verify) +09Dec04 +- Integrated Preben 'Peppe' Guldberg + patch to avoid doing MTIOCGET on OSes that do not support + it such as OpenBSD. +- Integrated Preben 'Peppe' Guldberg + patch to add filesystem type matching to FileSets in the + Options resource. +- Integrated Preben 'Peppe' Guldberg + patch to add Mac OSX resource fork support (save/restore) + to Bacula -- HFS Plus support. +- Add FileSet to client Job listing query. +06Dec04 +- Integrated Preben 'Peppe' Guldberg + patch to backup directories skipped (due to no file system + changes or no recursion), and to add a slash to the end + of the directory name during the match process. +- Implement Jamie ffolliott + patch to dird_conf.c that enables Multiple Connections and + fixes a typo in show. The rest of his patch awaits my suggested + changes. +05Dec04 +- Implement run command in Python +04Dec04 +- Implement conversion of the manual, and some minor + tweaks to the script tags. +- Apply a patch supplied by Preben 'Peppe' Guldberg that implements + ignore case in wild cards and regexes. +- Fix a truncated line in the above patch due to my cut and paste. +03Dec04 +- Fix it so that the InChanger flag is only changed for Volumes + in the same Pool. +- Add PIDOF configuration path and apply to bacula.in +- Add user supplied patch to add inet_aton() of old Solaris + systems. +- Require pools to match before allowing multiple simultaneous + accesses to same storage resource. +- Add patch supplied by Martin to correct buffer overrun in + bsnprintf() with no library snprintf(). +02Dec04 +- Apply user supplied patch that implements No Hard Links. +- Document Python interface +- Add hardlink keyword patch supplied by David R Bosso +01Dec04 +- Fix non-python prototypes in dummy routines. +- Add python 2.3 to config search list (user submitted patch) +- Add JobStatus to Python variables. +28Nov04 +- Add "python restart" command in Console. +- Make built-in variables table driven. +- First cut of Python Events for Bacula. Director only. + StartJob, EndJob, NewVolume events. diff --git a/docs/techlogs/2005/nb-1.37 b/docs/techlogs/2005/nb-1.37 new file mode 100644 index 00000000..b9bcce64 --- /dev/null +++ b/docs/techlogs/2005/nb-1.37 @@ -0,0 +1,93 @@ + Technical notes on version 1.37 + Nicolas Boichat + +General: + +Changes to 1.37.*: +26Oct05 + - dvd.c: update VolParts when writing the last part. +19Oct05 + - configure: add check for dd, remove check for df + - block.c:do_dvd_size_checks: Check we are writing to a dvd before doing tests + (reported by David Raine on the list, "[Bacula-users] LTO drive - End Of Volume error"). + - Update bacula-sd.conf.in to use dvd-handler correctly. + - dvd.c:dvd_write_part: Increase timeout when writing the first part (see the code for + more details). +18Oct05 + - Modify .backups command to get a fileset parameter (fix bug #444). +17Oct05 + - Fix bug when recycling DVD devices (append flag was removed). + - Add tests for dvd+rw-format in configure script. + - scripts/dvd-handler: Reformat DVD-RW when needed. This needs dvd+rw-format. + - Add patch for dvd+rw-tools in patches dir (this should probably be elsewhere). +16Oct05 + - Remove scripts/dvd-freespace and scripts/dvd-writepart, as they are now + merged into scripts/dvd-handler. Note: Documentation needs to be updated. + - scripts/dvd-handler: "zero" brand-new DVD+/-RW to fix a problem with some + DVD-writers, thanks to Arno Lehmann for reporting this, and providing the + way to fix it. + - new scripts/dvd-handler. Note: it also needs a patched version of dvd+rw-tools. + - new scripts/dvd-freespace. Note: it needs a patched version of dvd+rw-tools. + - dvd.c:dvd_write_part: Don't write empty part. (Fix 4GB crossing bug reported by Arno Lehmann) +14Oct05 + - dvd.c:dvd_write_part: Use part_size and not max_part_size when setting write timeout. + - dvd.c:do_mount_dev: When checking if the DVD is mounted, do not count ., .. and .keep (needed on Gentoo). +15Aug05 + - Convert dvd-writepart to Python. + - Increase delay from 3 seconds to 5 seconds between SIGTERM and SIGKILL when + killing external programs. +13Aug05 + - Add gettext macros in autoconf/gettext-macros. + - Modify how localedir is set in configure.in. + - Remove setlocale check (useless). +10Aug05 + - Mark translatable strings in all source files. +08Aug05 + - Create French and Italian translation files (fr.po, it.po). + - Add support for translation in configure and Makefiles. + - Update autoconf/aclocal.m4 so it is automatically created with aclocal + (Note: autoconf/gnome-macros is not used anymore, it may be removed). +30Jul05 + - Fix src/lib/bpipe.c:run_program and run_program_full_output to detect if the watchdog + killed the program, and return an error if it is the case. +26Apr05 + - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter + - lex_open_file now returns NULL if the file can't be opened. All calling functions have + been adapted. + - Remove set_exit_on_error function +07Apr05 + - Fix "unknown device type" problem with DVD devices. + - Fix crash when there is no media in the DVD drive. +09Jan05 + - Update the documentation and ReleaseNotes. +05Jan05 + - Add FreeSpaceCommand in Device (SD configuration file) and implement it. + - Some modifications (again) on how guessed volume names are handled (now it should work). + - Part files on the hard disk are removed if they are empty. +04Jan05 + - Major fixes on how guessed volume names are handled. + - Minor fix in src/stored/append.c. + - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c. + - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD. +03Jan05 + - Add WritePartAfterJob directive in Job resource (Director) + - Add WritePartAfterJob directive in Schedule Resource (Director) + - Implement these new directives +02Jan05 + - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume + name of a mounted device, so the label can be read. + - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W). + - Removed WriteFirstPartCommand directive in Device (SD configuration file). + - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev). +01Jan05 + - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file). + - Implement these directives (volumes can now be restored from a manually written DVD). + - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file). + - Implement these directives (DVD writing now works). + - New function run_program_full_output in src/lib/bpipe.c. + - Lots of bugfixes and cleanups in the new code. +29Dec04 + - Add VolParts field in Media table + - Add MaximumPartSize directive in Device (SD configuration file) + - File Volumes can now be splitted in multiple files ("parts") + - Fix SQL error in sql_list while doing "llist jobmedia" diff --git a/docs/techlogs/kes-1.37 b/docs/techlogs/kes-1.37 deleted file mode 100644 index 21090459..00000000 --- a/docs/techlogs/kes-1.37 +++ /dev/null @@ -1,1326 +0,0 @@ - Technical notes on version 1.37 - Kern Sibbald - -General: - -Changes to 1.37.36: -20Aug05 -- Landon's fix for NLS detection -- Eliminate incorrect compiler warning on FreeBSD. -- Move Win32 errno message build into berrno constructor. -- Minor Win32 build tweaks -19Aug05 -- A number of minor build Win32 fixes. -- Remove a PostQuitMessage() as suggested by Thorsten so that - BartPE restore can work correctly. -- Fix for create JobMedia so that VolIndex remains valid even - during a delete Job or pruning -- bug 402. -- Minor tweak for Win32 build. -18Aug05 -- Win32 fix -- remove debug O_NONBLOCK code. -- Fix bug 399 -- make_catalog_backup does not work for sqlite3 -- Implement unloading a volume in a different drive if it - is needed in the current drive. -- Implement search for unused autochanger drive. -- Implement search for exact Volume in reservation before - other searches. -- Fix picking up drive in Dir so that it is not done in - the status command. -- Eliminate double check on "loaded" for autochanger. -17Aug05 -- Start coding better reservation algorithm -- Always look for slot for label command. -- Add more debug code for autochangers. -- Apply fix from Stephan Leemburg for - improper scanning of schedule resource: - Run = Level=Full Pool=Catalog daily at 1:20 -- Apply patch from Chris Lee for - adding --enable-build-dird --enable-build-stored. -- Tweak datadir definition in configure.in -16Aug05 -- Fix bug that missed drive=nn specification. -- Eliminate nonblocking kludge in heartbeat of FD as - it caused high CPU usage. -- Pickup loaded slot when doing open() of tape drive. -- Make autochanger reservation code go through full list - first pass until exact match found. -15Aug05 -- Fix how FileSet is saved in job record to correct continual - Full save. -- Make datadir print on config.out listing. -- Move get FileSet record up in backup init to eliminate continual - Full save seen by Peter Sjoberg. -- Add VolumeName to read-only Python variables. -- Add VolumePurged event for Python. -- Suppress /dev/ Filesystem change prohibited INFO messages. -- Do not delete FT_RAW files before restore (allows FIFOs - to be used for restore). -13Aug05 -- Add drive specification to mount, unmount, release, label, - and relabel for Autochangers. Note Dir<->SD protocol has - changed. - -Changes to 1.37.35: -12Aug05 -- Disable parts of NLS as the configure does not work here. -- In job backup init (backup.c) define definitive Job level and - since time, *then* apply Job Pool override selection if any. -11Aug05 -- Modified bconsole script so that it is improperly - installed, it will refuse to execute. This avoids - recursive call loops. - -Changes to 1.37.34: -06Aug05 -- Apply David's ACL fix to src/filed/acl.c -05Aug05 -- Apply patches sent by David Duchscher for - making ACLs work on MacOS X and FreeBSD. -04Aug05 -- Apply patch in bug#397 that improved configure - - find readline under $with_readline/include/readline - - no libutil under Solaris - - no need for -ldl under Solaris -- Make reservation system single threaded during the - search to avoid two threads competing for the same - resource. -- Correct a return code in find_suitable_device_for_job() - Possibly cause of "busy writing to another volume". -03Aug05 -- Modify open() for tape so nonblocking really works. -- Use fcntl() to reset blocking status rather than close() - and reopen the drive. -- Make sure dev->open() is always called so that any change - in read/write permissions will occur. -- Open drives initially in daemon in read-only mode. -- Ensure that each time the VolHdr.VolumeName is zapped - or changed that free_volume() is called on the old name. - -Changes to 1.37.33: -03Aug05 -- Require 5 arguments to mtx-changer except list and slots -- Turn -EPIPE status returns from bpipe to ETIME -- Include Slot in SD status output -- Do not term_dev() during initialization in SD if the device - could not be opened. In the case of a tape drive, there may - be no tape in the drive. - -Changes to 1.32.32: -02Aug05 -- Correct PostgreSQL database scripts as suggested by a user. -- Add additional info to FATAL message generated when a device - is busy writing to another volume. -- Suppress an inappropriate NULL Volume name message after a cancel. -- Correct a warning message in reserve.c -29Jul05 -- Apply user's patch to make mutiple modifiers for times - work correctly. -- Make read_dev_volume_label() handle ANSI/IBM labels - correctly -- ie space over any label at the beginning - of the tape. -28Jul05 -- Make ANSI/IBM writing of HDR1/2 labels ignore any - errors if at end of tape. -- Apply Martin's patch to improve Python detection in - configure.in -- Temporarily turn off disk seeking until I find the - cause of the problem. -27Jul05 -- Add OSF1 patch supplied by user. -- Use number of files selected from write_bsr() only - if it is not defined. -- Explicitly seek to end of file when getting size for - restore test. -- Correctly set EndBlock position in JobMedia record - for files. -- Remove unnecessary set StartBlock in bscan. Caused bscan - regression error. -26Jul05 -- Modify mtx-changer to wait a maximum of 300 seconds. -- Do restart of failed jobs only for Backups job types. -- A number of DVD updates from Nicolas. -24Jul05 -- Turn off old service helper code in Win32. -- Correct Messages bug found by Phil in stored. -23Jul05 -- Complete (almost) documentation of 1.38. -- Add error messages for error conditions with VSS. -- Fix additional problems with VSS backup that I introduced. -Changes to 1.37.31: -22Jul05 -- Correct compiler complaints in wx-console and tray-monitor. -- Correct VSS problems recognizing c: -- Add VSS before job status -- Fix output of status from being one big line. -- Change cd xx; make to cd xx && make as suggested by Phil. -- Cleanup projects file -- Remove unnecessary casting of FF_PKT in filed. -- Apply Thorsten's bugfix for vss_generic.cpp -- Add check for df path for dvd_freespace -- Use df to get space used on DVD. -- Change sense of flag indicating erase DVD or not before writing. -- Fix bpipe so that it never modifies the result pointer. -- Replace more dev_name by print_name(). -- Rewrite edit_device_codes_dev() so it does not overwrite the - supplied buffer. -- Update printing of labels (for bls) so that critical information - is printed (Job name and timestamp). -- Cleanup old spool files when starting the SD. -- Modify vss.cpp to allow C: as a path name. Otherwise VSS - doesn't work when only a drive name is given. -- Modify vss.c to eliminate double / in filenames. -- Update doc -- particularly the restore chapter. -18Jul05 -- Make all files in working directory have .xxx at end. -- Work on DVD writing. -- Fix keepatime bug (bugs database). -- Move Python variables from Job to Bacula. They are - DirName, Version, ConfigFile, and WorkingDir -- Fix delete of bootstrap to only occur on Bacula created - filenames. -- Allow cancelling a Job name that is not active. It is - sent to the daemons. -17Jul05 -- Fix name space pollution by OpenSSL 0.9.8 reported by - Matthias Kurz -- applied his patch. -- Fix bpipe.c so that it does not modify results pointer. - ***FIXME*** calling sequence should be changed. -- Remove some remaining references to dev_name. -- Fix calls to mount_dev() and unmount_dev() to - correspond to returned value (bool instead of int). -- Try without success to make DVD writing work. - -Changes to 1.37.30 released 16 July 05: -14Jul05 -- Fix "dir" command scanning field misalignment in - wx-console. -- Switch to using the wxWidgets Unicode library. -- Include msvcr71.dll in distribution. -- Add VSS to status line in Win32 FD if enabled. -- Get VSS build scripts working with Thorsten's help. -- Unlink the bootstrap file after sending it to - the FD. -- Remove sending include/exclude lists to the FD during - a restore -- deprecated code. -- Cleanup the bootstrap files in the FD. - -Changes to 1.37.29: -14Jul05 -- Remove old commented out code from configure.in -- Add baculavssfd.mak file for building VSS version of - Win32 FD. -- Correct date (year) in vss.cpp and vss_generic.cpp -13Jul05 -- I finally found and squashed the elusive SD crash. - I needed to initialize the used volume list before - firing off the device initialization thread. -Changes to 1.37.28: -11Jul05 -- Make sure that bpipe results are zapped even on - error return. -- Lots of documentation. -- Do not prune volume marked as append when needing a - new Volume. -- Print a warning message in SD if a non-used Volume - is specified and autolabel not turned on. -- Correct a bug in chksum.c concerning SHA1 signatures - (an * should have been & when checking for a bit flag). -- Print File:Block for all label records in label.c -- concerns - primarily bls when doing Job listings (-j). -- Correct is_volume_in_use() to return false if testing - on the same device where the Volume is already mounted. -- Define a init_done flag in the SD that is set when the - devices are initialized and make users connecting wait. - This prevents useless connect failure warning messages. -- Do additional device locking in ask_op_to_mount_volume() - to prevent race conditions with a user labeling a Volume - or autolabeling. -09Jul05 -- Add a test for error return from bnet_wait... in heartbeat.c - in FD to avoid CPU loop. -- Implement TLS in gnome console and wx-console. -08Jul05 -- Correct a NULL pointer reference in the mount command. -- Correct typo in Copyright -- Add detection of EOM for IBM drives (i.e. errno == ENOSPC) -07Jul05 -- Remove temp file created in mtx-changer script. -- Make fsf_dev() into a class method. -06Jul05 -- Modify mtx-changer.in script to return slot:barcode for - Volumes that are loaded in the drives. -- Correct some more places where dev->is_blocked() needs - to be checked in dircmd.c in SD. -- Update doc. -05Jul05 -- Add code to ensure that reserved but unused volumes - are freed. -- Correct how Volumes are mounted and handled so that the SD - does not get stuck if multiple volumes are used (recycling, - relabling, ...) -- Correct bug where you could relabel a volume while it - was being acquired -- created chaos. -04Jul05 -- Correct seg fault caused by open() calling sequence change. -03Jul05 -- Add new rc-chio-changer script by Rudolf Cejka to - examples/autochangers -- Apply Rudolf's changes to bacula.in -- Expand the space from 8 to 10 characters in editing - file sizes for restore and dir of catalog, otherwise - GB sizes are truncated -- fixes bug report. -- Modify wx-console to know about 10 character widths. -- Allow decending into top level directory if "recurse=no" - is set. Fixes a bug report. -- Install pthreadVCE.dll when installing console or wx-console - on Win32 systems. Fixes bug report. -02Jul05 -- Tweak dvd-writepart script to prevent door from opening/closing - so much. -- Remove GROUP BY in several PostgreSQL commands to prevent error. - Resolves bug report. -- Ensure that < as first character of filename list is not treated - as a directory for restore. -- Add debug to heartbeat in FD as it seems to go into an - infinite loop from time to time during SD failure in DVD writing. -- Add more debug code to dvd writing. -- Attempt not to destroy existing fs on DVD. -30Jun05 -- Detect device mounted for DVD and suppress be sure to - mount message after label. -- Set Cleaning tape status to "Cleaning" and force no - MediaType. -- Get DVD writing working with new standard Bacula open() - code. -- Rename get_filename() to make more sense. -- Detect "is already mounted on" on mount command so to avoid - error if device is already mounted. -- Eliminated guess_name() code. It may be necessary to - add it back later. -- Eliminate seg fault from printing invalid results. -- Make dvd_write_part() bool. - -29Jun05 -- Attempt to fix DVD writing by eliminating a number of the - DVD subroutines to simplify. -- Modify DEVICE::open() to take dcr as first argument. This - will permit providing more info to DVD opening. -- Fix scanning for time/size items which in some cases - ate the next line. -- Eliminate read_dvd_volume_label(). New code (not yet written) - *must* open dvd appropriately before calling - read_dev_volume_label. -- Modify open_first_part() open_next_part() to take DCR as - argument. -- Make label command from console work on DVDs. -- Make mount command from console work on DVDs. - Unmount does not work yet. - -Changes to 1.37.27: -27Jun05 -- Add Database vendor to CatalogRes tuple for Python. -- Update doc -- Implement DoesVolumeExist(Vol) for Python. -- Prevent python command from seg faulting if no arg given. - -Changes to 1.37.26: -26Jun05 -- Add set_mode method in DEVICE. -- Correct set_mode method in DEVICE -- Add more DVD debug info -23Jun05 -- Check for incorrect duration and size modifiers in conf files. -22Jun05: -- Make Version a tuple (version, build-date) -- Add CatalogRes tuple (DBName, Address, User, Password, - Socket, Port) -- Add Version, ConfigFile, and WorkingDir as Python attributes - in the Director. -- Implement code (principally for Win32) that on failure to - create a file, it will cd into the directory and attempt - to create the file using a relative path. This avoids creating - files with paths which fail on Win32. -- Fix parsing of times and sizes with decimal numbers. -- Make free_volume_list() in SD work if vol list is not - initialized (./bacula-sd -t). -21Jun05: -- Add debug error printout when open() fails. -- If open() of DVD fails in mount.c, return false. -- Split open() code for DVD into separate subroutine in dev.c - -Changes to 1.37.25 released on 20 Jun 05: -20Jun05: -- Remove (cd gnome-console; make clean) from src/Makefile.in -- Fix bug where Storage daemon gets confused about what - tape is mounted. (one line of code was inadvertently - deleted). - -Changes to 1.37.24: -18Jun05 -- DVD writing/reading seems to be mostly working. -- Set execute bits on dvd-freespace and dvd-writepart -- Make dvd-freespace use existing dummy file. -- Modify dvd-freespace to pickup size from Track Size: -16Jun05 -- Add Date, Job, level to updates to .bsr file in - dird/backup.c -- Add debug info to dvd-freespace.in -- Fix hard coded bacula.sql in make_catalog_backup reported - by a user. -- Make sure a verify volume to catalog never reports an error - if there are zero files to verify. -- Remove confusing debug info in filed/backup.c on network - error. -- Make sure output from console is not sent to system log. -- Convert open_dev() into a class method. -- Change VolHdr.VolName to VolHdr.VolumeName. -- Add a flag in the device state word to indicate that - we found Media in the drive (DVD). -- Make mount_dev() and unmount_dev() return bool. - -Changes to 1.37.22: -14Jun05 -- Fix the same state variable problem in open_next_part(). -- C++ify the SD code a bit more. -13Jun05 -- Add more debug code and clarify debug code for DVDs. -- Do not save and restore state in open_first_part() - since state should be properly set after open_dev(). -- Make default mandir /usr/share/man -- Install Bacula man page. -- Implement passing of FileSet Enable VSS to FD. -- Move main body of reserve drive code into subroutine - so that it can be called multiple times. -12Jun05 -- Eliminate getpass() for Win32 builds in console as the - function does not exist. -10Jun05 -- Correct some reservation problems in SD when no devices - are available. -- Start removing #ifdef HAVE_TLS by sneaky tricks. -- Begin implementation of TLS in wx-console -- Remove ignoring SIGCHLD from console. -- Rework the dlist binary search routines for implemenation - of the Volume reservation code -- make it more general. -- Strip double slashes // from Win32 filenames in an attempt - to resolve restore problems on some systems. -- Fix a minor bugs in the trace code that caused the first - line output to be lost. -- Implement a good first cut at adding Volume reservation code - to the storage daemon (in file reserve.c). -- Remove old unused code from the tree.c routines. - -Changes to 1.37.21: -06Jun05 -- Fix compile problems on Win32 -- Start writing Volume reservation list (already exists, but - is not really very good). -- Implement attribute caching to put Signature into database - at the same time as the file attributes thus eliminating a - number of database accesses. -- Correct a reservation problem. -- Implement full Dir Storage use. -- Reduce a bit of TLS #ifdeffing. - -Changes to 1.37.20: -04Jun05 -- Minor changes -01Jun05 -- Add more documentation to mtx-changer.in -- Correct link to manual in authenticate.c in various - directories. -- Create a new src/stored/reserve.c file where the - Use Storage command is processed and drives are - reserved. -- Modify src/stored/autochanger.c to keep track of each - Slot that is loaded for each device. -- Ensure that changer_command and changer_name are picked - up from Autochanger resource if not specified, and if - neither is specified, err. -30May05 -- Fix bextract.c compile problem -- Create bacula.man -- Make make distclean clean a bit better -29May05 -- Remove old code in jcr.c -- Make testls release jcr chain when terminating. -27May05 -- Implement Maximum Job Spool Size (actually DCR based) -26May05 -- Use light weight non-recursive locking on jcr chain. -- Make JCR a class and implement inc_use_count() and - dec_use_count() methods that ensure that the jcr is - locked when inc/dec the use count. -- Remove the global jcr lock when traversing the jcr - chain. -- Use dlist to implement the jcr chain rather than hand - crafted next and prev links. -- Lock the jcr chain inside each function that modifies - the chain. - -Changes to 1.37.19: -26May05 -- Fix compile problem of ua_restore.c on broken compilers. -- Apply patch from bug 326 to permit bacula status by any user. -- Fix bug 325 -- conversion of 12:30pm to 24hour time. -25May05 -- Put Dmsg() on inside if() to avoid calling subroutine. -- Make restore.bsr have unique name. -- Allow user to define bsr filename on restore command line - with bootstrap=xxx.bsr -- Add limit=nnn to "list jobs" command. -- Remove old restore code that did not use .bsr file. -- unlink automatically generated bsr file. -- Cleanup heartbeat code so that duped fd is almost sure - to be released. Previously under certain conditions, the - memory was not released due to race conditions. -- Shorten copyright. -20May05 -- Unify the reserve_device() for a single device into one subroutine. -18May05 -- Modify wait during use_device to happen only after all devices - have been examined rather than in the reserve_device code. -- Correct updating count of number of Volumes in a pool. - -Changes to 1.37.18: -16May05 -- Add more debug to SD for Autochangers + status output. -- Add Scratch to PoolType in PostgreSQL make...tables and do not - permit NULL PoolTypes. Fix for bug 319 reported by Eric. -- Update LICENSE. -- Add quotes around filename in parse_config error message. Bug - reported by Eric. -15May05 -- Change nested \include to \input so that sections are properly - included in the pdf manual -- update the Web site. -- Set reconnect flag in MySQL packet to 1 to ensure that connection - is re-established. MySQL 5 changed default to 0. Fixes bug report. -- Fix Scratch pool handling as reported in a bug by Eric Bollengier - by applying his patch. -- Remove delete job in favor of delete jobid. -- Add = NULL to configfile definitions as reported by Eric in a bug - report. -- Update winbacula.nsi.in to reflect new manual file structure. -10May05 -- Correct a minor build problem with wx-console. -- Add cancel() to Dir Python scripting. -- Re-correct bug in parse-config error handling. -- Reorganization of use_command in SD to permit - waiting and multiple drive autochanger support. -09May05 -- Correct bug in parse_config error handling. -- Where ever possible mark a volume in error or not - InChanger in mount.c -- Fix bug in changing tape pools after first backup. Reported - by Peter Sjoberg. -- Enhance mtx-changer to use Working Directory as temp. -- Remove all but initial setup locking of Res in SD. -08May05 -- Add Client OS type to Job report. -- Add version to manual -- Update the Web site to have a single page for - the documentation links. - -Changes to 1.37.18 release 08May05: -08May05 -- Correct attribute definition compile error in 1.37.17 -- Correct inverted order of CreateTime and MD5 pointed out - by a user in a bug report in FileSet db routine causing - the MD5 to print in the output instead of the time/date. - -Changes to 1.37.17: -07May05 -- Implement cstrlen() in sql list routines. -- Implement caching of attributes to add the - signature so that only one DB call will be made - per file. Not yet turned on. -- Fix Win32 build for TLS. -- Optimize File pruning to eliminate one database call. -- Fix bug that prevented File pruning from working. -- Implement a cstrlen() which returns the character - length of a UTF-8 string. -06May05 -- Move test for MaxStartDelay as suggested by Peter. -- Implement Python methods (I had to read the Python source - code). -- Implement run() method in Director. -- Add Priority and Scheduled time to Job report. -- Add JobInit and JobRun events. -- Add Priority as Python read/write attribute to Job. -- Correct typo in bsmtp reported by Jo. - -Changes to 1.37.16 released 05May05 -03May05 -- Make a few tls ifdef tweaks. -- Fix create_file.c Win32 problem pointed out by - Peter Sjoberg. -- Fix really ugly bstrncpy() but found by Thorsten. -- Move winapi.h/c from findlib to lib for inclusion in - multiple places. -02May05 -- Thorsten Engel finished his work on Win32 Unicode. We - now have a single executable that runs on all Win32 machines. -- Move job initialization code after job scheduling so that - Verify jobs check for the prior JobId after they are really - started rather than before. -- Fix lib/fnmatch.c so that it does proper testing before folding. -- More documentation -- at tls and ansi labels chapters. -- Fix fileset_convert.pl to handle empty Exclude statements. -- Turn regex back off in Win32 -01May05 -- Fix sign extension problem in lex.c that reads UTF-8 - with Chinese characters incorrectly. - -Changes to 1.37.14: -30Apr05 -- Remove a few HAVE_TLS #ifdefs -- Implement final Python style interface. More implemention to - be done, but the interface should change little if at all. -28Apr05 -- Make default no tls support. You must add - --with-openssl to get tls support. -27Apr05 -- Update Web header to include google search in the search - box -- thanks to input from Michel Meyers. -- Fix md5sum so that it builds with the new openssl stuff. -- Take some enhancements to the md5sum test program proposed - by a user. -26Apr05 -- Make option 2 of restore work better (list last 20 - locations for a file). -- Make SD re-open a device with the right permissions if - it was previously opened with something different. This - should allow reading read-only Volumes under all circumstances. -- Implement restore of a single directory. -- Apply Tru64 patch supplied by Pascal Pederiva -- Apply Unicode fixes for Win32 from "Thorsten Engel" - -- More work on Python read feature in FD. -22Apr05 -- Fix (hopefully) the ftello() overflow reported by Peter. -- Landon Fuller committed his TLS patch. -- Fixed two minor warnings in console.c with TLS turned off. -- Updated the Makefile.in for wx-windows and tray-monitor - to handle TLS. I can only build the tray-monitor. -- Fix bscan to open tape in read-only mode (actually fix - it so that it doesn't use the standard open routine). -- Correct what appears to be an error in setting the - return value in dvd.c -21Apr05 -- Get FD Python running -- design Python backup interface. -- Fix seg fault in SD when referencing Alert Command. -- More documentation. -- Fix one more thing in Win32 build. -20Apr05 -- Doc updates -- Fix Win32 build -- Put in production here - -Changes to 1.37.13: -19Apr05 -- Fix SQLite and PostgreSQL table creation script syntax - problems. -- Fix new Python code to work for Director. -- Move lib/python.c to lib/pythonlib.c so that debug output - is easier to read (can distinguish lib from dird, ...). -- Cleanup Python build so that Python is not dragged - into programs that don't use it. - -Changes to 1.37.12: -18Apr05 -- Make Bacula build without Python -- Drop Status table in drop_ scripts -- bug 283. -17Apr05 -- First cut of new Python implementation. -- Doc updates -- Correct SuSE autostart installation directory name -- - supplied by a user. -- Fix director crash if Name directive not supplied - in a Job. -- More cleanup of changing %u to %s for DB IDs. -- Replace dev_can_write(dev) with dev->can_write(). -11Apr05 -- Make fsr_dev() a method dev->fsr() -- Remove Created new FileSet message as it always comes out in - the daemon messages. -- eliminate dev_is_tape() in favor of method dev->is_tape() -- Turn on disk seeking during restore for Disk Volumes. This - required some changes to bscan -- they seem a bit suspect as - they are not symmetrical for tape/files. -- Remove some of the recursion in stored/parse_bsr.c -- Move rescue out to a new Bacula project. -08Apr05 -- Update of web site to replace old released doc with LaTeX - version. -- Replace logo in doc with new bat logo. -- Make a good number of updates to the manual. -- Implement Python scripting using a Python object. - This makes interfacing with Bacula cleaner (object - oriented). -- Add Phil's Status table to the database -- used - for getting a text description of the status - codes. -- Modify FileSet so that an empty Options (no - pattern matching) with an exclude will exclude - all files. -- Modify FileSet so that no top level included File - item can be excluded by a matching pattern. -- Suppress Created new FileSet record in daemon output. -- Implement Python in FD. -- Turn off old bfile reader code -- to be replaced - by Python. -05Apr05 -- Remove more recursion in src/dird/bsr.c as pointed out - by Peter. -04Apr05 -- Increase the index width of Filename and Path entries - to 255 chars -- suggestion of Meno Abels. -- Change remaining VARCHARS to TINYBLOBs. -- Remove recursion from is_volume_selected() following - bug report from Peter. -- Implement mostly correct handling of use_storage in the - SD with full lists, ... -02Apr05 -- Reset NumVols in Pool record from database on every update - Pool. -- Modify DB to support multiple simultaneous copies and - RAIT stiping. -- Pass copy and stripe between DIR and SD and put into - the JobMedia DB record. -- Update and test SQLite and MySQL datebase creation and - update scripts. -- Implement version 9 of the DB. -31Mar05 -- Convert more atoi to str_to_int64() for DB. -- Implement filling in NumVols by querying DB rather - than trying to keep track of it. -- Add storage name to string passed to in use storage= -- Fix newVolume() so that the Python script is always - called. -- Fix handling of pool,PoolId, and storage in ua_output. -- Same fix in ua_status.c -- Remove required locking of resources -- Replace pthread_cond_signal() by pthread_cond_broadcast() - hoping to fix the /lib/tls hang problems (lost signal). -- Move resource locking seaching from parse_conf.c to res.c - in src/lib. -- Modify end of volume handling so that fixup_... does not - redo what block.c has already done -- writing Vol info to - DIR. This fixes a bug with bad numbers of files on a tape - when it filled as reported by Peter. -- In release_device() do not update the DIR on the Volume - info if the the information was already written at the - end of the tape. -28Mar05 -- NOTE!!!! This version has a new DIR <--> SD protocol. Both - must be updated at the same time. -- Begin implementation of passing all the Storage and Device - possibilities to the SD for examination during the reserve - phase. -- Modify the reserve and acquire code in the SD to make a - job wait if the device is not available. -- Implement New Volume Each Job in DIR and pass to SD, not yet - used. -- Remove init/update of the Device resource in DIR -- Remove passing PoolId to SD and back. -26Mar05 -- Remove \a and -e from error echos in most Makefiles. -- Add more debug code when there are errors on the tape - to try to find Peter's tape problem. -- Add wait.c (oops forgot previously). -- Move all the reserve/acquire_device_for_read/append to have - only a DCR as the argument. -- Rework the reserve_device_for_append() in stored to wait - if the drive is not available. Note! This is a short - term solution. -25Mar05 -- Comment out Multiple Connections in the document. -- Move the P() and V() to subroutines so that they can be accessed - from class methods. The reference to strerror() caused problems. -- Implement new DEVICE class methods block() and unblock() that - do what was previously done in 3 lines of code. -- Implement wait_for_device(), which will wait for any device - to be released then return. This requires a new global mutex - and condition variable, and is implemented in src/stored/wait.c -- Change the code in reserve_device_for_read(), which previously - failed the job to use the new device wait code. -22Mar05 -- Apply reschedule patch to 1.37 code. -- Add copyright to title page of manual so it is clear. -- Create patch for rescheduling problem found by Ludovic. Storage - pointers were lost during rescheduling. -- Attempt to fix 2.6 rescue disk -- failed! -- Start working on adding a wait routine in the SD. -- Cleanup some old invalid doc in watchdog. -- Convert a number of references to dev->dev_name to dev->print_name(). -- Add new wait.c file to SD. -- Add a few more methods to DEVICE in SD to cleanup code a - bit -- implement a few of the methods. -18Mar05 -- Fix more print_name()s for printing device name. -- Modify open_dev to try 10 times every 6 seconds to - open the device if it gets an I/O error (meaning no - volume mounted). This gives a bit of settling in time - for an autochanger and avoids spurious messages. -- Change all yes/no to yes|no in the manual. -- Fix win32 create_file.c typo. -- Fix a typo in an error message. -17Mar05 -- Detect if fseeko exists with autoconf. If so, use it - and ftello. -- Remove old bacula-*.conf from examples directory (out - of date). -- Remove latex-fr index files from CVS. -- Rewrite code that stops reading the tape so that the - tape is marked at EOT, then once the work is done, - the EOT flag is removed. -- Flush output to file after every send in console. -- Make setting VolFiles to smaller number fatal. -- Disable Multiple Connections code. -- Add patch from user for NetBSD statvsfs() fix to - fstype.c -- Take more care with errors in acquire.c -- Don't run through dvd code in append.c if bad status - returned. -- Modify code so that an autochanger fault is fatal. -- Use dev->print_name() in more places. -- Implement dev->can_steal_lock() to simplify code. -- Make btape re-read first 10000 records on fill command. -- Check error return and fail job from fseeko and ftello - in spool.c. Don't let a -1 slip in as size. - -Changes to 1.37.7: -15Mar05 -- Apply NetBSD patch from kardel in bug 258. -14Mar05 -- Add a second job and a second client to the default - bacula-dir.conf file. -- Remove old style Include/Excludes. -- Fix ANSI labels to put EOF1 and EOF2 after each file mark. -- Add Python to SD and FD. -12Mar05 -- Implement IBM labels -- Implement EOF and EOV labels at the end of a volume. -- Fix a rather ugly problem with the PoolId not getting - passed correctly. Now the DIR passes the Pool name and - Media Type to the SD, who passes them back when requesting - the next Volume. The DIR then looks up the correct PoolId. - This takes more time, but always works, AND allows wild - card Media Types (i.e. the SD can decide). -- The DIR <==> SD protocol has changed. - -Changes to 1.37.6: -11Mar05 -- Fix scanf of PoolId in catreq to handle 64 bit Ids. -10Mar05 -- Add new ua_update.c file and move update_cmd there. -- Modify "update slots" to obtain actual number of slots. -- Tweak autochanger code to handle new slots request. -- Modify autochanger code to lock/unlock around slots and - update slots code. -09Mar05 -- Patch the FD so that it does not issue an error message if - it attempts to restore the permissions on a Win32 drive. -- Edit "Resource-name" (physical-name) for the device name - everywhere in the SD. -- Remove .linked.tex files in preparation for cutover to - using .tex in place of .wml. -08Mar05 -- Copy latest config.sub and config.guess from autoconf. -- Try new way of identifying drives with: - "resource-name" (physical-name) - More work need to a complete conversion. -07Mar05 -- Rework some of the autochanger data so that the DIR has - the number of drives. -- Modify the way the Device info is returned so that it comes - back as a special message type and can be sent anytime the - Device status changes. -- Copy the change name and changer command into the device - record if none is specified. -- Require the change command and changer name to be specified in - and AutoChanger resource. -- Force all the Media Type records of all devices in an Autochanger - to be the same. -06Mar05 -- Add new "run" command to Job resource in DIR. This permits - cloning a job as many times as you want. -- Pass PoolId to SD on Query request. It is now used in the - Find_media catalog request. -- Reworked the Device resource in the DIR. Eliminated num_waiting - and use_count, but added max_writers, reserved, and PoolId. -- This DIR is nolonger compatible with previous SDs. -- Add since and cloned keywords to the Console run command - to support cloning. -- Implemented store_alist_str() to allow multiple string items - to be specified in a .conf file. -- Added %s (since time) to Job code editing. -- Reworked reserving drives in the SD. It now does it much simpler - and correctly. -05Mar05 -- Integrate HP-UX patch from Olivier Mehani -- Fix FD job.c to test correctly for no level. - -Changes to 1.37.4: -04Mar05 -- Change Developers to Developer's Guide as requested by Michael. -- Fix developers link in manual -- Add additional dcr changes in SD to allow multiple dcrs. -02Mar05 -- Fix a few problems with the MySQL table create in 1.37. -- Delete the new tables in the table delete files. -- Increase the number of items permitted in a conf table. -- Make Director loop over alternative Devices specified in the - Storage resource until one is reserved by SD. -- Fix storing of StorageId in Media records. -- Add AutoSelect = yes|no in bacula-sd.conf -- Add Autochanger support to Label command. -- Do not autoselect devices with autoselect set false -01Mar05 -- Implement setting DIR Storage device to Autochanger - name. -- Select first available device in Autochanger. -- Pass back actual device name used. -- Allow Query of AutoChanger. -- Modify Query to include name of AutoChanger if - Device belongs to one. -- Remove old Pool code in jobq.c -- Add Autoselect flag to query and DEVICE class (still - need Directive). -28Feb05 -- Lock autochanger script when running. -- Mark Volume not InChanger if correct volume is not - autoloaded. -- Corrected some typos in the make_xxx_tables.in files. -- Made preliminary split of pre-run and run code for each - job type. This will permit early opening of SD for reserving - drives. -- Add offline and autochanger fields to Device Query record. -- Correct pthread_mutex_init() for autochanger in SD. -- Tweak Makefile for LaTeX manual, plus add nav buttons. -26Feb05 -- Clean up drive reservation system. Add more sanity checks. -- Implement a few more methods for the DEVICE class in SD. -- Add latex directories to make clean -- move DEV_BSIZE to B_DEV_BSIZE to avoid conflicts with - certain header files (FreeBSD). -24Feb05 -- Fix an ASSERT that was triggering in stored/acquire.c - attempt to fix a bug report. -23Feb05 -- Corrected SunOs to SunOS in btraceback (user submitted). -- Applied patch from Roger HÃ¥kansson - to warn the user of defective AWKs during ./configure. -20Feb05 -- Add some changes submitted by a user for HP client build. - Not all changes accepted. -- Rework code in filed/backup.c to ease #ifdefing and make - program flow more obvious. -- Split DVD code out of dev.c into dvd.c -- Tweak #ifdefing to add back all the performance measurement - #defines in version.h -- Put most of MTIOCGET code in a subroutine to simplify the - mainline code. -- Make clean remove old CVS files -- Remove unnecessary image files from Latex directory -- Implement remaining parts of Storage DB record and - its use in the Director. -- Implement - FullMaxWaitTime, Differential Max Wait Time, and - Incremental Max Wait time in Job resource. -- Start work on SD Autochanger code. -19Feb05 -- Add back JobId index for MySQL as default -- speeds up - pruning. -- Add more database fields and fix the update scripts to - include the new items. -- Pass actual level to FD so that ClientRun editing can reflect - correct level -- ditto for job status. This makes the DIR - incompatible with older clients! -- Move jobq.c acquire resources to static subroutine so that - the code logic becomes clearer. This is in preparation for - actually using the new Device resources. -- Fix some lower case problems in sql_cmds.c reported by - Debian. -- Correct a seg fault in the SD reported by a user. Occurred - only when a high debug level was set. -- Modify init_dev() in dev.c to take JCR as first arg so that - proper error messages can be reported in next item. -- Modify the query and use device SD commands to attempt to - open the device if it could not previously be opened. -- Correct error message for Could not reserve device. -- Correct some minor details with Autochanger resource in SD. -18Feb05 -- Fix seg fault if debug level 900 set in SD. -- Truncate Win32 child return code to 8 bits. -- Remove some old lld's. - -Changes to 1.37.3: -16Feb05 -- Make another attempt at fixing the ClientRunXXX return code - bug on Win32 machines. -- Apply ua_status patch from Carsten Paeth - which enforces console ACLs in the status command for Jobs. -15Feb05 -- Fix Media LabelDate and FirstWritten to be correctly set. -- Fix deadlock in multiple simultaneous jobs. -- Fix tape "truncation"/"number of files" after restore bug. -10Feb05 -- Ensure that correct error messages are returned when - reading an ANSI label. -09Feb05 -- Modified ANSI label code to preserve any ANSI label - already found by skipping over it rather than rewriting - it. -- Split the ANSI label code into ansi_label.c -- Do not let user relabel an ANSI labeled tape. -- Applied a patch for the console help command supplied - in a bug report. -- Added some new dev methods. Most notably was - set_eof(), which handles setting all the dev variables - when an EOF is just read. This is now used most everywhere - in the code. -07Feb05 -- Added code to detect that no files were inserted into the - tree for a restore. If a specific JobId was specified, the - user has the option of restoring everything. -- More progress in implementing 64 bit DB Ids. -- Modified the daemon start messages for RH. -- Implement update scripts for all database types. -- First cut at implementing restore directory (it will not - recurse). -04Feb05 -- OK, I think ANSI labels work. -- Added Label Type = ANSI|IBM|Bacula to Device resource in SD. - If this is set, it will force writing of the appropriate - label type. -- Added Check Labels = yes|no to Device resource in SD. If this - is set, Bacula will check for ANSI labels and accept them, - otherwise, ANSI labels will not be accepted when the tape - is first mounted. -02Feb05 -- Second cut ANSI labels. -01Feb05 -- Merge Preben's patch for ACLs and for Mac OS X resource forks. -- Some doc updates. -- Display more informative message when a device was not - found or could not be opened. -- Add the sqlite3 database scripts. -- Add some patches for 1.36.1 (note, I have now prepared - a 1.36.2 with all the patches and some new features -- - to be documented). -- Some minor doc updates. -- Add Arno's baculareport.pl script to the examples directory. -29Jan05 -- after vacation -- Add support for SQLite3 (it seems to run at 1/2 the speed - of SQLite2). Use --with-sqlite3 instead of --with-sqlite - to get SQLite3. -- Add target for running qemu to boot Rescue CDROM -- Add code to support kernel 2.6 in Rescue CDROM -- does NOT yet - boot correctly. -- Implement ANSI labels -- not yet tested. - This required changes to DB format. No upgrade script yet. - Note, more work needed to modify "update" command to handle - changing label types, also must restrict volume name lengths - to 6 characters. -- Add new Device, Storage, and MediaType records to DB. No - upgrade script yet. -- Add MediaType to bsr file record types. Not yet used in SD. -- Permit multiple device specifications in Storage resource in - Dir conf file. -- Implement Device resources. Director requests Device resource - info from SD on startup. -- Note!!!! DIR->SD incompatible with previous versions. -- Remove multiple Storage definitions in Job resource. One can - still specify multiple Storage resources, but they all go into - a single alist, and imply sending data to each Storage daemon - simultaneously. -- Implement Device query command between DIR and SD. -- Allow DIR to "reserve" a Device. It will then be acquired - when the FD connects to the SD. -- Turn all DIR resources into classes, and implement a few class - methods -- more to come. -- Turn DEVICE in SD into a class, and implement a number of inline - class methods -- more to come. -- I had serious problems with ACL errors on my Laptop, and so had - to add the following patch: - @@ -181,7 +181,7 @@ - } - /***** Do we really want to silently ignore errors from acl_get_file - and acl_to_text? *****/ - - return -1; - + return 0; - } -- Added edit_int64() -- Reworked and tested a bit the htable routines. -- Major changes to SD acquire.c -- DIR can now reserve devices. Needs - lots of testing!!!! -- Made a special state code for DVD -- this simplifies the logic - of the code, but I probably broke it. Testing needed!!!! -- Add AutoChanger resource to SD, but not yet used. - -Changes to 1.37.2: -12Jan05 -- Integrate Preben 'Peppe' Guldberg 's - acl patch. Fix case where configured but no ACL exists. - Rework calling arguments to be shorter and positioned - more typically in Bacula usage. -11Jan05 -- Fix scripts/bacula.in to have awk on an environment variable - and add comments for Solaris users. -- Turn off inet_aton in src/lib/address_conf.c for Win32 -- Add new files to win32 build and eliminate a compiler warning. -- Add sample DVD Device resource to bacula-sd.conf -08Jan05 -- Integrate Nicolas' patch for direct DVD support. -07Jan05 -- Fix fstype error returns. -- Apply Preben's cleanup.patch which puts back much of the - cleanup code in src/filed/restore.c -06Jan05 -- Apply all of Preben's patches, but revert to old backup.c - and old restore.c in filed. Also turn off code in new - acl.c because of errors. The new code, when fully implemented - moves platform specific code into acl.c. - One of the patches also implements WildFile and WildDir -- thanks. -01Jan05 -- Implement Python in the SD (no events yet though). -- Fix some typos in the previous commit. -30Dec04 -- Enhance CDROM boot to include some documentation at boot time. -- NOTE!!!!! The CDROM will not boot 2.6 kernels because the - boot sequence has changed significantly. Updates to come - later. -- Add memtest option to CDROM boot. -- Include Nicolas' changes to fix llist JobMedia records. -- Make sure that ClientRunBefore/After messages from the program - are terminated with a newline. Add strerror to output error - messages. -- Return program exit status code in Win32. -29Dec04 -- Add memtest86 to Bacula Rescue disk -- Enhance Rescue disk startup screen -24Dec04 -- Move some variables to eliminate Solaris 2.6 compiler warnings. -- Fix the seg fault at the end of a job in the FD when using - old style include/excludes. -22Dec04 -- Apply Preben's ACL patch. -- Integrate Preben's restore patch. -- Integrate Preben's verify teaks. -- Fix doc/latex/Makefile to copy/remove .eps files when building - html and web outputs. -21Dec04 -- Fix Bacula so that it does not exit if there is a syntax error - in its conf file during a reload command. Bug 182. -- Apply fixes suggested for old Solaris networking. - Fixes bug 190. -- Apply Preben 'Peppe' Guldberg - three patches that clean up white space: - ws.patch.02.strings: - Breaks strings that span lines into concatenated strings. I am not sure - if you like this one. Other code works with concatenated strings, though. - ws.patch.03.trailing: - This removes trailing whitespace. No changes resulted from this for - my setup. - ws.patch.04.leading: - This replaces space runs at the start of line with tabs. No changes - again. -- Fix overriding storage specification to be done - through a subroutine. -- Fix autoconf so it runs with FC3. -- Add Python4.3 to configure search paths. -- Always copy and delete storage definitions into jcr. -- Check that VolumeName supplied by Python is valid. - Return 0 if not. -19Dec04 -- Fix undefined in non-Python build. -- Update rescue disk to include mkinitrd -- Fix umount_drives in rescue disk (only one arg to umount) -- Ensure that if SD is manually set in Console, it is used. -- Put generate_event on pointer and plug it in init. This - permits using it in /lib -- Correct despooling size reported to be Job specific rather - than for the whole drive. -18Dec04 -- Fix bug 207. jcr use count off by one when manually - scheduling jobs. -- Remove FNMATCH test in configure.in and always use - the one in our library to get the FN_CASEFOLD GNU - extensions on all platforms. -- While using the rescue CDROM after my computer would not - boot, I realized that it would be very useful to have - a umount_disks. So, it is not implemented, along with - updates to the READMEs and some minor tweaks. -- Moved mounting the CDROM in the rescue boot from /cdrom - to /mnt/cdrom (more standard location). -- Reboot in CDROM rescue should now work -- requires -d - option (no write) to work. -- Hopefully fixed all the IPV6/4 problems and buffer - problems with networking in lib. Bugs 190 and 204. - Cleaned up a lot of #ifdefing problems by using routines - in address_conf.c -17Dec04 -- Apply Preben 'Peppe' Guldberg - alist fix patch. -- Remove duplicate code from chksum.h (mentioned by Preben). -13Dec04 -- Integrate Tim Oberfoell patch to ACLs - to handle both the "standard" and "default" ACLs. -12Dec04 -- Integrated Preben 'Peppe' Guldberg - three cleanup patches (btest, verify, find). -- Integrated Preben 'Peppe' Guldberg - three cleanup patches (backup, chksum, and verify) -09Dec04 -- Integrated Preben 'Peppe' Guldberg - patch to avoid doing MTIOCGET on OSes that do not support - it such as OpenBSD. -- Integrated Preben 'Peppe' Guldberg - patch to add filesystem type matching to FileSets in the - Options resource. -- Integrated Preben 'Peppe' Guldberg - patch to add Mac OSX resource fork support (save/restore) - to Bacula -- HFS Plus support. -- Add FileSet to client Job listing query. -06Dec04 -- Integrated Preben 'Peppe' Guldberg - patch to backup directories skipped (due to no file system - changes or no recursion), and to add a slash to the end - of the directory name during the match process. -- Implement Jamie ffolliott - patch to dird_conf.c that enables Multiple Connections and - fixes a typo in show. The rest of his patch awaits my suggested - changes. -05Dec04 -- Implement run command in Python -04Dec04 -- Implement conversion of the manual, and some minor - tweaks to the script tags. -- Apply a patch supplied by Preben 'Peppe' Guldberg that implements - ignore case in wild cards and regexes. -- Fix a truncated line in the above patch due to my cut and paste. -03Dec04 -- Fix it so that the InChanger flag is only changed for Volumes - in the same Pool. -- Add PIDOF configuration path and apply to bacula.in -- Add user supplied patch to add inet_aton() of old Solaris - systems. -- Require pools to match before allowing multiple simultaneous - accesses to same storage resource. -- Add patch supplied by Martin to correct buffer overrun in - bsnprintf() with no library snprintf(). -02Dec04 -- Apply user supplied patch that implements No Hard Links. -- Document Python interface -- Add hardlink keyword patch supplied by David R Bosso -01Dec04 -- Fix non-python prototypes in dummy routines. -- Add python 2.3 to config search list (user submitted patch) -- Add JobStatus to Python variables. -28Nov04 -- Add "python restart" command in Console. -- Make built-in variables table driven. -- First cut of Python Events for Bacula. Director only. - StartJob, EndJob, NewVolume events. - -Version 1.36.1 Released 26Nov04: -24Nov04 -- Take Dan's fix to the fix_postgresql_tables (thanks Dan) -- Increase Maximum Concurrent Jobs to 20 in SD and FD! -- Fix improper handling of autochanger Volumes that are not - marked InChanger. Bug 170. -22Nov04 -- Update authentication failure message to indicate possible - problem with Maximum Concurrent Jobs. Add to doc too. -- Commit PostgreSQL BIGINT fix -- apparently some people didn't - get it. -- Do not use a slot unless it is InChanger in the autochanger - code, otherwise autochanger gets upset not finding the Volume. - Bug 170 (need fix above too). -21Nov04 -- Make authentication timeout compile time configurable. - The value is set in src/baconfig.h -- Fix removing items from watchdog queue, which apparently - screwed up if there was more than one item. -- Rework mediaformat part of manual to separate out old - tape format for easier reading. -- Add a lot of debug code to the authentication code. -- Add seconds to the start/end times printed in the job report. -19Nov04 -- Fix mutex deadlock in dequeue of messages. -- Add debug code to FD authorization. -18Nov04 -- Increase authentication timeouts to 10 minutes. -15Nov04 -- Fix cancel bug in FD on /lib/tls with zero pid in - pthread_kill. -- Add date/time to all messages. -- Make Qmsg use time message was queued rather than time - printed. -- Indent job output two spaces. -13Nov04 -- Fix web page links for new manual. -- Grant postgresql permission to cdimages. -- Correct crash after "list nextvol" "list media" bug 160 -12Nov04 -- Fix scripts/Makefile.in missing ;\ -- thanks Martin -- A bit of work on btape to keep if from going into infinite - loops when things do not work well, and to print a bit - better info. -11Nov04 -- JobDefs Storage resource completely overrode anything - specified in Job resource -- bug 159 -- fixed. -- Fix syntax of renaming postgresql per Dan. -- Add working_directory to be /tmp for wx_console. -10Nov04 -- Allow both a JobId and a filename or list of files to be - specified on a restore command line. -- Save old mtx-changer before installing new one: bug 156 -- Fix errors in CDROM file pointed out by Scott. -09Nov04 -- Fix exepath when Bacula executed without path. -- Move test for socket libraries for Solaris in configure.in - before tcp wrapper tests so that linking works. -- Add "make copy-static-fd" to makefile in CDROM file to - copy existing static fd to CDROM rather than building it. -08Nov04 -- More doc updates -- Fix ps command for OpenBSD -- Rework the creation of indexes for SQL -- fall back - to the old code, but document what can be added. -06Nov04 -- Add new Daemon message handler in default DIR conf. -05Nov04 -- Fix Seg Fault with -D100 in bpipe.c. -- Fix Seg Fault in run specifying a JobId. -- Make mail from daemon with a Messages Resource use - the MailCommand with editing rather than the default - sendmail. -- Replace Jmsg in dispatch_message() with Qmsg. -- Make edit_job_codes handle NULL jcr. -04Nov04 -- Add M_ALERT class and put tape alerts into it. -- Fix Verify count vs found by not double counting files - that are split across files/Volumes. -30Oct04 -- Fix count returned from write_bsr_file() to handle multiple - volumes. This fixes most cases of the Verify VolumeToCatalog. -- Cleanup a bit the make clean for the rescue cdrom and remove - unneeded files from the CVS. -28Oct04 -- Fixed acquiring a tape so that it does not block all acquires - when operator intervention is needed. -- Platform build script updates from Scott -- Doc updates -- Add patch to force Linux LD_ASSUME_KERNEL to avoid using the - new /lib/tls. This is done in the startup scripts. -- Modify mtx-changer so that it checks for ONLINE while - waiting. -- Modify make_postgresql_tables.in so that EndBlock is stored - as a bigint. Prevents job failures when a disk volume is - larger than 2GB. -24Oct04 -- Add grep ONLINE to wait_for_drive() in mtx-changer.in -- More doc. -- Rebuild Scott's new configure diff --git a/docs/techlogs/nb-1.37 b/docs/techlogs/nb-1.37 deleted file mode 100644 index c9715dec..00000000 --- a/docs/techlogs/nb-1.37 +++ /dev/null @@ -1,65 +0,0 @@ - Technical notes on version 1.37 - Nicolas Boichat - -General: - -Changes to 1.37.*: -15Aug05 - - Convert dvd-writepart to Python. - - Increase delay from 3 seconds to 5 seconds between SIGTERM and SIGKILL when - killing external programs. -13Aug05 - - Add gettext macros in autoconf/gettext-macros. - - Modify how localedir is set in configure.in. - - Remove setlocale check (useless). -10Aug05 - - Mark translatable strings in all source files. -08Aug05 - - Create French and Italian translation files (fr.po, it.po). - - Add support for translation in configure and Makefiles. - - Update autoconf/aclocal.m4 so it is automatically created with aclocal - (Note: autoconf/gnome-macros is not used anymore, it may be removed). -30Jul05 - - Fix src/lib/bpipe.c:run_program and run_program_full_output to detect if the watchdog - killed the program, and return an error if it is the case. -26Apr05 - - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter - - lex_open_file now returns NULL if the file can't be opened. All calling functions have - been adapted. - - Remove set_exit_on_error function -07Apr05 - - Fix "unknown device type" problem with DVD devices. - - Fix crash when there is no media in the DVD drive. -09Jan05 - - Update the documentation and ReleaseNotes. -05Jan05 - - Add FreeSpaceCommand in Device (SD configuration file) and implement it. - - Some modifications (again) on how guessed volume names are handled (now it should work). - - Part files on the hard disk are removed if they are empty. -04Jan05 - - Major fixes on how guessed volume names are handled. - - Minor fix in src/stored/append.c. - - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c. - - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD. -03Jan05 - - Add WritePartAfterJob directive in Job resource (Director) - - Add WritePartAfterJob directive in Schedule Resource (Director) - - Implement these new directives -02Jan05 - - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume - name of a mounted device, so the label can be read. - - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W). - - Removed WriteFirstPartCommand directive in Device (SD configuration file). - - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev). -01Jan05 - - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file). - - Implement these directives (volumes can now be restored from a manually written DVD). - - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file). - - Implement these directives (DVD writing now works). - - New function run_program_full_output in src/lib/bpipe.c. - - Lots of bugfixes and cleanups in the new code. -29Dec04 - - Add VolParts field in Media table - - Add MaximumPartSize directive in Device (SD configuration file) - - File Volumes can now be splitted in multiple files ("parts") - - Fix SQL error in sql_list while doing "llist jobmedia"