From 960a462f49483fd121e0d18b72a13f398b445e98 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Thu, 24 Apr 2003 20:13:37 +0000 Subject: [PATCH] Update docs git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@463 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/ChangeLog | 265 ++++++++++++++++++++++++++++++++++++++++++++++- bacula/INSTALL | 3 + bacula/README | 2 +- 3 files changed, 265 insertions(+), 5 deletions(-) diff --git a/bacula/ChangeLog b/bacula/ChangeLog index f4fb0fcd86..3e78bed6dd 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,3 +1,262 @@ + +2003-xx-yy Version 1.30 released +- The new AutoMount code broke File archives -- fixed. +- Correct watchdog mutex race introduced yesterday. +- Add JobLevel to Admin run started by UA. +- Add -v to daemon startup scripts +- Implement bmicrosleep(sec, msec); +- Implement When for "run" command. +- Remove unsigned from socklen_t definition in hopes it will work better + with older systems. +- Remove code that attempts to set PID dir and SUBSYS dir if they + do not exist because it set them to sbindir! +- Modify mount to initially attempt to read the volume if Bacula + wants a tape, none is mounted, and "Automatic Mount = yes" is set. +- Prohibit setting --sbindir and --with-subsys-dir the same. +- Fix missing argument that cause Kaboom in update slots. +- Fix orphaned bsock when UA gets error contacting FD or SD +- Nearly full implementation of Win Backup API, but it does not + work due to lack of permission! Arggg! +- Implemented restoring directory permissions as they should be. +- Implemented reasonable regression script. It found a number of + restore errors. +- Implemented the following @ commands in the console that work directly + in the console rather than in the Director. + input - read input from a file + output - write output to file + tee - tee output to file and terminal + time - print current time + version - print current version + exit - quit + quit - quit +- Implemented new bfile io routines that will permit implementation of + Windows native APIs for reading/writing files. +- By default always update hard links with the prefix, but do + not update soft links. It seems inconsistent, but it is what + cp does. +- Implement wait command in Console that waits until no jobs are running. +- Fixed the < code in Include/Excludes, which forgot to skip over the <. +- Do NOT attempt to chmod() a soft link as it will change the file behind + the link! +- OOPS! Lutz ran into a problem. In attempting to prevent string overflows, + I used bstrncpy() on a variable that was malloc'ed thus truncating + Volume names! Arrrggggg! +- Lots of documentation of new features. +- Rework Volume name scanning in console, made much more logical + and corrected a bug (confusion in calling sequence). +- Cleaned up a few error messages in cats adding more info. +- Add the IP address to error messages due to bad connects to servers. +- Implement default File output in config files so user can start + saving right away without a tape drive. +- Protect inet_ntoa() with mutex in case it is not thread safe. +- Eliminate termcap from use in gnome console. +- Remove unused SD maximum volume files and maximum volume jobs. They + are implemented in the Director. +- Make the default for Incremental and Differential saves to compare + against both st_mtime and st_ctime rather than just st_mtime. + This includes files moved or copied. + Thanks to Matthias Wamser for bringing this fix to our attention. +- On Win32 clients, make a pass through the include/exclude patterns + and change any back slashes to foward slashes. Prevents creating + unusable directory names containing both conventions. +- Move ls -l output on restored files to M_RESTORED class. +- Make gnome-console compile correctly on RH8.0 +- label barcodes now works. +- Implemented "update slots". +- Tweak btape "test" to always print suggestion for re-read last block. +- Implemented "Cleaning Prefix" +- Update alter_mysql_tables.in +- More work on barcodes. +- Zap VolHdr in SD when attempting to label a tape that is not + there. Prevents false tape names the next label command. +- First cut of bar code reading is implemented. It doesn't do + anything but return the list to the Director. +- Implemented relabel command that relabels "Purged" Volumes. +- Check exit code in RunBeforeJob and err the job if it is non-zero. +- Remove old testsuite -- too complicated +- Print length when Authorization fails because of bad length. +- Fix problem of NumVols in Pool getting reset on startup. +- Implement full listing of DB records by listing them vertically + instead of horizontally. +- Make changes to mysql scripts as suggested by Lutz Kittler +- Fixed code to write Uname to Client record. +- Fixed a problem (in btape) where Pmsg() was not printing. +- Moved re-read last block test to last in "test" command of btape. +- Lots of new documentation. +- Fixed newvol.c to handle retrying 10 times if the volume name already exists. +- Removed int_least16_t from sha1.h because it does not exist on some systems. +- Release job in SD if canceled and waiting on a mount (better cancellation). +- Prompt for Client in restore if not specified. +- Print "Selection is empty!" if no selection list found. +- Add new spec files and bacula.desktop from Scott. +- Update client every time a job is run. +- Add verbose option to daemons for printing more user error info. +- Test if console works with readline 4.3 (yes, it is OK). +- Release new depkgs +- Release new winbacula. +- Add Uname info to Client DB record. +- Improve error messages and make them more consistent when a non-existent + Device is requested. +- Separated the -mwindows option so that only Windows programs + are built with it (bacula-fd, ...) the tty tools such as console + dbcheck, smtp, testfind, ... are now able to be run in a standard + Windows DOS box. +- Add | and < options to Exclude the same as in Include. +- Add typed in input to the text window in the gnome-console. +- Change function that gets the entry text (previously had orphaned buffer). +- Fix multiple Director problem in gnome-console (thanks to Lutz Kittler). +- Thanks to Renato, I was able to test Bacula on a FreeBSD tape drive. + There are a number of significant differences: 1. reading less than + the number of bytes in a record returns an I/O error. 2. ioctl(MTEOM) + looses the file position. 3. Reading two two EOF marks (or ioctl(MTEOM)) + leave you positioned after the second EOF, so you must backspace file + to be able to append. +- Added BSF at EOM = yes/no to Device resource to allow proper positioning + at the end of a FreeBSD tape. +- Made btape "test" do much better testing of error conditions (i.e. + it now ensures that the append went well). It will automatically + detect problems and apply fixes and then retry the test, if it + finally succeeds, it clearly says what directives need changing. +- Add Scott Barninger's rpm changes to the build environment +- Add changes to mtx-changer so users can add eject and sleep for + certain autochangers. +- Implemented FreeBSD chflags (user defined flags). +- Turn restore errors during setting of owner and modes into + warning messages -- for restoring files as non-root. +- Fix how prefixes are handled in restoring soft links. +- Modified btape "test" command to do only those things that + Bacula actually does. There is much more explanation, ... +- Update manual. +- Finally had to back up to gcc version 2 from version 3 to avoid version + 3 nightmares. +- Final cygwin tweaks. +- Move start time to *after* the resource locks are acquired. +- Unable to duplicate Phil's disabling of Bacula with nmap, but + did make the authentication code a bit more conservative for + dealing with bad input. +- Added code to the query command to escape all strings input + before substitution and sending to the SQL engine. +- Escape user entered filenames for restore command. +- Cleaned up the waiting code a bit -- using broadcast instead + of signal and counting the waiters. +- Implement new pthreads semaphore code. +- #define new semaphore code rather than workq on USE_SEMAPHORE. +- Lots of improvements to the document to address recent support requests. +- Implement cycle through a set of tapes suggested by Eugeny + Fisher with the "RecycleOldestVolume=yes" record in the + Pool resource. Basically this record causes Bacula to purge + to oldest tape when no more tapes are found. +- Correct a number of small incorrect interactions between limit + variables during recycling. +- Corrected a bug in db_create_media_record() where VolMaxFiles and + VolMaxJobs was not written to the database. +- When the Director starts, the Pool record is updated in the + database with the current contents of the Pool resource. +- Corrected bnet_connect() to immediately stop (rather than looping + for the timeout period) if there is a fatal error (socket, or + hostname to ip). +- Reworked "purge" code to make purging Volumes easier. +- Made "list volumes" list the volumes in all pools -- also + "list volumes pool=Default" does not produce and error message. +- List Pool record after doing "update pool". +- Remove pid file code from Win32 -- not really necessary. +- Make bnet handle null jcr during cancel rather than crash. +- Add CygwinInstall.bat and CygwinUnInstall.bat +- Add db_lock() around newvol.c code to prevent race condition if multiple + callers want a new Volume name. +- Lots of cleanup to Win32 code, with additional error messages. +- Make Bacula work on Win95 (test for GetAttributesEx). +- Add better error messages when end of media is reached or volume + capacity execed. +- Turned off signal catching in readline(), necessary to keep console + from crashing on ctl-Z with RedHat 8.0. Thanks to David Craigon for + testing this. +- Make the 3rd and hopefully final change to the Finclude structures. + This new version permits multiple sets of options (more code to be + written) to be applied against the same set of files. Thus one can + have options that with match of *.gz and a different set of options + for *.c, ... +- Integrated GNOME Console font resource code supplied by Phil Stracchino. +- Check for job_cancelled() in bnet_connect() code to stop wait loop if + client not available. +- Fix early end of file scanning conf file in lex.c, which previously + caused ABORT -- now reports error. This could happen with an unterminated + string for example. +- Move Maximum File Size code before write and detect error on writing EOF. +- Additional fix for Solaris 2.6 and a bdb.c fix submitted by Armin Buehler. +- Added detection for Solaris 2.6, which uses older setsockopt() calls. +- Defined sockopt_val_t for setsockopt() calls. +- Added fixes sent by Bevan Anderson that fix multiple connects to FD + (I zap keys for security, so must put back dummy key). Also a fix + to the Internal database that wrote garbage after the filename in + the database. +- Back out the __SVR4 changes. +- Add automatic configuration of socklen_t +- Attempt to fix problems reported by Lutz with multiple simultaneous + open file Volumes (experimental code). Serialized acquire. This may + fix the problem, but more thought and testing is necessary. +- Add table of "supported" autochanger models. +- Add Solaris 2.6 (__SRV4) changes sent by Peter Schmitz. +- Correct tape selection code in SD (|| => &&). Thanks to Chuck Hemker + for the patch. +- Eliminate FileOptions. Implement new Finclude and Fexclude that + have file options contained in it. New structure must be transmitted + to FD. +- Split Include/Exclude into new inc_conf.c file. +- Cleanup new Include/Exclude and FileOptions. Structures in Director + now correct. Must transmit FileOptions to FD. +- WARNING: With the adddress and port code in the Catalog you MUST + remove old address= and dport= records!!!!! +- Added code to remove cancelled jobs from the workq -- needs testing. +- Added first cut AIX from output James MacLean sent me. +- Second cut of FileOptions. +- First cut of parsing FileOptions and Counters. +- Added address:port for MySQL as well as socket for local access. +- Fixed job.c in filed to properly handle excluded files. Apparently + I changed the daemon protocol but forgot to update the code. +- Enhance testfind to handle include and exclude files +- Fix getdomainname() prototype for Darwin +- Added new -u and -g options for specifying userid and groupid to + use when running, so that Bacula can reduce its privileges. +- When Bacula was hanging due to an NFS volume being down, I + fixed a few places in the File daemon where is should have immediately + terminated the connection instead of waiting for the Director to do so. +- Added first cut support for Darwin. +- Temporarily comment out the O_NOFOLLOW to avoid possible subtle problems. +- Implemented O_NOFOLLOW in creating files in create_file.c to prevent + creating a file at the end of a symbolic link. +- Use chown() if lchown() does not exist (e.g. Darwin). +- Always close stdin on startup to avoid having /dev/console attached. +- Change all DATE occurrences to BDATE because it is used by Cygwin headers. +- Add printing of Volume names in SD status output. +- Display all open devices in device chain in SD status output. +- All changing Pool in console run command. +- Thanks to Eric Bollengier for pointing out that the run_program() + return status was not correctly generated. Now fixed (I hope). +- Corrected crash in Internal Database getting Volumes. +- Flush all daemon messages at the end of every job. +- Fix Install.bat script so that Bacula restarts after reboot on WinNT/2K systems. +- Minor changes in the gnome-console directory. +- Integrated in my old Tcl/Tk code into src/tconsole and moved it up + from C to C++. Pretty crude, but it is a beginning. +- Close syslog() %n exploit in message.c +- Edit space before each line in gconsole. +- Added INCEXE structure so we can have FileOptions. +- Added support for multiple simultaneous open file volumes. +- Fix hard linked files so that the one saved is always restored. +- Add * to restore "dir" listing to indicate marked files. +- Add ability to make md5sum and sha1sum in lib directory. +- Work a bit more on the new daemon protocol. +- Use unmask of 022 or more restive +- Create File volumes with 0640 permissions +- Added support for SHA1 signature. Need to modify DB to have type. +- Document SHA1. +- Work a bit on getting proper child status from bpipe calls. +- Added Ludwig's mtx-changer to the examples/devices directory. +- Added a Warning not to use the Internal Database when it is initialized. +- Compiled and tested SHA1, and added it to the library. +- Added code to print the "load slot" status after autoloading. + ============================================================================= 2003-01-24 Version 1.29 released 23Jan03 @@ -127,8 +386,7 @@ readfifo=yes 08Jan03 - Started implementing | and < on Include names. -- Changed source to . in cats directory as requested by - Andrew Kokarev. +- Changed source to . in cats directory as requested by Andrew Kokarev. ============================================================================= 2003-01-05 Version 1.28b released @@ -1552,8 +1810,7 @@ Changes submitted this submission: - Many intervening changes/updates. 2001-09-29 Release 1.0 Kern Sibbald - - Fixes to problems found at John's - installation. + - Fixes to problems found at John's installation. - See techlogs/kes25Sep01 for details 2001-09-25 Release 1.0 Kern Sibbald diff --git a/bacula/INSTALL b/bacula/INSTALL index 21c8b5bdb5..f7dd5d0d7b 100644 --- a/bacula/INSTALL +++ b/bacula/INSTALL @@ -36,3 +36,6 @@ Using GNU autoconfig 4. Build it (repeat step 2 as desired): make + + 5. Install it + make install diff --git a/bacula/README b/bacula/README index 716db7be55..fd5a3b952c 100644 --- a/bacula/README +++ b/bacula/README @@ -57,7 +57,7 @@ Build Bacula: lib/signal.c as I currently pull in all Linux signals, some of which may not be available on your system. -To creat the database: +To create the database: src/make_bacula_tables -- 2.39.5