]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Make bat have 'make install' target.
authorKern Sibbald <kern@sibbald.com>
Sun, 22 Apr 2007 15:19:41 +0000 (15:19 +0000)
committerKern Sibbald <kern@sibbald.com>
Sun, 22 Apr 2007 15:19:41 +0000 (15:19 +0000)
kes  Warn during install if old gnome-console binary found.
kes  Warn during install if old wx-console binary found.
kes  Add -8 option to bsmtp command line to add content type utf-8.
     Fixes bug #809. (Character coding problem in bsmtp).
kes  If < is found in target (from, to, cc) then do not enclose the
     target in < >  in bsmtp. Fixes bug #772  (malformed address).
kes  When printing certain items in dbcheck, stop after 300000.
     Fixes bug #822. (dbcheck loops).
kes  Incorrect status in Dir after waiting for mount with poll set.
     Fixes bug #825.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4592 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/autoconf/configure.in
bacula/configure
bacula/kernstodo
bacula/src/qt-console/bat.pro [deleted file]
bacula/src/qt-console/bat.pro.in [new file with mode: 0644]
bacula/src/stored/askdir.c
bacula/src/tools/bsmtp.c
bacula/src/tools/dbcheck.c
bacula/src/version.h
bacula/technotes-2.1

index fbebd39b1776c8a3f5f292d9412f443efe0e8dfe..9c68e8b77de19b2edc91d45fb54263dd74851d43 100644 (file)
@@ -2044,6 +2044,8 @@ AC_OUTPUT([autoconf/Make.common \
           src/console/bconsole.conf \
           src/gnome2-console/Makefile \
           src/gnome2-console/bgnome-console.conf \
+          src/qt-console/bat.conf \
+          src/qt-console/bat.pro \
           src/wx-console/Makefile \
           src/wx-console/bwx-console.conf \
           src/tray-monitor/Makefile \
index 7c484bece7b691eac1e77b7b3e963bc3bc6168d1..2f05d3fdfe1e4cb42c384a56ced62555281130a9 100755 (executable)
@@ -33853,7 +33853,7 @@ if test "x${subsysdir}" = "x${sbindir}" ; then
    exit 1
 fi
 
-ac_config_files="$ac_config_files autoconf/Make.common Makefile manpages/Makefile scripts/startmysql scripts/stopmysql scripts/btraceback scripts/startit scripts/stopit scripts/bconsole scripts/gconsole scripts/bacula scripts/bacula-ctl-dir scripts/bacula-ctl-fd scripts/bacula-ctl-sd scripts/devel_bacula scripts/Makefile scripts/logrotate scripts/bacula.desktop.gnome1 scripts/bacula.desktop.gnome2 scripts/bacula.desktop.gnome1.consolehelper scripts/bacula.desktop.gnome2.consolehelper scripts/bacula.desktop.gnome1.xsu scripts/bacula.desktop.gnome2.xsu scripts/bgnome-console.console_apps scripts/mtx-changer scripts/disk-changer scripts/dvd-handler scripts/dvd-simulator scripts/bacula-tray-monitor.desktop scripts/logwatch/Makefile scripts/logwatch/logfile.bacula.conf scripts/wxconsole.console_apps scripts/wxconsole.desktop.consolehelper scripts/wxconsole.desktop.xsu src/Makefile src/host.h src/console/Makefile src/console/bconsole.conf src/gnome2-console/Makefile src/gnome2-console/bgnome-console.conf src/wx-console/Makefile src/wx-console/bwx-console.conf src/tray-monitor/Makefile src/tray-monitor/tray-monitor.conf src/dird/Makefile src/dird/bacula-dir.conf src/lib/Makefile src/stored/Makefile src/stored/bacula-sd.conf src/filed/Makefile src/filed/bacula-fd.conf src/cats/Makefile src/cats/make_catalog_backup src/cats/delete_catalog_backup src/cats/create_postgresql_database src/cats/update_postgresql_tables src/cats/make_postgresql_tables src/cats/grant_postgresql_privileges src/cats/drop_postgresql_tables src/cats/drop_postgresql_database src/cats/create_mysql_database src/cats/update_mysql_tables src/cats/make_mysql_tables src/cats/grant_mysql_privileges src/cats/drop_mysql_tables src/cats/drop_mysql_database src/cats/create_sqlite_database src/cats/update_sqlite_tables src/cats/make_sqlite_tables src/cats/grant_sqlite_privileges src/cats/drop_sqlite_tables src/cats/drop_sqlite_database src/cats/create_sqlite3_database src/cats/update_sqlite3_tables src/cats/make_sqlite3_tables src/cats/grant_sqlite3_privileges src/cats/drop_sqlite3_tables src/cats/drop_sqlite3_database src/cats/sqlite src/cats/mysql src/cats/create_bdb_database src/cats/update_bdb_tables src/cats/make_bdb_tables src/cats/grant_bdb_privileges src/cats/drop_bdb_tables src/cats/drop_bdb_database src/cats/create_bacula_database src/cats/update_bacula_tables src/cats/grant_bacula_privileges src/cats/make_bacula_tables src/cats/drop_bacula_tables src/cats/drop_bacula_database src/findlib/Makefile src/tools/Makefile po/Makefile.in $PFILES"
+ac_config_files="$ac_config_files autoconf/Make.common Makefile manpages/Makefile scripts/startmysql scripts/stopmysql scripts/btraceback scripts/startit scripts/stopit scripts/bconsole scripts/gconsole scripts/bacula scripts/bacula-ctl-dir scripts/bacula-ctl-fd scripts/bacula-ctl-sd scripts/devel_bacula scripts/Makefile scripts/logrotate scripts/bacula.desktop.gnome1 scripts/bacula.desktop.gnome2 scripts/bacula.desktop.gnome1.consolehelper scripts/bacula.desktop.gnome2.consolehelper scripts/bacula.desktop.gnome1.xsu scripts/bacula.desktop.gnome2.xsu scripts/bgnome-console.console_apps scripts/mtx-changer scripts/disk-changer scripts/dvd-handler scripts/dvd-simulator scripts/bacula-tray-monitor.desktop scripts/logwatch/Makefile scripts/logwatch/logfile.bacula.conf scripts/wxconsole.console_apps scripts/wxconsole.desktop.consolehelper scripts/wxconsole.desktop.xsu src/Makefile src/host.h src/console/Makefile src/console/bconsole.conf src/gnome2-console/Makefile src/gnome2-console/bgnome-console.conf src/qt-console/bat.conf src/qt-console/bat.pro src/wx-console/Makefile src/wx-console/bwx-console.conf src/tray-monitor/Makefile src/tray-monitor/tray-monitor.conf src/dird/Makefile src/dird/bacula-dir.conf src/lib/Makefile src/stored/Makefile src/stored/bacula-sd.conf src/filed/Makefile src/filed/bacula-fd.conf src/cats/Makefile src/cats/make_catalog_backup src/cats/delete_catalog_backup src/cats/create_postgresql_database src/cats/update_postgresql_tables src/cats/make_postgresql_tables src/cats/grant_postgresql_privileges src/cats/drop_postgresql_tables src/cats/drop_postgresql_database src/cats/create_mysql_database src/cats/update_mysql_tables src/cats/make_mysql_tables src/cats/grant_mysql_privileges src/cats/drop_mysql_tables src/cats/drop_mysql_database src/cats/create_sqlite_database src/cats/update_sqlite_tables src/cats/make_sqlite_tables src/cats/grant_sqlite_privileges src/cats/drop_sqlite_tables src/cats/drop_sqlite_database src/cats/create_sqlite3_database src/cats/update_sqlite3_tables src/cats/make_sqlite3_tables src/cats/grant_sqlite3_privileges src/cats/drop_sqlite3_tables src/cats/drop_sqlite3_database src/cats/sqlite src/cats/mysql src/cats/create_bdb_database src/cats/update_bdb_tables src/cats/make_bdb_tables src/cats/grant_bdb_privileges src/cats/drop_bdb_tables src/cats/drop_bdb_database src/cats/create_bacula_database src/cats/update_bacula_tables src/cats/grant_bacula_privileges src/cats/make_bacula_tables src/cats/drop_bacula_tables src/cats/drop_bacula_database src/findlib/Makefile src/tools/Makefile po/Makefile.in $PFILES"
 
 ac_config_commands="$ac_config_commands default"
 
@@ -34454,6 +34454,8 @@ do
     "src/console/bconsole.conf") CONFIG_FILES="$CONFIG_FILES src/console/bconsole.conf" ;;
     "src/gnome2-console/Makefile") CONFIG_FILES="$CONFIG_FILES src/gnome2-console/Makefile" ;;
     "src/gnome2-console/bgnome-console.conf") CONFIG_FILES="$CONFIG_FILES src/gnome2-console/bgnome-console.conf" ;;
