From 18a2d382a15e736b087fbcc25c2b4005474d2fc4 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Fri, 4 Jun 2004 15:19:37 +0000 Subject: [PATCH] fix bsmtp, do release documentation git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1383 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/ChangeLog | 67 +++++++++++++++++++++++++++++++++++ bacula/ReleaseNotes | 52 ++++++++++++++++++++++++++- bacula/kernstodo | 10 +++++- bacula/src/findlib/find_one.c | 10 +++++- bacula/src/tools/bsmtp.c | 6 +++- 5 files changed, 141 insertions(+), 4 deletions(-) diff --git a/bacula/ChangeLog b/bacula/ChangeLog index 71a69c0dae..cae0d5befa 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,4 +1,71 @@ +2004-06-xx Version 1.34.3 xxJun04 Release +02Jun04 +- Print "Unimplemented" message if user does reload command in Console. +- Add DISTINCT to Volumes for restore in query message (user supplied fix). +- Fix crash in btape during read after fill -- important bug. +- Turn config parse ABORTs into ERROR_TERM in Storage daemon. +- Add dbcheck enhancements submitted by Mano Abels and + Jose Luis Tallon. +- Update autoconf files to latest version. +01Jun04 +- Modify jobq scheduler to require exclusive use of the Storage device + before starting it. +31May04 +- Eliminate a few compiler warnings on Win32 +- Change Win32 to use btimers instead of timers. +- Remove two returns in void subroutines in wxbconfigpanel.cpp +30May04 +- Apply Christopher Hull's check for error return from open_bpipe() + in filed/job.c +- Be sure to clear *all* bits in hourly when an hour is given. +- Apply a user fix to query.sql +- Check status code returned from _open_osfhandle in compat +28May04 +- Apply Peter Eriksson's bug fixes. +- Add Alpha (tru64) submitted by Scott Bailey. +- Update manual +- Add new Autochanger to list supported +- Cleanup src dir better after glade trashes it with junk +- Make another attempt to get hourly, daily, ... keywords working + intuitively and correctly. +- Prevent seg fault when no job name specified on "status job" +- Rename timers.h/.c in lib to prevent conflict on some machines +- Trap NULL DCR in block.c +- Add additional info to failed btape test pointing user to manual. +- Undefine DCR, which is defined on some stupid systems. +- Fix stored/dircmd.c not to quote Volume name on label query so that + "update slots scan" works right (the quotes confused it). +- Fix autochanger.c not to attempt to unload a slot if the prior loaded + request returned -1. +01May04 +- In testing for Mike Acar's problem. I *finally* found and nailed + the mount command that did not release a waiting job. The return + of a stolen lock forgot to broadcast. +- In examining Mike Acar's problems, it appears that the Bacula + block size is not always set to a multiple of 1024. I've modified + block.c to do so. +30Apr04 +- Add Excludes to new FileSet handling. +- Fix bsmtp.c to correspond to RFC-2821 by removing extra spaces. +29Apr04 +- Implement new style FileSets in both the Director and in the + File daemon. No filters yet. Both old and new styles work. +28Apr04 +- Apply the fixes Chris Hanson sent for mtx-changer and for detecting + PostgreSQL on debian. +- Rework File Options document +- Re-begin work on File Options. +- Add define for nl_langinfo in configure +- Add additional tape drives sent by Jesse. +27Apr04 +- Modify syslog in win32/compat to throw up a MessageBox(). +- Inhibit sending daemon messages to stdout if Win32 is set. +- PostgreSQL performance updates from Volker Goetz +- DB script updates suggested by Dan +- Doc updates + + 2004-04-26 Version 1.34.2 24Apr04 Release 24Apr04 - Get production build on Win32 of wx-console working -- mostly a problem diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index 9fce188d2d..56fd014a31 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -1,7 +1,57 @@ Release Notes for Bacula 1.34.2 - Bacula code: Total files = 345 Total lines = 99,835 (*.h *.c *.in) + Bacula code: Total files = 364 Total lines = 102,925 (*.h *.c *.in) + +Changes for 1.34.3: +Major Features: +- Implemented and documented the first cut of the new FileSet directives. + The first cut permits using wild-card matches for including files in + addition to excluding files. +- The Windows rescue procedure is confirmed for WinXP/2K (probably not NT). +- Modification of the PostgreSQL database creation scripts to improve + performance by removing foreign keys. +- Use trasactions on PostgreSQL to improve performance. +- Restore jobs will now not start until they can get exclusive use + of the Storage daemon Device previously they erred. +- Permit execution of more kinds of Win32 files with ClientRunxxxJob. + If an absolute path is specified, the filename must contain the correct + extention. + +Items to note!!!! +- If you are upgrading from 1.32, please be sure to see the database + upgrade procedure under the 1.34.0 notes. +- Although the daemons are compatible for all 1.34.2 features, + the new FileSet directives are not compatible with 1.34.2 daemons. +- Fixed several query.sql bugs. +- The behavior of the hourly, daily, weekly, and monthly keywords in + the Run directive have been changed to be more logical -- they only + affect the one item mentioned rather than all items. + +Other items: +- The wx-console has had significant improvements. +- Upgraded to latest autoconf files. +- Added BaculaRoadmap_v1.1.pdf in doc directory +- Fixed a crash in the btape "fill" command. +- Added a new alpha directory to platforms -- first cut. +- The mtx-changer script was broken in 1.34.2 -- it is now fixed. +- Pass all arguments on database creation scripts. +- I finally found and fixed the bug that in some cases required a double + mount to get Bacula to look at the tape again. +- Thanks to user input corrected (I think) the negative values that + sometimes occurred in the spooling statistics. +- Fixed several bsmpt bugs thanks to user input. +- Added user supplied code to read the Directors's conf file in dbcheck so + that remote databases could be contacted as well as the working directory + and other catalog parameters obtained. + + + + + + + + Changes for 1.34.2: Major Features: diff --git a/bacula/kernstodo b/bacula/kernstodo index 1765e921d5..51fbf5960a 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -43,8 +43,15 @@ For 1.33 Testing/Documentation: - Add multiple-media-types.txt - look at mxt-changer.html +1.34.3 Items: +- Document dbcheck conf changes. +- Add regression of btape "fill" +- Document if absolute path specified extension must be specified + on Win32. For version 1.35: +- Do tape alerts -- see tapealert.txt +- Implement restore directory. - Add All Local Partitions = yes to new style saves. - Document streams and how to implement them. - On Win95 @@ -57,7 +64,7 @@ For version 1.35: and upgrades the current backup if one exists. - Check that barcode reading and update slots scan works. - Try not to re-backup a file if a new hard link is added. -- Backup hard links only, but not the data. +- Add feature to backup hard links only, but not the data. - Add "All Local = yes" option to save to include all local partitions. - Fix stream handling to be simpler. - Add Priority and Bootstrap to Run a Job. @@ -93,6 +100,7 @@ For version 1.35: - Investigate adding Mac Resource Forks. - Finish work on Gnome restore GUI. - Fix "llist jobid=xx" where no fileset or client exists. +- Check pruning of restore jobs. - From Chris Hull: it seems to be complaining about 12:00pm which should be a valid 12 hour time. I changed the time to 11:59am and everything works fine. diff --git a/bacula/src/findlib/find_one.c b/bacula/src/findlib/find_one.c index fc3476aa3f..1ffee61095 100755 --- a/bacula/src/findlib/find_one.c +++ b/bacula/src/findlib/find_one.c @@ -250,11 +250,19 @@ find_one_file(JCR *jcr, FF_PKT *ff_pkt, int handle_file(FF_PKT *ff, void *hpkt), } else { ff_pkt->type = FT_DIRBEGIN; } - /* Send off Directory packet now */ + /* + * Note, we return the directory to the calling program (handle_file) + * when we first see the directory (FT_DIRBEGIN. + * This allows the program to apply matches and make a + * choice whether or not to accept it. If it is accepted, we + * do not immediately save it, but do so only after everything + * in the directory is seen (i.e. the FT_DIREND). + */ if (!handle_file(ff_pkt, pkt)) { free(link); return 0; /* Do not save this directory */ } + /* Done with DIRBEGIN, next call will be DIREND */ if (ff_pkt->type == FT_DIRBEGIN) { ff_pkt->type = FT_DIREND; } diff --git a/bacula/src/tools/bsmtp.c b/bacula/src/tools/bsmtp.c index bee50054ab..dde73adbb9 100644 --- a/bacula/src/tools/bsmtp.c +++ b/bacula/src/tools/bsmtp.c @@ -77,8 +77,12 @@ static void get_response(void) char buf[MAXSTRING]; Dmsg0(50, "Calling fgets on read socket rfp.\n"); + buf[3] = 0; while (fgets(buf, sizeof(buf), rfp)) { - buf[strlen(buf)-1] = 0; + int len = strlen(buf); + if (len > 0) { + buf[len-1] = 0; + } Dmsg2(10, "%s --> %s\n", mailhost, buf); if (!isdigit((int)buf[0]) || buf[0] > '3') { Pmsg2(0, "Fatal malformed reply from %s: %s\n", mailhost, buf); -- 2.39.5