+    "src/qt-console/bat.conf") CONFIG_FILES="$CONFIG_FILES src/qt-console/bat.conf" ;;
+    "src/qt-console/bat.pro") CONFIG_FILES="$CONFIG_FILES src/qt-console/bat.pro" ;;
     "src/wx-console/Makefile") CONFIG_FILES="$CONFIG_FILES src/wx-console/Makefile" ;;
     "src/wx-console/bwx-console.conf") CONFIG_FILES="$CONFIG_FILES src/wx-console/bwx-console.conf" ;;
     "src/tray-monitor/Makefile") CONFIG_FILES="$CONFIG_FILES src/tray-monitor/Makefile" ;;
index c7303824c367239fb4bbb1f6e4e8d33e41498874..3a55d440ec0970e0b9700cee1cfb92b03da92f78 100644 (file)
@@ -43,6 +43,27 @@ Document:
  
 
 Priority:
+- Look at using posix_fadvise(2) for backups -- see bug #751.
+  Possibly add the code at findlib/bfile.c:795
+
+/* TCP socket options */
+#define TCP_NODELAY             1       /* Turn off Nagle's algorithm. */
+#define TCP_MAXSEG              2       /* Limit MSS */
+#define TCP_CORK                3       /* Never send partially complete segments */
+#define TCP_KEEPIDLE            4       /* Start keeplives after this period */
+#define TCP_KEEPINTVL           5       /* Interval between keepalives */
+#define TCP_KEEPCNT             6       /* Number of keepalives before death */
+#define TCP_SYNCNT              7       /* Number of SYN retransmits */
+#define TCP_LINGER2             8       /* Life time of orphaned FIN-WAIT-2 state */
+#define TCP_DEFER_ACCEPT        9       /* Wake up listener only when data arrive */
+#define TCP_WINDOW_CLAMP        10      /* Bound advertised window */
+#define TCP_INFO                11      /* Information about this connection. */
+#define TCP_QUICKACK            12      /* Block/reenable quick acks */
+#define TCP_CONGESTION          13      /* Congestion control algorithm */
+
+- Fix bnet_connect() code to set a timer and to use time to
+  measure the time.
+
 - the director seg faulted when I omitted the pool directive from a 
 job resource.  I was experimenting and thought it redundant that I had 
 specified Pool, Full Backup Pool. and Differential Backup Pool. but 
@@ -78,14 +99,10 @@ started the director.
    02-Feb 11:00 btape: Fatal Error because: Bacula interrupted by signal 11: Segmentation violation
    Kaboom! btape, btape got signal 11. Attempting traceback.
 
-- Why the heck doesn't bacula drop root priviledges before connecting to
-  the DB?
 - Ensure that moving a purged Volume in ua_purge.c to the RecyclePool
   does the right thing.
 - Why doesn't @"xxx abc" work in a conf file?
 - Figure out some way to "automatically" backup conf changes.
-- Look at using posix_fadvise(2) for backups -- see bug #751.
-  Possibly add the code at findlib/bfile.c:795
 - Add the OS version back to the Win32 client info.
 - Restarted jobs have a NULL in the from field.
 - Modify SD status command to indicate when the SD is writing
@@ -1688,3 +1705,7 @@ Block Position: 0
 
 
 === Done
+- Why the heck doesn't bacula drop root priviledges before connecting to
+  the DB?
+
+
diff --git a/bacula/src/qt-console/bat.pro b/bacula/src/qt-console/bat.pro
deleted file mode 100644 (file)
index d5de178..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-######################################################################
-# Version $Id$
-#
-CONFIG += qt debug
-
-TEMPLATE = app
-TARGET = bat
-DEPENDPATH += .
-INCLUDEPATH += . ./console ./restore ./select
-INCLUDEPATH += ..
-LIBS        += -L../lib
-LIBS        += -lbac
-LIBS        += -lssl -lcrypto
-RESOURCES = main.qrc
-MOC_DIR = moc
-OBJECTS_DIR = obj
-UI_DIR = ui
-
-# Main window
-FORMS += main.ui
-FORMS += label/label.ui
-FORMS += console/console.ui
-FORMS += restore/restore.ui restore/prerestore.ui restore/brestore.ui
-FORMS += run/run.ui run/runcmd.ui
-FORMS += select/select.ui
-FORMS += medialist/medialist.ui mediaedit/mediaedit.ui joblist/joblist.ui
-FORMS += clients/clients.ui storage/storage.ui fileset/fileset.ui
-
-HEADERS += mainwin.h bat.h bat_conf.h qstd.h
-SOURCES += main.cpp bat_conf.cpp mainwin.cpp qstd.cpp
-
-# Console
-HEADERS += console/console.h
-SOURCES += console/authenticate.cpp console/console.cpp
-
-# Restore
-HEADERS += restore/restore.h
-SOURCES += restore/prerestore.cpp restore/restore.cpp restore/brestore.cpp
-
-# Label dialog
-HEADERS += label/label.h
-SOURCES += label/label.cpp
-
-# Run dialog
-HEADERS += run/run.h
-SOURCES += run/run.cpp run/runcmd.cpp
-
-# Select dialog
-HEADERS += select/select.h
-SOURCES += select/select.cpp
-
-## Pages
-HEADERS += pages.h
-SOURCES += pages.cpp
-
-## MediaList
-HEADERS += medialist/medialist.h
-SOURCES += medialist/medialist.cpp
-
-## MediaEdit
-HEADERS += mediaedit/mediaedit.h
-SOURCES += mediaedit/mediaedit.cpp
-
-## JobList
-HEADERS += joblist/joblist.h
-SOURCES += joblist/joblist.cpp
-
-## Clients
-HEADERS += clients/clients.h
-SOURCES += clients/clients.cpp
-
-## Storage
-HEADERS += storage/storage.h
-SOURCES += storage/storage.cpp
-
-## Fileset
-HEADERS += fileset/fileset.h
-SOURCES += fileset/fileset.cpp
diff --git a/bacula/src/qt-console/bat.pro.in b/bacula/src/qt-console/bat.pro.in
new file mode 100644 (file)
index 0000000..6371b5d
--- /dev/null
@@ -0,0 +1,92 @@
+######################################################################
+# Version $Id: bat.pro 4588 2007-04-22 01:50:10Z bartleyd2 $
+#
+#   !!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+#
+#      Edit only bat.pro.in  -- bat.pro is built by the ./configure program
+#
+#   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+#    
+CONFIG += qt debug
+
+bins.path = /$(DESTDIR)@sbindir@
+bins.files = ./bat
+confs.path = /$(DESTDIR)@sysconfdir@
+confs.files = ./bat.conf
+
+TEMPLATE = app
+TARGET = bat
+DEPENDPATH += .
+INCLUDEPATH += . ./console ./restore ./select
+INCLUDEPATH += ..
+LIBS        += -L../lib
+LIBS        += -lbac
+LIBS        += -lssl -lcrypto
+RESOURCES = main.qrc
+MOC_DIR = moc
+OBJECTS_DIR = obj
+UI_DIR = ui
+
+# Main window
+FORMS += main.ui
+FORMS += label/label.ui
+FORMS += console/console.ui
+FORMS += restore/restore.ui restore/prerestore.ui restore/brestore.ui
+FORMS += run/run.ui run/runcmd.ui
+FORMS += select/select.ui
+FORMS += medialist/medialist.ui mediaedit/mediaedit.ui joblist/joblist.ui
+FORMS += clients/clients.ui storage/storage.ui fileset/fileset.ui
+
+HEADERS += mainwin.h bat.h bat_conf.h qstd.h
+SOURCES += main.cpp bat_conf.cpp mainwin.cpp qstd.cpp
+
+# Console
+HEADERS += console/console.h
+SOURCES += console/authenticate.cpp console/console.cpp
+
+# Restore
+HEADERS += restore/restore.h
+SOURCES += restore/prerestore.cpp restore/restore.cpp restore/brestore.cpp
+
+# Label dialog
+HEADERS += label/label.h
+SOURCES += label/label.cpp
+
+# Run dialog
+HEADERS += run/run.h
+SOURCES += run/run.cpp run/runcmd.cpp
+
+# Select dialog
+HEADERS += select/select.h
+SOURCES += select/select.cpp
+
+## Pages
+HEADERS += pages.h
+SOURCES += pages.cpp
+
+## MediaList
+HEADERS += medialist/medialist.h
+SOURCES += medialist/medialist.cpp
+
+## MediaEdit
+HEADERS += mediaedit/mediaedit.h
+SOURCES += mediaedit/mediaedit.cpp
+
+## JobList
+HEADERS += joblist/joblist.h
+SOURCES += joblist/joblist.cpp
+
+## Clients
+HEADERS += clients/clients.h
+SOURCES += clients/clients.cpp
+
+## Storage
+HEADERS += storage/storage.h
+SOURCES += storage/storage.cpp
+
+## Fileset
+HEADERS += fileset/fileset.h
+SOURCES += fileset/fileset.cpp
+
+INSTALLS += bins
+INSTALLS += confs
index 1e0d8c9346d9f3c8c368793f684fee1ae2edb0be..d64ab163b70f105a56be8a120ac22f61e175125e 100644 (file)
@@ -585,7 +585,7 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr)
       if (dev->poll) {
          Dmsg1(400, "Poll timeout in mount vol on device %s\n", dev->print_name());
          Dmsg1(400, "Blocked=%s\n", dev->print_blocked());
-         return true;
+         goto bail_out;
       }
 
       if (stat == W_TIMEOUT) {
@@ -607,6 +607,8 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr)
       Dmsg1(400, "Someone woke me for device %s\n", dev->print_name());
       break;
    }
+
+bail_out:
    set_jcr_job_status(jcr, JS_Running);
    dir_send_job_status(jcr);
    Dmsg0(400, "leave dir_ask_sysop_to_mount_volume\n");
index 06cd97ba278ba01f59315d971c0a194481847f0e..05851b869fb1b5cfd58926febadcdc8517d4a184 100644 (file)
@@ -1,21 +1,7 @@
-/*
-   Derived from a SMTPclient:
-
-       SMTPclient -- simple SMTP client
-
-       Copyright (C) 1997 Ralf S. Engelschall, All Rights Reserved.
-       rse@engelschall.com
-       www.engelschall.com
-
-   Kern Sibbald, July 2001
-
-   Version $Id$
-
- */
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2001-2006 Free Software Foundation Europe e.V.
+   Copyright (C) 2001-2007 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+   Derived from a SMTPclient:
+
+       SMTPclient -- simple SMTP client
+
+       Copyright (C) 1997 Ralf S. Engelschall, All Rights Reserved.
+       rse@engelschall.com
+       www.engelschall.com
+
+   Kern Sibbald, July 2001
+
+   Version $Id$
+
+ */
 
 
 #include "bacula.h"
@@ -68,6 +68,7 @@ static const char *mailhost = NULL;
 static char *reply_addr = NULL;
 static int mailport = 25;
 static char my_hostname[MAXSTRING];
+static bool content_utf8 = false;
 
 
 /*
@@ -130,6 +131,7 @@ static void usage()
    fprintf(stderr,
 _("\n"
 "Usage: %s [-f from] [-h mailhost] [-s subject] [-c copy] [recipient ...]\n"
+"       -8          set charset utf-8\n"
 "       -c          set the Cc: field\n"
 "       -dnn        set debug level to nn\n"
 "       -f          set the From: field\n"
@@ -172,8 +174,11 @@ int main (int argc, char *argv[])
    my_name_is(argc, argv, "bsmtp");
    maxlines = 0;
 
-   while ((ch = getopt(argc, argv, "c:d:f:h:r:s:l:?")) != -1) {
+   while ((ch = getopt(argc, argv, "8c:d:f:h:r:s:l:?")) != -1) {
       switch (ch) {
+      case '8':
+         content_utf8 = true;
+         break;
       case 'c':
          Dmsg1(20, "cc=%s\n", optarg);
          cc_addr = optarg;
@@ -364,19 +369,33 @@ hp:
 #endif
 
    /*
-    *  Send SMTP headers
+    *  Send SMTP headers.  Note, if any of the strings have a <
+    *   in them already, we do not enclose the string in < >, otherwise
+    *   we do.
     */
    get_response(); /* banner */
    chat("helo %s\r\n", my_hostname);
-   chat("mail from:<%s>\r\n", from_addr);
+   if (strchr(from_addr, '<') == NULL) {
+      chat("mail from:<%s>\r\n", from_addr);
+   } else {
+      chat("mail from:%s\r\n", from_addr);
+   }
 
    for (i = 0; i < argc; i++) {
       Dmsg1(20, "rcpt to: %s\n", argv[i]);
-      chat("rcpt to:<%s>\r\n", argv[i]);
+      if (strchr(from_addr, '<') == NULL) {
+         chat("rcpt to:<%s>\r\n", argv[i]);
+      } else {
+         chat("rcpt to:%s\r\n", argv[i]);
+      }
    }
 
    if (cc_addr) {
-      chat("rcpt to:<%s>\r\n", cc_addr);
+      if (strchr(from_addr, '<') == NULL) {
+         chat("rcpt to:<%s>\r\n", cc_addr);
+      } else {
+         chat("rcpt to:%s\r\n", cc_addr);
+      }
    }
    Dmsg0(20, "Data\n");
    chat("data\r\n");
@@ -434,6 +453,11 @@ hp:
       Dmsg1(10, "Cc: %s\r\n", cc_addr);
    }
 
+   if (content_utf8) {
+      fprintf(sfp, "Content-Type: text/plain; charset=UTF-8\r\n");
+      Dmsg0(10, "Content-Type: text/plain; charset=UTF-8\r\n");
+   }
+
    /* Add RFC822 date */
    (void)localtime_r(&now, &tm);
 #if defined(HAVE_WIN32)
index 4e5eee8aabbf7133e8bbe443f480aea9fd551992..149bd5e9811e72cad81020d3633e4238fe9a8ba7 100644 (file)
@@ -1,13 +1,3 @@
-/*
- *
- *  Program to check a Bacula database for consistency and to
- *   make repairs
- *
- *   Kern E. Sibbald, August 2002
- *
- *   Version $Id$
- *
- */
 /*
    Bacula® - The Network Backup Solution
 
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+ *
+ *  Program to check a Bacula database for consistency and to
+ *   make repairs
+ *
+ *   Kern E. Sibbald, August 2002
+ *
+ *   Version $Id$
+ *
+ */
 
 #include "bacula.h"
 #include "cats/cats.h"
@@ -732,6 +732,8 @@ static void eliminate_orphaned_jobmedia_records()
       if (fix && id_list.num_ids > 0) {
          printf(_("Deleting %d orphaned JobMedia records.\n"), id_list.num_ids);
          delete_id_list("DELETE FROM JobMedia WHERE JobMediaId=%s", &id_list);
+      } else {
+         break;                       /* get out if not updating db */
       }
       if (!make_id_list(query, &id_list)) {
          exit(1);
@@ -773,6 +775,8 @@ static void eliminate_orphaned_file_records()
       if (fix && id_list.num_ids > 0) {
          printf(_("Deleting %d orphaned File records.\n"), id_list.num_ids);
          delete_id_list("DELETE FROM File WHERE FileId=%s", &id_list);
+      } else {
+         break;                       /* get out if not updating db */
       }
       if (!make_id_list(query, &id_list)) {
          exit(1);
@@ -810,6 +814,8 @@ static void eliminate_orphaned_path_records()
       if (fix && id_list.num_ids > 0) {
          printf(_("Deleting %d orphaned Path records.\n"), id_list.num_ids);
          delete_id_list("DELETE FROM Path WHERE PathId=%s", &id_list);
+      } else {
+         break;                       /* get out if not updating db */
       }
       if (!make_id_list(query, &id_list)) {
          exit(1);
@@ -847,6 +853,8 @@ static void eliminate_orphaned_filename_records()
       if (fix && id_list.num_ids > 0) {
          printf(_("Deleting %d orphaned Filename records.\n"), id_list.num_ids);
          delete_id_list("DELETE FROM Filename WHERE FilenameId=%s", &id_list);
+      } else {
+         break;                       /* get out if not updating db */
       }
       if (!make_id_list(query, &id_list)) {
          exit(1);
index a7f8db42da92c29dc7fee9998ee17daa5887d27a..b21be432e52fe68f5ccd1001522bef13cf3ca100 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.1.8"
-#define BDATE   "21 April 2007"
-#define LSMDATE "21Apr07"
+#define BDATE   "22 April 2007"
+#define LSMDATE "22Apr07"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2007 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2007"       /* year for copyright messages in progs */
index d49c9ecf5c539748d846c4879182d1b34b8f593e..09e4beebab6ce5433c1c7512dd445ce93f7d62ae 100644 (file)
@@ -1,6 +1,18 @@
               Technical notes on version 2.1
 
 General:
+22Apr07
+kes  Make bat have 'make install' target.
+kes  Warn during install if old gnome-console binary found.
+kes  Warn during install if old wx-console binary found.
+kes  Add -8 option to bsmtp command line to add content type utf-8. 
+     Fixes bug #809. (Character coding problem in bsmtp).
+kes  If < is found in target (from, to, cc) then do not enclose the
+     target in < >  in bsmtp. Fixes bug #772  (malformed address).
+kes  When printing certain items in dbcheck, stop after 300000.
+     Fixes bug #822. (dbcheck loops).
+kes  Incorrect status in Dir after waiting for mount with poll set.
+     Fixes bug #825.
 21Apr07 
 kes  Extend idea of Prefer Mounted Volumes to mean a volume about
      to be mounted.