[pkg-bacula-commits] [bacula] 01/01: Imported Upstream version 5.2.13

Carsten Leonhardt cl-guest at moszumanska.debian.org
Mon Jul 20 11:52:40 UTC 2015


This is an automated email from the git hooks/post-receive script.

cl-guest pushed a commit to branch upstream
in repository bacula.

commit 899ded170bbc212efa2bafb740bef0f691cccd98
Author: Carsten Leonhardt <leo at debian.org>
Date:   Mon Jul 20 13:50:34 2015 +0200

        Imported Upstream version 5.2.13
    
        Changes from upstream:
        src/lib/sha1.{h,c}: (#658326) remove, DFSG-nonfree, RFC 3174
---
 ChangeLog                                     |  177 +-
 Makefile.in                                   |    7 +
 ReleaseNotes                                  |  117 +-
 autoconf/acconfig.h                           |    1 +
 autoconf/bacula-macros/os.m4                  |   11 +
 autoconf/config.h.in                          |    1 +
 autoconf/configure.in                         |   18 +-
 configure                                     |   66 +-
 examples/autochangers/chio-changer-openbsd    |   42 +-
 kernstodo                                     | 1391 ---------------
 platforms/Makefile.in                         |    2 +-
 platforms/hurd/Makefile.in                    |   88 +
 platforms/hurd/bacula-dir.in                  |   73 +
 platforms/hurd/bacula-fd.in                   |   73 +
 platforms/hurd/bacula-sd.in                   |   73 +
 po/POTFILES.in                                |    1 -
 po/bacula.pot                                 | 2193 ++++++++++++------------
 po/de.po                                      | 2214 ++++++++++++------------
 po/es.po                                      | 2266 +++++++++++++------------
 po/fr.po                                      | 2238 ++++++++++++------------
 po/nl.po                                      | 2193 ++++++++++++------------
 po/sv.po                                      | 2193 ++++++++++++------------
 po/uk.po                                      | 2198 ++++++++++++------------
 release/clean                                 |    2 +-
 release/makeall                               |    2 +-
 release/makedocsrel                           |    1 +
 src/baconfig.h                                |   23 +-
 src/cats/bvfs.c                               |    4 +-
 src/cats/make_postgresql_tables.in            |    3 +-
 src/cats/sql_cmds.c                           |   68 +-
 src/cats/update_postgresql_tables.in          |    3 +
 src/console/conio.c                           |   11 +-
 src/dird/backup.c                             |    4 +
 src/dird/dird.c                               |   47 +-
 src/dird/dird_conf.c                          |    7 +
 src/dird/dird_conf.h                          |    1 +
 src/dird/job.c                                |    2 +-
 src/dird/jobq.c                               |    5 +-
 src/dird/migrate.c                            |    2 +
 src/dird/msgchan.c                            |    8 +-
 src/dird/restore.c                            |    3 +
 src/dird/ua_acl.c                             |    2 +-
 src/dird/ua_cmds.c                            |  129 +-
 src/dird/ua_dotcmds.c                         |    7 +
 src/dird/ua_label.c                           |   13 +-
 src/dird/ua_output.c                          |    5 +-
 src/dird/ua_prune.c                           |   18 +-
 src/dird/ua_run.c                             |   42 +-
 src/dird/vbackup.c                            |    3 +
 src/filed/acl.c                               |   20 +-
 src/filed/backup.c                            |   11 +-
 src/filed/restore.c                           |    6 +
 src/filed/xattr.c                             |   39 +-
 src/filed/xattr.h                             |    4 +-
 src/findlib/bfile.c                           |    6 +
 src/findlib/find.c                            |    3 +
 src/findlib/find.h                            |    1 +
 src/findlib/find_one.c                        |   16 +-
 src/findlib/mkpath.c                          |    4 +
 src/jcr.h                                     |    6 +-
 src/lib/bsys.c                                |   51 +
 src/lib/crc32.c                               |    6 +
 src/lib/devlock.c                             |    4 +-
 src/lib/jcr.c                                 |    6 +
 src/lib/lex.c                                 |   14 +-
 src/lib/lex.h                                 |    6 +-
 src/lib/message.c                             |   85 +-
 src/lib/message.h                             |    5 +-
 src/lib/mntent_cache.c                        |   17 +-
 src/lib/mutex_list.h                          |    2 +-
 src/lib/parse_conf.h                          |    1 +
 src/lib/protos.h                              |    3 +-
 src/lib/signal.c                              |   23 +-
 src/qt-console/bat.pro.in                     |    4 +
 src/qt-console/bcomm/dircomm.cpp              |    3 +-
 src/qt-console/images/bat_icon.icns           |  Bin 0 -> 125067 bytes
 src/qt-console/main.cpp                       |   10 +-
 src/qt-console/select/textinput.ui            |   72 +-
 src/qt-console/util/fmtwidgetitem.cpp         |    2 +-
 src/stored/acquire.c                          |  139 +-
 src/stored/askdir.c                           |  104 +-
 src/stored/bcopy.c                            |    6 +-
 src/stored/block.c                            |    8 +-
 src/stored/bscan.c                            |    4 +
 src/stored/btape.c                            |   12 +-
 src/stored/dev.c                              |   22 +-
 src/stored/dev.h                              |   73 +-
 src/stored/device.c                           |   10 +-
 src/stored/dircmd.c                           |   24 +-
 src/stored/job.c                              |    2 +-
 src/stored/lock.c                             |  286 +++-
 src/stored/mount.c                            |   31 +-
 src/stored/parse_bsr.c                        |    3 +-
 src/stored/reserve.c                          |   14 +-
 src/stored/spool.c                            |   23 +-
 src/stored/status.c                           |  232 ++-
 src/stored/stored.h                           |    4 +-
 src/stored/vol_mgr.c                          |  184 +-
 src/stored/vol_mgr.h                          |  100 ++
 src/stored/wait.c                             |    4 +-
 src/streams.h                                 |    7 +
 src/tools/Makefile.in                         |    8 +-
 src/tools/bpluginfo.c                         |    6 +-
 src/tools/timelimit.1                         |  217 +++
 src/tools/timelimit.c                         |  537 ++++++
 src/version.h                                 |   10 +-
 updatedb/update_postgresql_tables_10_to_11.in |    2 +-
 107 files changed, 11081 insertions(+), 9472 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fabda9e..0e175d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,179 @@
-              Changelog on version 5.2.12
+              Changelog on version 5.2.13
+
+
+Release version 5.2.13
+
+19Feb13
+ - Fix build/configure problems with bpluginfo.c
+ - Add missing vol_mgr.h file
+ - Add timer to run_multiple
+
+18Feb13
+ - Refactor lock_volumes so most lock a vol rather than globally
+ - Add virtualfull-extreme test
+
+17Feb13
+ - Apply patch for chio-changer-openbsd from bug #1984 -- Implements listall
+ - Add bat Mac patch from bug #1953
+
+16Feb13
+ - Fix bug #1812 cannot run Copy/Migrate jobs from bat
+ - Fix loading of bat translations. Patch from bug #1890
+ - Fix text input in bat. Fixe bug #1965
+ - Remove Device from show command as it is not used or updated
+
+13Feb13
+ - Fix #1982 update enabled keyword in help command
+
+08Feb13
+ - Fix update_postgresql_tables 10 to 11
+
+30Jan13
+ - Clean after building doc binaries requested by Willem vd Akker for Debian 
+  build
+
+29Jan13
+ - Remove unused method
+ - Require Qt version 4.8.4
+ - Fix bug #1955 that OK to run? does not retry on bad response
+ - Backport new lock calls + debug for SD
+
+26Jan13
+ - Remove old todo
+
+09Jan13
+ - Fix bug #1975 new label ignored when first is duplicate.
+
+31Dec12
+ - Require Qt 4.8.1 to build bat
+
+27Dec12
+ - Make compile of timelimit a bit more portable
+
+26Dec12
+ - Tweek turn off prune-test
+ - Pull src/lib changes from master
+ - Pull SD files from master
+
+25Dec12
+ - Turn off prune-test
+ - Add logdir and bsrdir to regression config
+ - Add bsrdir and logdir to regress-config
+ - Rebuild configure
+ - Changed default directories from /var/bacula to /opt/bacula
+ - Fix patches from master
+ - Make spool size max message more explicit
+ - Display more info when maximum spool size is reached
+
+23Dec12
+ - Fix TERM defs for Solaris 11 in conio.c
+
+21Dec12
+ - Force DEVELOPER on during regression setup
+
+14Dec12
+ - Allow group to cd to sysconfdir
+
+09Dec12
+ - Make sysconfdir belong to Bacula user/group and exclude others
+
+07Dec12
+ - Fix Virtual Full file close bug -- race condition
+ - Enhance mount message to include read/append
+
+06Dec12
+ - Improve vol_mgr swap messages
+ - Add Jmsg7 and Jmsg8
+ - Enhance output of Using Device to include for read/write
+
+04Dec12
+ - Add jobid to Pmsg output
+
+29Nov12
+ - Fix bug #1959 input validation on delete of jobs.
+
+24Nov12
+ - Fix bug #1956 Authorization Errors false
+
+23Nov12
+ - Add workaround for #5507 where autoprune and reload are in deadlock
+
+21Nov12
+ - Allow conf file quoted strings to be used in a list
+ - Make bfgets handle very long lines
+ - Backport from Enterprise
+
+17Nov12
+ - Avoid seg fault by checking for NULL client -- reported by Arno
+
+10Nov12
+ - Final fix of bug #1943
+
+08Nov12
+ - Fix bug #1948 MailOnSuccess get executed on error.
+
+07Nov12
+ - Fix missing index on Media table
+
+06Nov12
+ - Fix bug #1943 no message storage on closed database connection.
+ - Fix bug #1946 Fix problem with MySQL with big Base jobs.
+
+02Nov12
+ - Reduce wait time in regression RunScripts
+ - Attempt to indicate timed out tests
+ - Implement a timeout on regression tests of 15 minutes
+ - Fix #5346 .bvfs_lsfiles and .bvfs_restore to handle deleted files
+
+01Nov12
+ - Fix spooldata, accurate and ingnoreduplicate run argument
+
+21Oct12
+ - Add remote regress test script
+
+16Oct12
+ - Fix messages segfault
+
+10Oct12
+ - Recompile configure.in
+ - Implement feature request #1939
+
+07Oct12
+ - fix #1938 about PATH_MAX on hurd
+ - fix #1938 about MAXPATHLEN on hurd
+
+05Oct12
+ - Fix bug #1937 OpenBSD autochanger example script
+
+25Sep12
+ - Fix #4996 about MaxRunTime canceling the job too early
+
+19Sep12
+ - Fix bug #1934 Wrong values at media list in BAT
+
+18Sep12
+ - Fix race condition in close_msg that causes seg fault
+
+16Sep12
+ - Fix double unlink
+ - More tests for freeing NULL pointers
+
+14Sep12
+ - Add MaximumConcurrentReadJobs directive to Storage resource
+
+03Sep12
+ - Add ujobid to .bvfs_get_jobids
+
+28Aug12
+ - Do not try to strip RestoreObject during attribute encoding
+ - Avoid problem when stripping a relative path
+
+16Jul12
+ - Fix #4513 about HIDDEN attribute set to parent directory during restore
+
+Bugs fixed/closed since last release:
+1812 1890 1934 1937 1938 1939 1943 1946 1948 1953 1955 1956 1959 1965 1975 1982 1984 4513 4996 5346 5507
+
 
 Version 5.2.12
 
diff --git a/Makefile.in b/Makefile.in
index 1abc14a..5483fe3 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -94,6 +94,13 @@ libtool: Makefile $(LIBTOOL_DEPS)
 installdirs:
 	$(MKDIR) $(DESTDIR)$(sbindir)
 	$(MKDIR) $(DESTDIR)$(sysconfdir)
+	chmod 770 $(DESTDIR)$(sysconfdir)
+	-if test "x$(dir_user)" != "x" ; then \
+	   chown $(dir_user) $(DESTDIR)$(sysconfdir); \
+	fi
+	-if test "x$(dir_group)" != "x" ; then \
+	   chgrp $(dir_group) $(DESTDIR)$(sysconfdir); \
+	fi
 	$(MKDIR) $(DESTDIR)$(scriptdir)
 	$(MKDIR) $(DESTDIR)$(docdir)
 	$(MKDIR) $(DESTDIR)$(archivedir)
diff --git a/ReleaseNotes b/ReleaseNotes
index b667e81..8ae7b58 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -1,10 +1,125 @@
 
-               Release Notes for Bacula 5.2.12
+               Release Notes for Bacula 5.2.13
 
   Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)
 
 General:
 --------
+This is an important bug fix release.
+
+Version 5.2.13 version has 20 bug fixes since the last 
+release.  Some of the bug fixes are important.
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Please note that with this version of Bacula, during the install
+of the shared libraries from the src/cats, src/lib, and src/findlib
+directories, any old Bacula libraries in the installation 
+destination directory will be removed.  This should not cause
+any problems and at least keeps the installation library cleaner.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+For packagers, if you change options, naming, and the way 
+we link our shared object files, as at least one of you does,
+you are creating a situation where the user may not be able
+to run multiple versions of Bacula on the same machine, which
+is often very useful, and in addition, you create a configuration
+that the project cannot properly support.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+If you are upgrading from a version older than 5.2.10, please
+read all the old ReleaseNotes of all versions released
+after the version you are upgrading from. There area
+many important notices sumarized here, and we do not 
+repeat them each bug fix release.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+Compatibility:
+--------------
+ As always, both the Director and Storage daemon must be upgraded at
+ the same time.
+
+ Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.13
+ Director and Storage daemons. There should be no need to upgrade older File
+ Daemons.
+
+Important changes since last release:
+
+19Feb13
+ - Fix build/configure problems with bpluginfo.c
+ - Refactor lock_volumes so most lock a vol rather than globally
+ - Add virtualfull-extreme test
+ - Apply patch for chio-changer-openbsd from bug #1984 -- Implements listall
+ - Add bat Mac patch from bug #1953
+ - Fix bug #1812 cannot run Copy/Migrate jobs from bat
+ - Fix loading of bat translations. Patch from bug #1890
+ - Fix text input in bat. Fixe bug #1965
+ - Remove Device from show command as it is not used or updated
+ - Fix #1982 update enabled keyword in help command
+ - Fix update_postgresql_tables 10 to 11
+ - Clean after building doc binaries requested by Willem vd Akker for Debian 
+   build
+ - Require Qt version 4.8.4
+ - Fix bug #1955 that OK to run? does not retry on bad response
+ - Backport new lock calls + debug for SD
+ - Fix bug #1975 new label ignored when first is duplicate.
+ - Pull src/lib changes from master
+ - Pull SD files from master
+ - Turn off prune-test
+ - Add logdir and bsrdir to regression config
+ - Add bsrdir and logdir to regress-config
+ - Changed default directories from /var/bacula to /opt/bacula
+ - Make spool size max message more explicit
+ - Display more info when maximum spool size is reached
+ - Fix TERM defs for Solaris 11 in conio.c
+ - Allow group to cd to sysconfdir
+ - Make sysconfdir belong to Bacula user/group and exclude others
+ - Fix Virtual Full file close bug -- race condition
+ - Enhance mount message to include read/append
+ - Improve vol_mgr swap messages
+ - Enhance output of Using Device to include for read/write
+ - Add jobid to Pmsg output
+ - Fix bug #1959 input validation on delete of jobs.
+ - Fix bug #1956 Authorization Errors false
+ - Add workaround for #5507 where autoprune and reload are in deadlock
+ - Allow conf file quoted strings to be used in a list
+ - Make bfgets handle very long lines
+ - Avoid seg fault by checking for NULL client -- reported by Arno
+ - Final fix of bug #1943
+ - Fix bug #1948 MailOnSuccess get executed on error.
+ - Fix missing index on Media table
+ - Fix bug #1943 no message storage on closed database connection.
+ - Fix bug #1946 Fix problem with MySQL with big Base jobs.
+ - Reduce wait time in regression RunScripts
+ - Implement a timeout on regression tests of 15 minutes
+ - Fix #5346 .bvfs_lsfiles and .bvfs_restore to handle deleted files
+ - Fix spooldata, accurate and ingnoreduplicate run argument
+ - Fix messages segfault
+ - Implement feature request #1939
+ - fix #1938 about PATH_MAX on hurd
+ - fix #1938 about MAXPATHLEN on hurd
+ - Fix bug #1937 OpenBSD autochanger example script
+ - Fix #4996 about MaxRunTime canceling the job too early
+ - Fix bug #1934 Wrong values at media list in BAT
+ - Fix race condition in close_msg that causes seg fault
+ - Fix double unlink
+ - More tests for freeing NULL pointers
+ - Add MaximumConcurrentReadJobs directive to Storage resource
+ - Add ujobid to .bvfs_get_jobids
+ - Avoid problem when stripping a relative path
+ - Fix #4513 about HIDDEN attribute set to parent directory during restore
+
+Bugs fixed/closed since last release:
+1812 1890 1934 1937 1938 1939 1943 1946 1948 1953 1955 1956 1959 1965 1975
+1982 1984 4513 4996 5346 5507
+
+
+=================================================================
+
+
+General:
+--------
 Version 5.2.12 version is a bug fix release.
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/autoconf/acconfig.h b/autoconf/acconfig.h
index 40a91d7..4c5f8dd 100644
--- a/autoconf/acconfig.h
+++ b/autoconf/acconfig.h
@@ -143,6 +143,7 @@
 #undef HAVE_CYGWIN
 #undef HAVE_OSF1_OS
 #undef HAVE_DARWIN_OS
+#undef HAVE_HURD_OS
 
 /* Set to correct scanf value for long long int */
 #undef lld
diff --git a/autoconf/bacula-macros/os.m4 b/autoconf/bacula-macros/os.m4
index 2833e4d..1af4f90 100644
--- a/autoconf/bacula-macros/os.m4
+++ b/autoconf/bacula-macros/os.m4
@@ -62,6 +62,14 @@ else
         BA_CONDITIONAL(HAVE_SUN_OS, $FALSEPRG)
 fi
 
+if test $HAVE_UNAME=yes -a x`uname -s` = xGNU
+then
+        BA_CONDITIONAL(HAVE_HURD_OS, $TRUEPRG)
+        AC_DEFINE(HAVE_HURD_OS)
+else
+        BA_CONDITIONAL(HAVE_HURD_OS, $FALSEPRG)
+fi
+
 if test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
 then
         BA_CONDITIONAL(HAVE_OSF1_OS, $TRUEPRG)
@@ -168,6 +176,9 @@ then
 elif test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
 then
         DISTNAME=solaris
+elif test $HAVE_UNAME=yes -a x`uname -s` = xGNU
+then
+        DISTNAME=hurd
 elif test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD
 then
         DISTNAME=freebsd
diff --git a/autoconf/config.h.in b/autoconf/config.h.in
index 731ca0a..4ce9ed2 100644
--- a/autoconf/config.h.in
+++ b/autoconf/config.h.in
@@ -143,6 +143,7 @@
 #undef HAVE_CYGWIN
 #undef HAVE_OSF1_OS
 #undef HAVE_DARWIN_OS
+#undef HAVE_HURD_OS
 
 /* Set to correct scanf value for long long int */
 #undef lld
diff --git a/autoconf/configure.in b/autoconf/configure.in
index 7931835..1237328 100644
--- a/autoconf/configure.in
+++ b/autoconf/configure.in
@@ -1216,7 +1216,7 @@ AC_SEARCH_LIBS(dlopen, [dl])
 dnl ------------------------------------------
 dnl Where to place working dir
 dnl ------------------------------------------
-working_dir=`eval echo ${prefix}/var/bacula/working`
+working_dir=`eval echo ${prefix}/opt/bacula/working`
 AC_ARG_WITH(working-dir,
    AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
    [
@@ -1301,7 +1301,7 @@ AC_SUBST(scriptdir)
 dnl ------------------------------------------
 dnl Where to place bsrdir (bsr files)
 dnl ------------------------------------------
-bsrdir=`eval echo ${prefix}/var/bacula/working`
+bsrdir=`eval echo ${prefix}/opt/bacula/bsr`
 AC_ARG_WITH(bsrdir,
    AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
    [
@@ -1316,7 +1316,7 @@ AC_SUBST(bsrdir)
 dnl ------------------------------------------
 dnl Where to place logdir (bsr files)
 dnl ------------------------------------------
-logdir=`eval echo ${prefix}/var/bacula/working`
+logdir=`eval echo ${prefix}/opt/bacula/log`
 AC_ARG_WITH(logdir,
    AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
    [
@@ -2379,7 +2379,7 @@ AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
 	  ], [
 	      call_use_va_copy(1,2,3)
 	  ], [
-	      ba_cv_va_copy=yes,
+	      ba_cv_va_copy=yes
 	  ], [
 	      ba_cv_va_copy=no
 	  ]
@@ -3152,6 +3152,16 @@ freebsd)
        platforms/freebsd/bacula-dir"
    largefile_support="yes"
   ;;
+hurd)
+   DISTVER=`uname -r`
+   TAPEDRIVE="/dev/nst0"
+   PSCMD="ps -e -o pid,command"
+   PFILES="${PFILES} \
+       platforms/hurd/Makefile \
+       platforms/hurd/bacula-fd \
+       platforms/hurd/bacula-sd \
+       platforms/hurd/bacula-dir"
+  ;;
 hpux)
    PSCMD="UNIX95=1; ps -e -o pid,comm"
    CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
diff --git a/configure b/configure
index 32109ee..21b2a51 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for bacula 5.2.11.
+# Generated by GNU Autoconf 2.68 for bacula 5.2.12.
 #
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -567,8 +567,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='bacula'
 PACKAGE_TARNAME='bacula'
-PACKAGE_VERSION='5.2.11'
-PACKAGE_STRING='bacula 5.2.11'
+PACKAGE_VERSION='5.2.12'
+PACKAGE_STRING='bacula 5.2.12'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -771,6 +771,8 @@ HAVE_AIX_OS_FALSE
 HAVE_AIX_OS_TRUE
 HAVE_OSF1_OS_FALSE
 HAVE_OSF1_OS_TRUE
+HAVE_HURD_OS_FALSE
+HAVE_HURD_OS_TRUE
 HAVE_SUN_OS_FALSE
 HAVE_SUN_OS_TRUE
 INCLUDE_UNINSTALL_TARGET
@@ -1559,7 +1561,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bacula 5.2.11 to adapt to many kinds of systems.
+\`configure' configures bacula 5.2.12 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1628,7 +1630,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bacula 5.2.11:";;
+     short | recursive ) echo "Configuration of bacula 5.2.12:";;
    esac
   cat <<\_ACEOF
 
@@ -1831,7 +1833,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bacula configure 5.2.11
+bacula configure 5.2.12
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2761,7 +2763,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bacula $as_me 5.2.11, which was
+It was created by bacula $as_me 5.2.12, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -16794,6 +16796,31 @@ else
 fi
 fi
 
+if test $HAVE_UNAME=yes -a x`uname -s` = xGNU
+then
+
+
+if $TRUEPRG; then
+  HAVE_HURD_OS_TRUE=
+  HAVE_HURD_OS_FALSE='#'
+else
+  HAVE_HURD_OS_TRUE='#'
+  HAVE_HURD_OS_FALSE=
+fi
+        $as_echo "#define HAVE_HURD_OS 1" >>confdefs.h
+
+else
+
+
+if $FALSEPRG; then
+  HAVE_HURD_OS_TRUE=
+  HAVE_HURD_OS_FALSE='#'
+else
+  HAVE_HURD_OS_TRUE='#'
+  HAVE_HURD_OS_FALSE=
+fi
+fi
+
 if test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
 then
 
@@ -17087,6 +17114,9 @@ then
 elif test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
 then
         DISTNAME=solaris
+elif test $HAVE_UNAME=yes -a x`uname -s` = xGNU
+then
+        DISTNAME=hurd
 elif test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD
 then
         DISTNAME=freebsd
@@ -23456,7 +23486,7 @@ if test "$ac_res" != no; then :
 fi
 
 
-working_dir=`eval echo ${prefix}/var/bacula/working`
+working_dir=`eval echo ${prefix}/opt/bacula/working`
 
 # Check whether --with-working-dir was given.
 if test "${with_working_dir+set}" = set; then :
@@ -23540,7 +23570,7 @@ fi
 
 
 
-bsrdir=`eval echo ${prefix}/var/bacula/working`
+bsrdir=`eval echo ${prefix}/opt/bacula/bsr`
 
 # Check whether --with-bsrdir was given.
 if test "${with_bsrdir+set}" = set; then :
@@ -23555,7 +23585,7 @@ fi
 
 
 
-logdir=`eval echo ${prefix}/var/bacula/working`
+logdir=`eval echo ${prefix}/opt/bacula/log`
 
 # Check whether --with-logdir was given.
 if test "${with_logdir+set}" = set; then :
@@ -28518,7 +28548,7 @@ main ()
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
 
-	      ba_cv_va_copy=yes,
+	      ba_cv_va_copy=yes
 
 else
 
@@ -30697,6 +30727,16 @@ freebsd)
        platforms/freebsd/bacula-dir"
    largefile_support="yes"
   ;;
+hurd)
+   DISTVER=`uname -r`
+   TAPEDRIVE="/dev/nst0"
+   PSCMD="ps -e -o pid,command"
+   PFILES="${PFILES} \
+       platforms/hurd/Makefile \
+       platforms/hurd/bacula-fd \
+       platforms/hurd/bacula-sd \
+       platforms/hurd/bacula-dir"
+  ;;
 hpux)
    PSCMD="UNIX95=1; ps -e -o pid,comm"
    CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
@@ -31455,7 +31495,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bacula $as_me 5.2.11, which was
+This file was extended by bacula $as_me 5.2.12, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -31521,7 +31561,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-bacula config.status 5.2.11
+bacula config.status 5.2.12
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff --git a/examples/autochangers/chio-changer-openbsd b/examples/autochangers/chio-changer-openbsd
index d5e83b9..050095a 100644
--- a/examples/autochangers/chio-changer-openbsd
+++ b/examples/autochangers/chio-changer-openbsd
@@ -1,12 +1,10 @@
 #!/bin/sh
 #
-# $OpenBSD: chio-changer-openbsd,v 1.1 2012/07/04 12:02:56 ajacoutot Exp $
-#
 # Bacula interface to chio(1) autoloader for OpenBSD
 #
 # Adapted from NetBSD pkgsrc and examples/autochangers in bacula source)
 # by Antoine Jacoutot <ajacoutot at openbsd.org> for OpenBSD.
-# Tested on an LTO-4 device with 8 slots.
+# Tested on an LTO-4 device with 1 drive and 8 slots.
 # The user Bacula is running as needs rw access to the ch(4) and st(4)
 # devices.
 #
@@ -23,11 +21,11 @@
 #      the chio exit code or a 0. If the script exits with a non-zero
 #      exit code, Bacula will assume the request failed.
 
-CHIO=/bin/chio
-
 # time (in seconds) for the unit to settle after (un)loading a tape
 SLEEP=1
 
+CHIO=/bin/chio
+
 usage() {
 	echo "usage: ${0##*/} ctl-device command [slot archive-device drive-index]"
 }
@@ -85,7 +83,6 @@ case ${cmd} in
 		[ ${rtn} -eq 0 ] && sleep ${SLEEP}
 		exit ${rtn}
 		;;
-
 	load)
 		${CHIO} -f ${ctl} move slot $((${slot} - 1)) drive ${drive}
 		rtn=$?
@@ -95,20 +92,35 @@ case ${cmd} in
 	list)
 		${CHIO} -f ${ctl} status -v slot | \
 			sed -ne 's/^slot *\([0-9]*:\).*FULL.*voltag.*<\(.*\):.*/\1\2/p' | \
-			awk -F: '{print $1 + 1 ":" $2 }'
+			awk -F: '{ print $1 + 1 ":" $2 }'
 		exit $?
 		;;
-
 	listall)
-		echo "The listall command is not implemented on OpenBSD."
-		exit 1
-		;;
+		# XXX only one drive is queried
+		_list=$(${0} ${1} list)
+		_loaded_s=$(${0} ${1} loaded ${slot} ${device} ${drive})
+		_loaded_t=$(${CHIO} -f ${ctl} status -v | grep "drive ${drive}" | awk '{ print $NF }' | sed -e 's,<,,' -e 's,:.*,,')
 
+		[ -n "${_list}" -a -n "${_loaded_s}" -a -n "${_loaded_t}" ] || exit 1
+
+		(for i in ${_list}; do
+			echo "S:${i}" | sed 's/\(.*\):/\1:F:/'
+		done
+		echo S:${_loaded_s}:E
+		if [ "${_loaded_s}" -ne 0 ]; then
+			echo D:${drive}:F:${_loaded_s}:${_loaded_t}
+		else
+			echo D:${drive}:E
+		fi) | sort
+		;;
 	loaded)
-		local _slot=`${CHIO} -f ${ctl} status -v | egrep '^slot.*<ACCESS> voltag: <:[0-9]>$' | awk '{ print $2 }' | awk -F: '{ print $1 + 1 }'`
-		[ -z "${_slot}" ] && _slot=0
-		echo ${_slot}
-		exit $?
+		# XXX output the first empty slot if the drive is loaded
+		_slot=$(${CHIO} -f ${ctl} status -v | egrep '^slot.*<ACCESS> voltag: <:[0-9]>$' | awk '{ print $2 }' | awk -F: '{ print $1 + 1 }')
+		rtn=$?
+		_loaded=$(${CHIO} -f ${ctl} status -v | egrep "^drive ${drive}: <ACCESS,FULL> voltag: <.*:[0-9]>")
+		[ -z "${_slot}" -o -z "${_loaded}" ] && _slot=0
+		echo ${_slot} | awk '{ print $1 }'
+		exit ${rtn}
 		;;
 	slots)
 		${CHIO} -f ${ctl} params | awk "/slots/{print \$2}"
diff --git a/kernstodo b/kernstodo
deleted file mode 100644
index 358c430..0000000
--- a/kernstodo
+++ /dev/null
@@ -1,1391 +0,0 @@
-                    Kern's ToDo List
-                     21 September 2009
-
-Rescue:
-Add to USB key:
-  gftp sshfs kile kate lsssci m4 mtx nfs-common nfs-server
-  patch squashfs-tools strace sg3-utils screen scsiadd
-  system-tools-backend telnet dpkg traceroute urar usbutils
-  whois apt-file autofs busybox chkrootkit clamav dmidecode
-  manpages-dev manpages-posix manpages-posix-dev
-
-
-Document:
-- package sg3-utils, program sg_map
-- !!! Cannot restore two jobs a the same time that were
-  written simultaneously unless they were totally spooled.
-- Document cleaning up the spool files:
-  db, pid, state, bsr, mail, conmsg, spool
-- Document the multiple-drive-changer.txt script.
-- Pruning with Admin job.
-- Does WildFile match against full name?  Doc.
-- %d and %v only valid on Director, not for ClientRunBefore/After.
-- During tests with the 260 char fix code, I found one problem:
-  if the system "sees" a long path once, it seems to forget it's
-  working drive (e.g.  c:\), which will lead to a problem during
-  the next job (create bootstrap file will fail).  Here is the
-  workaround: specify absolute working and pid directory in
-  bacula-fd.conf (e.g.  c:\bacula\working instead of
-  \bacula\working).
-- Document techniques for restoring large numbers of files.
-- Document setting my.cnf to big file usage.
-- Correct the Include syntax in the m4.xxx files in examples/conf
-- Document all the little details of setting up certificates for
-  the Bacula data encryption code.
-- Document more precisely how to use master keys -- especially
-  for disaster recovery.
- 
-Priority:
-================
-24-Jul 09:56 rufus-fd JobId 1: VSS Writer (BackupComplete): "System Writer", State: 0x1 (VSS_WS_STABLE)
-24-Jul 09:56 rufus-fd JobId 1: Warning: VSS Writer (BackupComplete): "ASR Writer", State: 0x8 (VSS_WS_FAILED_AT_PREPARE_SNAPSHOT)
-24-Jul 09:56 rufus-fd JobId 1: VSS Writer (BackupComplete): "WMI Writer", State: 0x1 (VSS_WS_STABLE)
-- Add external command to lookup hostname (eg nmblookup timmy-win7)
-nmblookup gato
-querying gato on 127.255.255.255
-querying gato on 192.168.1.255
-   192.168.1.8 gato<00>
-   192.168.1.11 gato<00>
-   192.168.1.8 gato<00>
-   192.168.1.11 gato<00>
-- Possibly allow SD to spool even if a tape is not mounted.
-- How to sync remote offices.
-- Windows Bare Metal 
-- Backup up windows system state 
-- Complete Job restart 
-- Look at rsysnc for incremental updates and dedupping 
-- Implement rwlock() for SD that takes why and can_steal to replace
-  existing block/lock mechanism. rlock() would allow multiple readers
-  wlock would allow only one writer.
-- For Windows disaster recovery see http://unattended.sf.net/
-- Add "before=" "olderthan=" to FileSet for doing Base of
-  unchanged files.
-- Show files/second in client status output.
-- Don't attempt to restore from "Disabled" Volumes.
-- Have SD compute MD5 or SHA1 and compare to what FD computes.
-- Make VolumeToCatalog calculate an MD5 or SHA1 from the 
-  actual data on the Volume and compare it.                  
-- Remove queue.c code.
-- Implement multiple jobid specification for the cancel command,
-  similar to what is permitted on the update slots command.
-- Ensure that the SD re-reads the Media record if the JobFiles
-  does not match -- it may have been updated by another job.
-- Add MD5 or SHA1 check in SD for data validation
-- When reserving a device to read, check to see if the Volume
-  is already in use, if so wait.  Probably will need to pass the
-  Volume.  See bug #1313.  Create a regression test to simulate
-  this problem and see if VolumePollInterval fixes it. Possibly turn
-  it on by default.
-
-- Page hash tables
-- Deduplication
-- Why no error message if restore has no permission on the where
-  directory?
-- Possibly allow manual "purge" to purge a Volume that has not
-  yet been written (even if FirstWritten time is zero) see ua_purge.c
-  is_volume_purged().
-- Add disk block detection bsr code (make it work).
-- Remove done bsrs.
-- Detect deadlocks in reservations.
-- Plugins:
-  - Add list during dump
-  - Add in plugin code flag
-  - Add bRC_EndJob -- stops more calls to plugin this job
-  - Add bRC_Term (unload plugin)
-  - remove time_t from Jmsg and use utime_t?
-- Deadlock detection, watchdog sees if counter advances when jobs are
-  running.  With debug on, can do a "status" command.
-- User options for plugins.
-- Pool Storage override precedence over command line.
-- Autolabel only if Volume catalog information indicates tape not
-  written. This will avoid overwriting a tape that gets an I/O
-  error on reading the volume label.
-- I/O error, SD thinks it is not the right Volume, should check slot
-  then disable volume, but Asks for mount.
-- Can be posible modify package to create and use configuration files in 
-   the Debian manner? 
-
-   For example:
-
-   /etc/bacula/bacula-dir.conf
-   /etc/bacula/conf.d/pools.conf
-   /etc/bacula/conf.d/clients.conf
-   /etc/bacula/conf.d/storages.conf
-
-   and into bacula-dir.conf file include
-
-   @/etc/bacula/conf.d/pools.conf
-   @/etc/bacula/conf.d/clients.conf
-   @/etc/bacula/conf.d/storages.conf
-- Possibly add an Inconsistent state when a Volume is in error
-  for non I/O reasons.
-- Fix #ifdefing so that smartalloc can be disabled. Check manual
-  -- the default is enabled.
-- Dangling softlinks are not restored properly.  For example, take a
-  soft link such as src/testprogs/install-sh, which points to /usr/share/autoconf...
-  move the directory to another machine where the file /usr/share/autoconf does
-  not exist, back it up, then try a full restore.  It fails.
-- Softlinks that point to non-existent file are not restored in restore all,
-  but are restored if the file is individually selected.  BUG!
-- Prune by Job
-- Prune by Job Level (Full, Differential, Incremental)
-- modify pruning to keep a fixed number of versions of a file, 
-  if requested.
-- the cd-command should allow complete paths
-  i.e. cd /foo/bar/foo/bar
-  -> if a customer mails me the path to a certain file,
-     its faster to enter the specified directory
-- Make tree walk routines like cd, ls, ... more user friendly
-  by handling spaces better.
-- When doing a restore, if the user does an "update slots"
-  after the job started in order to add a restore volume, the
-   values prior to the update slots will be put into the catalog.
-   Must retrieve catalog record merge it then write it back at the
-   end of the restore job, if we want to do this right.
-=== rate design
-  jcr->last_rate
-  jcr->last_runtime
-  MA = (last_MA * 3 + rate) / 4
-  rate = (bytes - last_bytes) / (runtime - last_runtime)
-===
-- Add a recursive mark command (rmark) to restore.
-- Look at simplifying File exclusions.
-- Scripts
-- Separate Files and Directories in catalog
-- Create FileVersions table
-- finish implementation of fdcalled -- see ua_run.c:105
-- Fix problem in postgresql.c in my_postgresql_query, where the
-  generation of the error message doesn't differentiate result==NULL
-  and a bad status from that result.  Not only that, the result is
-  cleared on a bail_out without having generated the error message.
-- Implement SDErrors (must return from SD)
-- Implement continue spooling while despooling.
-- Remove all install temp files in Win32 PLUGINSDIR.
-- No where in restore causes kaboom.
-- Performance: multiple spool files for a single job.
-- Performance: despool attributes when despooling data (problem
-  multiplexing Dir connection).
-- Implement wait_for_sysop() message display in wait_for_device(), which
-  now prints warnings too often.
-- Ensure that each device in an Autochanger has a different
-  Device Index.
-- Look at sg_logs -a /dev/sg0 for getting soft errors.
-- btape "test" command with Offline on Unmount = yes
-
-   This test is essential to Bacula.
-
-   I'm going to write one record  in file 0,
-   two records in file 1,
-   and three records in file 2
-
-   02-Feb 11:00 btape: ABORTING due to ERROR in dev.c:715
-   dev.c:714 Bad call to rewind. Device "LTO" (/dev/nst0) not open
-   02-Feb 11:00 btape: Fatal Error because: Bacula interrupted by signal 11: Segmentation violation
-   Kaboom! btape, btape got signal 11. Attempting traceback.
-
-- Encryption -- email from Landon
-   > The backup encryption algorithm is currently not configurable, and is  
-   > set to AES_128_CBC in src/filed/backup.c. The encryption code  
-   > supports a number of different ciphers (as well as adding arbitrary  
-   > new ones) -- only a small bit of code would be required to map a  
-   > configuration string value to a CRYPTO_CIPHER_* value, if anyone is  
-   > interested in implementing this functionality.
-
-- 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
-  to a DVD (the device is not open -- see bug #732).
-- Look at the possibility of adding "SET NAMES UTF8" for MySQL,
-  and possibly changing the blobs into varchar.
-- Test Volume compatibility between machine architectures
-- Encryption documentation
-
-Professional Needs:
-- Migration from other vendors
-  - Date change
-  - Path change
-- Filesystem types
-- Backup conf/exe (all daemons) 
-- Detect state change of system (verify)
-- SD to SD
-- Novell NSS backup http://www.novell.com/coolsolutions/tools/18952.html
-- Compliance norms that compare restored code hash code.
-- David's priorities
-   Copypools
-   Extract capability (#25)
-   Threshold triggered migration jobs (not currently in list, but will be
-    needed ASAP)
-   Client triggered backups
-   Complete rework of the scheduling system (not in list)
-   Performance and usage instrumentation (not in list)
-   See email of 21Aug2007 for details.
-- Look at: http://tech.groups.yahoo.com/group/cfg2html
-   and http://www.openeyet.nl/scc/ for managing customer changes
-
-Projects:
-- Pool enhancements
-  - Access Mode = Read-Only, Read-Write, Unavailable, Destroyed, Offsite
-  - Pool Type = Copy
-  - Maximum number of scratch volumes
-  - Maximum File size
-  - Next Pool (already have)
-  - Reclamation threshold
-  - Reclamation Pool
-  - Reuse delay (after all files purged from volume before it can be used)
-  - Copy Pool = xx, yyy (or multiple lines).
-  - Catalog = xxx
-  - Allow pool selection during restore.
-
-- Average tape size from Eric
-    SELECT COALESCE(media_avg_size.volavg,0) * count(Media.MediaId) AS volmax,                                                              GROUP BY Media.MediaType, Media.PoolId, media_avg_size.volavg
-           count(Media.MediaId)  AS volnum,
-           sum(Media.VolBytes)   AS voltotal,
-           Media.PoolId          AS PoolId,
-           Media.MediaType       AS MediaType
-    FROM Media
-    LEFT JOIN (SELECT avg(Media.VolBytes) AS volavg,
-                      Media.MediaType     AS MediaType
-               FROM Media
-              WHERE Media.VolStatus = 'Full'
-              GROUP BY Media.MediaType
-               ) AS media_avg_size ON (Media.MediaType = media_avg_size.MediaType)
-    GROUP BY Media.MediaType, Media.PoolId, media_avg_size.volavg
-- Performance
-  - Despool attributes in separate thread
-  - Database speedups
-  - Embedded MySQL
-  - Check why restore repeatedly sends Rechdrs between
-    each data chunk -- according to James Harper 9Jan07.
-- Features
-  - Better scheduling  
-  - More intelligent re-run
-  - Incremental backup -- rsync, Stow
-
-- Make Bacula by default not backup tmpfs, procfs, sysfs, ...
-- Fix hardlinked immutable files when linking a second file, the
-  immutable flag must be removed prior to trying to link it.
-- Change dbcheck to tell users to use native tools for fixing
-  broken databases, and to ensure they have the proper indexes.
-- add udev rules for Bacula devices.
-- If a job terminates, the DIR connection can close before the
-  Volume info is updated, leaving the File count wrong.
-- Look at why SIGPIPE during connection can cause seg fault in
-  writing the daemon message, when Dir dropped to bacula:bacula
-- Look at zlib 32 => 64 problems.
-- Fix bextract to restore ACLs, or better yet, use common routines.
-- New dot commands from Arno.
-  .show device=xxx lists information from one storage device, including 
-     devices (I'm not even sure that information exists in the DIR...)
-  .move eject device=xxx mostly the same as 'unmount xxx' but perhaps with 
-     better machine-readable output like "Ok" or "Error busy"
-  .move eject device=xxx toslot=yyy the same as above, but with a new 
-     target slot. The catalog should be updated accordingly.
-  .move transfer device=xxx fromslot=yyy toslot=zzz
-
-Low priority:
-- Article: http://www.heise.de/open/news/meldung/83231
-- Article: http://www.golem.de/0701/49756.html
-- Article: http://lwn.net/Articles/209809/
-- Article: http://www.onlamp.com/pub/a/onlamp/2004/01/09/bacula.html
-- Article: http://www.linuxdevcenter.com/pub/a/linux/2005/04/07/bacula.html
-- Article: http://www.osreviews.net/reviews/admin/bacula
-- Article: http://www.debianhelp.co.uk/baculaweb.htm
-- Article: 
-- Wikis mentioning Bacula
-  http://wiki.finkproject.org/index.php/Admin:Backups
-  http://wiki.linuxquestions.org/wiki/Bacula
-  http://www.openpkg.org/product/packages/?package=bacula
-  http://www.iterating.com/products/Bacula
-  http://net-snmp.sourceforge.net/wiki/index.php/Net-snmp_extensions
-  http://www.section6.net/wiki/index.php/Using_Bacula_for_Tape_Backups
-  http://bacula.darwinports.com/
-  http://wiki.mandriva.com/en/Releases/Corporate/Server_4/Notes#Bacula
-  http://en.wikipedia.org/wiki/Bacula
-
-- Bacula Wikis
-  http://www.devco.net/pubwiki/Bacula/
-  http://paramount.ind.wpi.edu/wiki/doku.php
-  http://gentoo-wiki.com/HOWTO_Backup
-  http://www.georglutz.de/wiki/Bacula
-  http://www.clarkconnect.com/wiki/index.php?title=Modules_-_LAN_Backup/Recovery
-  http://linuxwiki.de/Bacula   (in German)
-
-- Figure out how to configure query.sql.  Suggestion to use m4:
-    == changequote.m4 ===
-    changequote(`[',`]')dnl
-    ==== query.sql.in ===
-    :List next 20 volumes to expire
-    SELECT
-        Pool.Name AS PoolName,
-        Media.VolumeName,
-        Media.VolStatus,
-        Media.MediaType,
-    ifdef([MySQL],
-    [ FROM_UNIXTIME(UNIX_TIMESTAMP(Media.LastWritten) Media.VolRetention) AS Expire, ])dnl
-    ifdef([PostgreSQL],
-    [ media.lastwritten + interval '1 second' * media.volretention as expire, ])dnl
-      Media.LastWritten
-      FROM Pool
-      LEFT JOIN Media
-      ON Media.PoolId=Pool.PoolId
-      WHERE Media.LastWritten>0
-      ORDER BY Expire
-      LIMIT 20;
-    ====
-    Command: m4 -DmySQL changequote.m4 query.sql.in >query.sql
-
-  The problem is that it requires m4, which is not present on all machines
-  at ./configure time.
-
-==== SQL
-# get null file
-select FilenameId from Filename where Name='';
-# Get list of all directories referenced in a Backup.
-select Path.Path from Path,File where File.JobId=nnn and
-  File.FilenameId=(FilenameId-from-above) and File.PathId=Path.PathId
-  order by Path.Path ASC;
-
-- Mount on an Autochanger with no tape in the drive causes:
-   Automatically selected Storage: LTO-changer
-   Enter autochanger drive[0]: 0
-   3301 Issuing autochanger "loaded drive 0" command.
-   3302 Autochanger "loaded drive 0", result: nothing loaded.
-   3301 Issuing autochanger "loaded drive 0" command.
-   3302 Autochanger "loaded drive 0", result: nothing loaded.
-   3902 Cannot mount Volume on Storage Device "LTO-Drive1" (/dev/nst0) because:
-   Couldn't rewind device "LTO-Drive1" (/dev/nst0): ERR=dev.c:678 Rewind error on "LTO-Drive1" (/dev/nst0). ERR=No medium found.
-   3905 Device "LTO-Drive1" (/dev/nst0) open but no Bacula volume is mounted.
-   If this is not a blank tape, try unmounting and remounting the Volume.
-- If Drive 0 is blocked, and drive 1 is set "Autoselect=no", drive 1 will
-  be used.
-- Autochanger did not change volumes.  
-   select * from Storage;
-   +-----------+-------------+-------------+
-   | StorageId | Name        | AutoChanger |
-   +-----------+-------------+-------------+
-   |         1 | LTO-changer |           0 |
-   +-----------+-------------+-------------+
-   05-May 03:50 roxie-sd: 3302 Autochanger "loaded drive 0", result is Slot 11.
-   05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Warning: Director wanted Volume "LT
-    Current Volume "LT0-002" not acceptable because:
-    1997 Volume "LT0-002" not in catalog.
-   05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Error: Autochanger Volume "LT0-002"
-    Setting InChanger to zero in catalog.
-   05-May 03:50 roxie-dir: Tibs.2006-05-05_03.05.02 Error: Unable to get Media record
-
-   05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Fatal error: Error getting Volume i
-   05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Fatal error: Job 530 canceled.
-   05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Fatal error: spool.c:249 Fatal appe
-   05-May 03:49 Tibs: Tibs.2006-05-05_03.05.02 Fatal error: c:\cygwin\home\kern\bacula
-   , got
-     (missing)
-    llist volume=LTO-002
-              MediaId: 6
-           VolumeName: LTO-002
-                 Slot: 0
-               PoolId: 1
-            MediaType: LTO-2
-         FirstWritten: 2006-05-05 03:11:54
-          LastWritten: 2006-05-05 03:50:23
-            LabelDate: 2005-12-26 16:52:40
-              VolJobs: 1
-             VolFiles: 0
-            VolBlocks: 1
-            VolMounts: 0
-             VolBytes: 206
-            VolErrors: 0
-            VolWrites: 0
-     VolCapacityBytes: 0
-            VolStatus: 
-              Recycle: 1
-         VolRetention: 31,536,000
-       VolUseDuration: 0
-           MaxVolJobs: 0
-          MaxVolFiles: 0
-          MaxVolBytes: 0
-            InChanger: 0
-              EndFile: 0
-             EndBlock: 0
-             VolParts: 0
-            LabelType: 0
-            StorageId: 1
-
-   Note VolStatus is blank!!!!!
-   llist volume=LTO-003
-             MediaId: 7
-          VolumeName: LTO-003
-                Slot: 12
-              PoolId: 1
-           MediaType: LTO-2
-        FirstWritten: 0000-00-00 00:00:00
-         LastWritten: 0000-00-00 00:00:00
-           LabelDate: 2005-12-26 16:52:40
-             VolJobs: 0
-            VolFiles: 0
-           VolBlocks: 0
-           VolMounts: 0
-            VolBytes: 1
-           VolErrors: 0
-           VolWrites: 0
-    VolCapacityBytes: 0
-           VolStatus: Append
-             Recycle: 1
-        VolRetention: 31,536,000
-      VolUseDuration: 0
-          MaxVolJobs: 0
-         MaxVolFiles: 0
-         MaxVolBytes: 0
-           InChanger: 0
-             EndFile: 0
-            EndBlock: 0
-            VolParts: 0
-           LabelType: 0
-           StorageId: 1
-===
-   mount
-   Automatically selected Storage: LTO-changer
-   Enter autochanger drive[0]: 0
-   3301 Issuing autochanger "loaded drive 0" command.
-   3302 Autochanger "loaded drive 0", result: nothing loaded.
-   3301 Issuing autochanger "loaded drive 0" command.
-   3302 Autochanger "loaded drive 0", result: nothing loaded.
-   3902 Cannot mount Volume on Storage Device "LTO-Drive1" (/dev/nst0) because:
-   Couldn't rewind device "LTO-Drive1" (/dev/nst0): ERR=dev.c:678 Rewind error on "LTO-Drive1" (/dev/nst0). ERR=No medium found.
-
-   3905 Device "LTO-Drive1" (/dev/nst0) open but no Bacula volume is mounted.
-   If this is not a blank tape, try unmounting and remounting the Volume.
-
-- http://www.dwheeler.com/essays/commercial-floss.html
-- Add VolumeLock to prevent all but lock holder (SD) from updating
-  the Volume data (with the exception of VolumeState).
-- The btape fill command does not seem to use the Autochanger
-- Make Windows installer default to system disk drive.
-- Look at using ioctl(FIOBMAP, ...) on Linux, and 
-  DeviceIoControl(...,  FSCTL_QUERY_ALLOCATED_RANGES, ...) on
-  Win32 for sparse files.
-  http://www.flexhex.com/docs/articles/sparse-files.phtml
-  http://www.informatik.uni-frankfurt.de/~loizides/reiserfs/fibmap.html
-- Directive: at <event> "command"
-- Command: pycmd "command" generates "command" event.  How to
-  attach to a specific job?
-- run_cmd() returns int should return JobId_t
-- get_next_jobid_from_list() returns int should return JobId_t
-- Document export LDFLAGS=-L/usr/lib64
-- Network error on Win32 should set Win32 error code.
-- What happens when you rename a Disk Volume?
-- Job retention period in a Pool (and hence Volume).  The job would
-  then be migrated.
-- Add Win32 FileSet definition somewhere
-- Look at fixing restore status stats in SD.
-- Look at using ioctl(FIMAP) and FIGETBSZ for sparse files.
-  http://www.informatik.uni-frankfurt.de/~loizides/reiserfs/fibmap.html
-- Implement a mode that says when a hard read error is
-  encountered, read many times (as it currently does), and if the
-  block cannot be read, skip to the next block, and try again.  If
-  that fails, skip to the next file and try again, ...
-- Add level table:
-  create table LevelType (LevelType binary(1), LevelTypeLong tinyblob);
-  insert into LevelType (LevelType,LevelTypeLong) values
-  ("F","Full"),
-  ("D","Diff"),
-  ("I","Inc");
-- new pool XXX with ScratchPoolId = MyScratchPool's PoolId and
-  let it fill itself, and RecyclePoolId = XXX's PoolId so I can
-  see if it become stable and I just have to supervise
-  MyScratchPool
-- If I want to remove this pool, I set RecyclePoolId = MyScratchPool's
-  PoolId, and when it is empty remove it.
-- Add Volume=SCRTCH
-- Allow Check Labels to be used with Bacula labels.
-- "Resuming" a failed backup (lost line for example) by using the
-  failed backup as a sort of "base" job.
-- Look at NDMP
-- Email to the user when the tape is about to need changing x
-  days before it needs changing.
-- Command to show next tape that will be used for a job even
-  if the job is not scheduled.
-- From: Arunav Mandal <amandal at trolltech.com>
-  1. When jobs are running and bacula for some reason crashes or if I do a 
-  restart it remembers and jobs it was running before it crashed or restarted 
-  as of now I loose all jobs if I restart it.
-
-  2. When spooling and in the midway if client is disconnected for instance a 
-  laptop bacula completely discard the spool. It will be nice if it can write 
-  that spool to tape so there will be some backups for that client if not all.
-
-  3. We have around 150 clients machines it will be nice to have a option to 
-  upgrade all the client machines bacula version automatically.
-
-  4. Atleast one connection should be reserved for the bconsole so at heavy load 
-  I should connect to the director via bconsole which at sometimes I can't
-
-  5. Another most important feature that is missing, say at 10am I manually 
-  started  backup of client abc and it was a full backup since client abc has 
-  no backup history and at 10.30am bacula again automatically started backup of 
-  client abc as that was in the schedule. So now we have 2 multiple Full 
-  backups of the same client and if we again try to start a full backup of 
-  client backup abc bacula won't complain. That should be fixed.
-
-- regardless of the retention period, Bacula will not prune the
-  last Full, Diff, or Inc File data until a month after the
-  retention period for the last Full backup that was done.
-- update volume=xxx --- add status=Full
-- Remove old spool files on startup.
-- Exclude SD spool/working directory.
-- Refuse to prune last valid Full backup. Same goes for Catalog.
-- Python:
-  - Make a callback when Rerun failed levels is called.
-  - Give Python program access to Scheduled jobs.
-  - Add setting Volume State via Python.
-  - Python script to save with Python, not save, save with Bacula.
-  - Python script to do backup.
-  - What events?
-  - Change the Priority, Client, Storage, JobStatus (error) 
-    at the start of a job.
-- Why is SpoolDirectory = /home/bacula/spool;  not reported
-  as an error when writing a DVD?
-- Make bootstrap file handle multiple MediaTypes (SD)
-- Remove all old Device resource code in Dir and code to pass it
-  back in SD -- better, rework it to pass back device statistics.
-- Check locking of resources -- be sure to lock devices where previously
-  resources were locked. 
-- The last part is left in the spool dir.
-
-
-- In restore don't compare byte count on a raw device -- directory
-  entry does not contain bytes.
-
-
-- Max Vols limit in Pool off by one?
-- Implement Files/Bytes,... stats for restore job.
-- Implement Total Bytes Written, ... for restore job.
-- Despool attributes simultaneously with data in a separate
-  thread, rejoined at end of data spooling.
-- 7. Implement new Console commands to allow offlining/reserving drives,
-     and possibly manipulating the autochanger (much asked for).
-- Add start/end date editing in messages (%t %T, %e?) ...
-- Add ClientDefs similar to JobDefs.
-- Print more info when bextract -p accepts a bad block.
-- Fix FD JobType to be set before RunBeforeJob in FD.
-- Look at adding full Volume and Pool information to a Volume 
-  label so that bscan can get *all* the info. 
-- If the user puts "Purge Oldest Volume = yes" or "Recycle Oldest Volume = yes"
-  and there is only one volume in the pool, refuse to do it -- otherwise
-  he fills the Volume, then immediately starts reusing it.
-- Implement copies and stripes.
-- Add history file to console.
-- Each file on tape creates a JobMedia record. Peter has 4 million
-  files spread over 10000 tape files and four tapes. A restore takes
-  16 hours to build the restore list.
-- Add and option to check if the file size changed during backup.
-- Make sure SD deletes spool files on error exit.
-- Delete old spool files when SD starts.
-- When labeling tapes, if you enter 000026, Bacula uses
-  the tape index rather than the Volume name 000026.
-- Add offline tape command to Bacula console.
-- Bug: 
-  Enter MediaId or Volume name: 32
-  Enter new Volume name: DLT-20Dec04
-  Automatically selected Pool: Default
-  Connecting to Storage daemon DLTDrive at 192.168.68.104:9103 ...
-  Sending relabel command from "DLT-28Jun03" to "DLT-20Dec04" ...
-  block.c:552 Write error at 0:0 on device /dev/nst0. ERR=Bad file descriptor.
-  Error writing final EOF to tape. This tape may not be readable.
-  dev.c:1207 ioctl MTWEOF error on /dev/nst0. ERR=Permission denied.
-  askdir.c:219 NULL Volume name. This shouldn't happen!!!
-  3912 Failed to label Volume: ERR=dev.c:1207 ioctl MTWEOF error on /dev/nst0. ERR=Permission denied.
-  Label command failed for Volume DLT-20Dec04.
-  Do not forget to mount the drive!!!
-- Bug: if a job is manually scheduled to run later, it does not appear
-  in any status report and cannot be cancelled.
-
-
-==== 
-From David:
-How about introducing a Type = MgmtPolicy job type? That job type would
-be responsible for scanning the Bacula environment looking for specific
-conditions, and submitting the appropriate jobs for implementing said
-policy, eg: 
-
-Job {
-   Name = "Migration-Policy"
-   Type = MgmtPolicy
-   Policy Selection Job Type = Migrate
-   Scope = "<keyword> <operator> <regexp>"
-   Threshold = "<keyword> <operator> <regexp>"
-   Job Template = <template-name>
-}
-
-Where <keyword> is any legal job keyword, <operator> is a comparison
-operator (=,<,>,!=, logical operators AND/OR/NOT) and <regexp> is a
-appropriate regexp. I could see an argument for Scope and Threshold
-being SQL queries if we want to support full flexibility. The
-Migration-Policy job would then get scheduled as frequently as a site
-felt necessary (suggested default: every 15 minutes). 
-
-Example: 
-
-Job {
-   Name = "Migration-Policy"
-   Type = MgmtPolicy
-   Policy Selection Job Type = Migration
-   Scope = "Pool=*"
-   Threshold = "Migration Selection Type = LowestUtil"
-   Job Template = "MigrationTemplate"
-}
-
-would select all pools for examination and generate a job based on
-MigrationTemplate to automatically select the volume with the lowest
-usage and migrate it's contents to the nextpool defined for that pool. 
-
-This policy abstraction would be really handy for adjusting the behavior
-of Bacula according to site-selectable criteria (one thing that pops
-into mind is Amanda's ability to automatically adjust backup levels
-depending on various criteria).
-
-
-=====
-
-Regression tests:
-- Add Pool/Storage override regression test.
-- Add delete JobId to regression.
-- Add a regression test for dbcheck.  
-- New test to add bscan to four-concurrent-jobs regression,
-  i.e. after the four-concurrent jobs zap the
-  database as is done in the bscan-test, then use bscan to
-  restore the database, do a restore and compare with the
-  original.
-- Add restore of specific JobId to regression (item 3
-  on the restore prompt)
-- Add IPv6 to regression
-- Add database test to regression. Test each function like delete,
-  purge, ...
-
-- AntiVir can slow down backups on Win32 systems. 
-- Win32 systems with FAT32 can be much slower than NTFS for
-  more than 1000 files per directory.
-
-
-1.37 Possibilities:
-- A HOLD command to stop all jobs from starting.
-- A PAUSE command to pause all running jobs ==> release the
-  drive.
-- Media Type = LTO,LTO-2,LTO-3
-  Media Type Read = LTO,LTO2,LTO3
-  Media Type Write = LTO2, LTO3
-
-=== From Carsten Menke <bootsy52 at gmx.net>
-
-Following is a list of what I think in the situations where I'm faced with, 
-could be a usefull enhancement to bacula, which I'm certain other users will 
-benefit from as well.
-
-1. NextJob/NextJobs Directive within a Job Resource in the form of
-    NextJobs = job1,job2.
-
-    Why:
-    I currently solved the problem with running multiple jobs each after each
-    by setting the Max Wait Time for a job to 8 hours, and give
-    the jobs different Priorities. However, there scenarios where
-    1 Job is directly depending on another job, so if the former job fails,
-    the job after it needn't to be run
-    while maybe other jobs should run despite of that
-
-Example:
-  A Backup Job and a Verify job, if the backup job fails there is no need to run
-  the verify job, as the backup job already failed. However, one may like
-  to backup the Catalog to disk despite of that the main backup job failed.
-
-Notes:
-  I see that this is related to the Event Handlers which are on the ToDo
-  list, also it is maybe a good idea to check for the return value and
-  execute different actions based on the return value
-
-
-3. offline capability to bconsole
-
-    Why:
-    Currently I use a script which I execute within the last Job via the
-    RunAfterJob Directive, to release and eject the tape.
-    So I have to call bconsole "release=Storage-Name" and afterwards
-    mt -f /dev/nst0 eject to get the tape out.
-
-    If I have multiple Storage Devices, than these may not be /dev/nst0 and
-    I have to modify the script or call it with parameters etc.
-    This would actually not be needed, as everything is already defined
-    in bacula-sd.conf and if   I can invoke bconsole with the
-    storage name via $1 in the script than I'm done and information is
-    not duplicated.
-
-4. %s for Storage Name added to the chars being substituted in "RunAfterJob"
-
-    Why:
-
-    For the reason mentioned in 3. to have the ability to call a
-    script with /scripts/foobar %s and in the script use $1
-    to pass the Storage Name to bconsole
-
-5. Setting Volume State within a Job Resource
-
-    Why:
-    Instead of using "Maximum Volume Jobs" in the Pool Resource,
-    I would have the possibilty to define
-    in a Job Resource that after this certain job is run, the Volume State
-    should be set to "Volume State = Used", this give more flexibility (IMHO).
-
-7. OK, this is evil, probably bound to security risks and maybe not possible
-    due to the design of bacula.
-
-    Implementation of Backtics ( `command` ) for shell comand execution to
-    the "Label Format" Directive.
-
-Why:
-
-    Currently I have defined BACULA_DAY_OF_WEEK="day1|day2..." resulting in
-    Label Format = "HolyBackup-${BACULA_DAY_OF_WEEK[${WeekDay}]}". If I could
-    use backticks than I could use "Label Format = HolyBackup-`date +%A` to have
-    the localized name for the day of the week appended to the
-    format string. Then I have the tape labeled automatically with weekday
-    name in the correct language.
-==========
-- Make output from status use html table tags for nicely 
-  presenting in a browser.
-- Browse generations of files.
-- I've seen an error when my catalog's File table fills up.  I
-   then have to recreate the File table with a larger maximum row
-   size.  Relevant information is at
-   http://dev.mysql.com/doc/mysql/en/Full_table.html ; I think the
-   "Installing and Configuring MySQL" chapter should talk a bit
-   about this potential problem, and recommend a solution.
-- Want speed of writing to tape while despooling.
-- Supported autochanger:
-OS: Linux
-Man.: HP
-Media: LTO-2
-Model: SSL1016
-Slots: 16
-Cap: 200GB
-- Supported drive:
-  Wangtek 6525ES (SCSI-1 QIC drive, 525MB), under Linux 2.4.something, 
-  bacula 1.36.0/1 works with blocksize 16k INSIDE bacula-sd.conf.
-- Add regex from http://www.pcre.org to Bacula for Win32.
-- Use only shell tools no make in CDROM package.
-- Include within include does it work?
-- Implement a Pool of type Cleaning?
-- Think about making certain database errors fatal.
-- Look at correcting the time jump in the scheduler for daylight
-  savings time changes.
-- Check dates entered by user for correctness (month/day/... ranges)
-- Compress restore Volume listing by date and first file.
-- Look at patches/bacula_db.b2z postgresql that loops during restore.
-  See Gregory Wright.
-- Perhaps add read/write programs and/or plugins to FileSets.
-- How to handle backing up portables ...
-- Limit bandwidth
-
-Documentation to do: (any release a little bit at a time)
-- Doc to do unmount before removing magazine.
-- Alternative to static linking "ldd prog" save all binaries listed,
-  restore them and point LD_LIBRARY_PATH to them.
-- Document add "</dev/null >/dev/null 2>&1" to the bacula-fd command line
-- Document query file format.
-- Add more documentation for bsr files.
-- Document problems with Verify and pruning.
-- Document how to use multiple databases.
-- VXA drives have a "cleaning required"
-  indicator, but Exabyte recommends preventive cleaning after every 75
-  hours of operation.
-  From Phil:
-    In this context, it should be noted that Exabyte has a command-line
-    vxatool utility available for free download. (The current version is
-    vxatool-3.72.) It can get diagnostic info, read, write and erase tapes,
-    test the drive, unload tapes, change drive settings, flash new firmware,
-    etc.
-    Of particular interest in this context is that vxatool <device> -i will
-    report, among other details, the time since last cleaning in tape motion
-    minutes. This information can be retrieved (and settings changed, for
-    that matter) through the generic-SCSI device even when Bacula has the
-    regular tape device locked. (Needless to say, I don't recommend
-    changing tape settings while a job is running.)
-- Lookup HP cleaning recommendations.
-- Lookup HP tape replacement recommendations (see trouble shooting autochanger)
-- Document doing table repair
-
-
-===================================
-- Add macro expansions in JobDefs.
-  Run Before Job = "SomeFile %{Level} %{Client}"
-  Write Bootstrap="/some/dir/%{JobName}_%{Client}.bsr"
-- Use non-blocking network I/O but if no data is available, use
-  select().
-- Use gather write() for network I/O.
-- Autorestart on crash.
-- Add bandwidth limiting.
-- When an error in input occurs and conio beeps, you can back
-  up through the prompt.
-- Detect fixed tape block mode during positioning by looking at
-  block numbers in btape "test".  Possibly adjust in Bacula.
-- Fix list volumes to output volume retention in some other
-  units, perhaps via a directive.
-- If you use restore replace=never, the directory attributes for
-  non-existent directories will not be restored properly.
-
-- see lzma401.zip in others directory for new compression
-  algorithm/library.
-- Allow the user to select JobType for manual pruning/purging.
-- bscan does not put first of two volumes back with all info in
-  bscan-test.
-- Figure out how to make named console messages go only to that
-  console and to the non-restricted console (new console class?).
-- Make restricted console prompt for password if *ask* is set or
-  perhaps if password is undefined.
-- Implement "from ISO-date/time every x hours/days/weeks/months" in
-  schedules.
-
-==== from Marc Schoechlin
-- the help-command should be more verbose
-  (it should explain the paramters of the different 
-  commands in detail)
-  -> its time-comsuming to consult the manual anytime
-     you need a special parameter
-  -> maybe its more easy to maintain this, if the
-     descriptions of that commands are outsourced to
-     a ceratin-file
-- if the password is not configured in bconsole.conf
-  you should be asked for it.
-  -> sometimes you like to do restore on a customer-machine
-     which shouldnt know the password for bacula.
-  -> adding the password to the file favours admins
-     to forget to remove the password after usage
-  -> security-aspects
-     the protection of that file is less important
-- long-listed-output of commands should be scrollable
-  like the unix more/less-command does
-  -> if someone runs 200 and more machines, the lists could
-     be a little long and complex
-- command-output should be shown column by column
-  to reduce scrolling and to increase clarity
-  -> see last item
-- lsmark should list the selected files with full
-  paths
-- wildcards for selecting and file and directories would be nice
-- any actions should be interuptable with STRG+C
-- command-expansion would be pretty cool
-====
-- When the replace Never option is set, new directory permissions
-  are not restored. See bug 213. To fix this requires creating a
-  list of newly restored directories so that those directory 
-  permissions *can* be restored.
-- Add prune all command
-- Document fact that purge can destroy a part of a restore by purging
-  one volume while others remain valid -- perhaps mark Jobs.
-- Add multiple-media-types.txt
-- look at mxt-changer.html
-- Make ? do a help command (no return needed).
-- Implement restore directory.
-- Document streams and how to implement them.
-- Try not to re-backup a file if a new hard link is added.
-- Add feature to backup hard links only, but not the data.
-- Fix stream handling to be simpler.
-- Add Priority and Bootstrap to Run a Job.
-- Eliminate Restore "Run Restore Job" prompt by allowing new "run command
-  to be issued"
-- Remove View FileSet button from Run a Job dialog.
-- Handle prompt for restore job at end of Restore command.
-- Add display of total selected files to Restore window.
-- Add tree pane to left of window.
-- Add progress meter.
-- Max wait time or max run time causes seg fault -- see runtime-bug.txt
-- Add message to user to check for fixed block size when the forward
-  space test fails in btape.
-- When unmarking a directory check if all files below are unmarked and
-  then remove the + flag -- in the restore tree.
-- Possibly implement: Action = Unmount Device="TapeDrive1" in Admin jobs.
-- Setup lrrd graphs: (http://www.linpro.no/projects/lrrd/) Mike Acar.
-- Revisit the question of multiple Volumes (disk) on a single device.
-- Add a block copy option to bcopy.
-- Fix "llist jobid=xx" where no fileset or client exists.
-- For each job type (Admin, Restore, ...) require only the really necessary
-  fields.- Pass Director resource name as an option to the Console.
-- Add a "batch" mode to the Console (no unsolicited queries, ...).
-- Allow browsing the catalog to see all versions of a file (with 
-  stat data on each file).
-- Restore attributes of directory if replace=never set but directory
-  did not exist.
-- Use SHA1 on authentication if possible.
-- See comtest-xxx.zip for Windows code to talk to USB.
-- Add John's appended files:
-   Appended = {     /files/server/logs/http/*log   }
-   and such files would be treated as follows.On a FULL backup, they would
-   be backed up like any other file.On an INCREMENTAL backup, where a
-   previous INCREMENTAL or FULL was already in thecatalogue and the length
-   of the file wasgreater than the length of the last backup, only thedata
-   added since the last backup will be dumped.On an INCREMENTAL backup, if
-   the length of the file is less than thelength of the file with the same
-   name last backed up, the completefile is dumped.On Windows systems, with
-   creation date of files, we can be evensmarter about this and not count
-   entirely upon the length.On a restore, the full and all incrementals
-   since it will beapplied in sequence to restore the file.  
-- Check new HAVE_WIN32 open bits.    
-- Check if the tape has moved before writing.  
-- Handling removable disks -- see below:
-- Add FromClient and ToClient keywords on restore command (or
-  BackupClient RestoreClient).
-- Implement a JobSet, which groups any number of jobs. If the
-  JobSet is started, all the jobs are started together.
-  Allow Pool, Level, and Schedule overrides.
-- Look at updating Volume Jobs so that Max Volume Jobs = 1 will work
-  correctly for multiple simultaneous jobs.
-- Implement the Media record flag that indicates that the Volume does disk 
-  addressing.
-- Fix fast block rejection (stored/read_record.c:118). It passes a null
-  pointer (rec) to try_repositioning().
-- Implement RestoreJobRetention? Maybe better "JobRetention" in a Job,
-  which would take precidence over the Catalog "JobRetention".
-- Implement Label Format in Add and Label console commands.
-- Put email tape request delays on one or more variables. User wants
-  to cancel the job after a certain time interval.  Maximum Mount Wait?
-- Job, Client, Device, Pool, or Volume?
-  Is it possible to make this a directive which is *optional* in multiple
-  resources, like Level? If so, I think I'd make it an optional directive
-  in Job, Client, and Pool, with precedence such that Job overrides Client
-  which in turn overrides Pool.
-
-- New Storage specifications:
-  - Want to write to multiple storage devices simultaneously
-  - Want to write to multiple storage devices sequentially (in one job)
-  - Want to read/write simultaneously
-  - Key is MediaType -- it must match
-
-  Passed to SD as a sort of BSR record called Storage Specification
-    Record or SSR.
-    SSR                    
-      Next -> Next SSR
-      MediaType -> Next MediaType
-      Pool -> Next Pool
-      Device -> Next Device
-  Job Resource
-     Allow multiple Storage specifications
-     New flags
-        One Archive = yes
-        One Device = yes
-        One Storage = yes
-        One MediaType = yes
-        One Pool = yes
-  Storage
-     Allow Multiple Pool specifications (note, Pool currently
-       in Job resource).
-     Allow Multiple MediaType specifications in Dir conf
-     Allow Multiple Device specifications in Dir conf
-     Perhaps keep this in a single SSR
-  Tie a Volume to a specific device by using a MediaType that 
-    is contained in only one device.
-  In SD allow Device to have Multiple MediaTypes
-
-- Ideas from Jerry Scharf:
-  First let's point out some big pluses that bacula has for this
-        it's open source
-        more importantly it's active. Thank you so much for that
-        even more important, it's not flaky
-        it has an open access catalog, opening many possibilities
-        it's pushing toward heterogeneous systems capability
-  big things:
-   Macintosh file client
-   working bare iron recovery for windows
-   the option for  inc/diff backups not reset on fileset revision
-        a) use both change and inode update time against base time
-        b) do the full catalog check (expensive but accurate)
-   sizing guide (how much system is needed to back up N systems/files)
-   consultants on using bacula in building a disaster recovery system
-   an integration guide
-        or how to get at fancy things that one could do with bacula
-   logwatch code for bacula logs (or similar)
-   support for Oracle database ??
-===
-- Look at adding SQL server and Exchange support for Windows. 
-- Add progress of files/bytes to SD and FD.
-- do a "messages" before the first prompt in Console
-- Client does not show busy during Estimate command.
-- Implement Console mtx commands.
-- Implement a Mount Command and an Unmount Command where
-  the users could specify a system command to be performed
-  to do the mount, after which Bacula could attempt to
-  read the device. This is for Removeable media such as a CDROM.
-  - Most likely, this mount command would be invoked explicitly
-  by the user using the current Console "mount" and "unmount" 
-  commands -- the Storage Daemon would do the right thing 
-  depending on the exact nature of the device.
-  - As with tape drives, when Bacula wanted a new removable
-  disk mounted, it would unmount the old one, and send a message
-  to the user, who would then use "mount" as described above 
-  once he had actually inserted the disk.
-- Implement dump/print label to UA
-- Spool to disk only when the tape is full, then when a tape is hung move
-  it to tape.
-- bextract is sending everything to the log file ****FIXME****
-- Allow multiple Storage specifications (or multiple names on
-  a single Storage specification) in the Job record. Thus a job 
-  can be backed up to a number of storage devices.
-- Implement some way for the File daemon to contact the Director 
-  to start a job or pass its DHCP obtained IP number.
-- Implement a query tape prompt/replace feature for a console
-- Make sure that Bacula rechecks the tape after the 20 min wait.
-- Set IO_NOWAIT on Bacula TCP/IP packets.
-- Try doing a raw partition backup and restore by mounting a
-  Windows partition.
-- From Lars Kellers:
-    Yes, it would allow to highly automatic the request for new tapes. If a 
-    tape is empty, bacula reads the barcodes (native or simulated), and if 
-    an unused tape is found, it runs the label command with all the 
-    necessary parameters.
-
-    By the way can bacula automatically "move" an empty/purged volume say 
-    in the "short" pool to the "long" pool if this pool runs out of volume 
-    space?
-- What to do about "list files job=xxx".
-- Look at how fuser works and /proc/PID/fd that is how Nic found the
-  file descriptor leak in Bacula.
-- Can we dynamically change FileSets?
-- If pool specified to label command and Label Format is specified,
-  automatically generate the Volume name.
-- Add ExhautiveRestoreSearch
-- Look at the possibility of loading only the necessary 
-  data into the restore tree (i.e. do it one directory at a
-  time as the user walks through the tree).
-- Possibly use the hash code if the user selects all for a restore command.
-- Fix "restore all" to bypass building the tree.
-- Prohibit backing up archive device (findlib/find_one.c:128)
-- Implement Release Device in the Job resource to unmount a drive.
-- Implement Acquire Device in the Job resource to mount a drive,
-  be sure this works with admin jobs so that the user can get
-  prompted to insert the correct tape.  Possibly some way to say to
-  run the job but don't save the files.
-- Make things like list where a file is saved case independent for
-  Windows.
-- Implement a Recycle command
-- From Phil Stracchino:
-  It would probably be a per-client option, and would be called
-  something like, say, "Automatically purge obsoleted jobs".  What it
-  would do is, when you successfully complete a Differential backup of a
-  client, it would automatically purge all Incremental backups for that
-  client that are rendered redundant by that Differential.  Likewise,
-  when a Full backup on a client completed, it would automatically purge
-  all Differential and Incremental jobs obsoleted by that Full backup.
-  This would let people minimize the number of tapes they're keeping on
-  hand without having to master the art of retention times.
-- When doing a Backup send all attributes back to the Director, who
-  would then figure out what files have been deleted.
-- Currently in mount.c:236 the SD simply creates a Volume. It should have
-  explicit permission to do so.  It should also mark the tape in error
-  if there is an error.
-- Cancel waiting for Client connect in SD if FD goes away.
-
-- Implement timeout in response() when it should come quickly.
-- Implement a Slot priority (loaded/not loaded).
-- Implement "vacation" Incremental only saves.
-- Implement create "FileSet"?
-- Add prefixlinks to where or not where absolute links to FD.
-- Issue message to mount a new tape before the rewind.
-- Simplified client job initiation for portables.
-- If SD cannot open a drive, make it periodically retry.
-- Add more of the config info to the tape label.
-
-- Refine SD waiting output:
-    Device is being positioned
-    >     Device is being positioned for append
-    >     Device is being positioned to file x
-    > 
-- Figure out some way to estimate output size and to avoid splitting
-  a backup across two Volumes -- this could be useful for writing CDROMs
-  where you really prefer not to have it split -- not serious.
-- Make bcopy read through bad tape records.
-- Program files (i.e. execute a program to read/write files).
-  Pass read date of last backup, size of file last time.
-- Add Signature type to File DB record.
-- CD into subdirectory when open()ing files for backup to
-  speed up things.  Test with testfind().
-- Priority job to go to top of list.
-- Why are save/restore of device different sizes (sparse?)   Yup! Fix it.
-- Implement some way for the Console to dynamically create a job.
-- Solaris -I on tar for include list
-- Need a verbose mode in restore, perhaps to bsr.
-- bscan without -v is too quiet -- perhaps show jobs.
-- Add code to reject whole blocks if not wanted on restore.
-- Check if we can increase Bacula FD priorty in Win2000
-- Check if both CatalogFiles and UseCatalog are set to SD.
-- Possibly add email to Watchdog if drive is unmounted too
-  long and a job is waiting on the drive.
-- After unmount, if restore job started, ask to mount.
-- Add UA rc and history files.
-- put termcap (used by console) in ./configure and
-  allow -with-termcap-dir.
-- Fix Autoprune for Volumes to respect need for full save.
-- Compare tape to Client files (attributes, or attributes and data) 
-- Make all database Ids 64 bit.
-- Allow console commands to detach or run in background.
-- Add SD message variables to control operator wait time
-  - Maximum Operator Wait
-  - Minimum Message Interval
-  - Maximum Message Interval
-- Send Operator message when cannot read tape label.
-- Verify level=Volume (scan only), level=Data (compare of data to file).
-  Verify level=Catalog, level=InitCatalog
-- Events file
-- Add keyword search to show command in Console.
-- Events : tape has more than xxx bytes.
-- Complete code in Bacula Resources -- this will permit
-  reading a new config file at any time.
-- Handle ctl-c in Console
-- Implement script driven addition of File daemon to config files.
-- Think about how to make Bacula work better with File (non-tape) archives.
-- Write Unix emulator for Windows.
-- Make database type selectable by .conf files i.e. at runtime
-- Set flag for uname -a.  Add to Volume label.
-- Restore files modified after date
-- SET LD_RUN_PATH=$HOME/mysql/lib/mysql
-- Remove duplicate fields from jcr (e.g. jcr.level and jcr.jr.Level, ...).
-- Timout a job or terminate if link goes down, or reopen link and query.
-- Concept of precious tapes (cannot be reused).
-- Make bcopy copy with a single tape drive.
-- Permit changing ownership during restore.
-
-- From Phil:
-  > My suggestion:  Add a feature on the systray menu-icon menu to request
-  > an immediate backup now.  This would be useful for laptop users who may
-  > not be on the network when the regular scheduled backup is run.
-  > 
-  > My wife's suggestion: Add a setting to the win32 client to allow it to
-  > shut down the machine after backup is complete (after, of course,
-  > displaying a "System will shut down in one minute, click here to cancel"
-  > warning dialog).  This would be useful for sites that want user
-  > woorkstations to be shut down overnight to save power.
-  > 
-
-- Autolabel should be specified by DIR instead of SD.
-- Storage daemon    
-  - Add media capacity
-  - AutoScan (check checksum of tape)
-  - Format command = "format /dev/nst0"
-  - MaxRewindTime
-  - MinRewindTime
-  - MaxBufferSize
-  - Seek resolution (usually corresponds to buffer size)
-  - EODErrorCode=ENOSPC or code
-  - Partial Read error code
-  - Partial write error code
-  - Nonformatted read error
-  - Nonformatted write error
-  - WriteProtected error
-  - IOTimeout
-  - OpenRetries
-  - OpenTimeout
-  - IgnoreCloseErrors=yes
-  - Tape=yes
-  - NoRewind=yes
-- Pool
-  - Maxwrites
-  - Recycle period
-- Job
-  - MaxWarnings
-  - MaxErrors (job?)
-=====
-- Write a Storage daemon that uses pipes and
-  standard Unix programs to write to the tape.
-  See afbackup.
-- Need something that monitors the JCR queue and
-  times out jobs by asking the deamons where they are.
-- Verify from Volume
-- Need report class for messages. Perhaps
-  report resource where report=group of messages
-- enhance scan_attrib and rename scan_jobtype, and
-  fill in code for "since" option 
-- Director needs a time after which the report status is sent
-  anyway -- or better yet, a retry time for the job.
-- Don't reschedule a job if previous incarnation is still running.
-- Some way to automatically backup everything is needed????
-- Need a structure for pending actions:
-  - buffered messages
-  - termination status (part of buffered msgs?)
-- Drive management
-  Read, Write, Clean, Delete
-- Login to Bacula; Bacula users with different permissions:
-   owner, group, user, quotas
-- Store info on each file system type (probably in the job header on tape.
-  This could be the output of df; or perhaps some sort of /etc/mtab record.
-
-========= ideas ===============
-From: "Jerry K. Schieffer" <jerry at skylinetechnology.com>
-To: <kern at sibbald.com>
-Subject: RE: [Bacula-users] future large programming jobs
-Date: Thu, 26 Feb 2004 11:34:54 -0600
-
-I noticed the subject thread and thought I would offer the following
-merely as sources of ideas, i.e. something to think about, not even as
-strong as a request.  In my former life (before retiring) I often
-dealt with backups and storage management issues/products as a
-developer and as a consultant.  I am currently migrating my personal
-network from amanda to bacula specifically because of the ability to
-cross media boundaries during storing backups.
-Are you familiar with the commercial product called ADSM (I think IBM
-now sells it under the Tivoli label)?  It has a couple of interesting
-ideas that may apply to the following topics.
-
-1. Migration:  Consider that when you need to restore a system, there
-may be pressure to hurry.  If all the information for a single client
-can eventually end up on the same media (and in chronological order),
-the restore is facillitated by not having to search past information
-from other clients.  ADSM has the concept of "client affinity" that
-may be associated with it's storage pools.  It seems to me that this
-concept (as an optional feature) might fit in your architecture for
-migration.
-
-ADSM also has the concept of defining one or more storage pools as
-"copy pools" (almost mirrors, but only in the sense of contents).
-These pools provide the ability to have duplicte data stored both
-onsite and offsite.  The copy process can be scheduled to be handled
-by their storage manager during periods when there is no backup
-activity.  Again, the migration process might be a place to consider
-implementing something like this.
-
->
-> It strikes me that it would be very nice to be able to do things
-like
-> have the Job(s) backing up the machines run, and once they have all
-> completed, start a migration job to copy the data from disks Volumes
-to
-> a tape library and then to offsite storage. Maybe this can already
-be
-> done with some careful scheduling and Job prioritzation; the events
-> mechanism described below would probably make it very easy.
-
-This is the goal. In the first step (before events), you simply
-schedule
-the Migration to tape later.
-
-2. Base jobs:  In ADSM, each copy of each stored file is tracked in
-the database.  Once a file (unique by path and metadata such as dates,
-size, ownership, etc.) is in a copy pool, no more copies are made.  In
-other words, when you start ADSM, it begins like your concept of a
-base job.  After that it is in the "incremental" mode.  You can
-configure the number of "generations" of files to be retained, plus a
-retention date after which even old generations are purged.  The
-database tracks the contents of media and projects the percentage of
-each volume that is valid.  When the valid content of a volume drops
-below a configured percentage, the valid data are migrated to another
-volume and the old volume is marked as empty.  Note, this requires
-ADSM to have an idea of the contents of a client, i.e. marking the
-database when an existing file was deleted, but this would solve your
-issue of restoring a client without restoring deleted files.
-
-This is pretty far from what bacula now does, but if you are going to
-rip things up for Base jobs,.....
-Also, the benefits of this are huge for very large shops, especially
-with media robots, but are a pain for shops with manual media
-mounting.
-
-Regards,
-Jerry Schieffer
-
-==============================
-
-Longer term to do:
-- Audit M_ error codes to ensure they are correct and consistent.
-- Add variable break characters to lex analyzer.
-  Either a bit mask or a string of chars so that
-  the caller can change the break characters.
-- Make a single T_BREAK to replace T_COMMA, etc.
-- Ensure that File daemon and Storage daemon can
-  continue a save if the Director goes down (this
-  is NOT currently the case). Must detect socket error,
-  buffer messages for later. 
-- Add ability to backup to two Storage devices (two SD sessions) at
-  the same time -- e.g. onsite, offsite.
-
-======================================================
-
-====
-   Handling removable disks
-
-   From: Karl Cunningham <karlc at keckec.com>
-
-   My backups are only to hard disk these days, in removable bays. This is my
-   idea of how a backup to hard disk would work more smoothly. Some of these
-   things Bacula does already, but I mention them for completeness. If others
-   have better ways to do this, I'd like to hear about it.
-
-   1. Accommodate several disks, rotated similar to how tapes are.  Identified
-   by partition volume ID or perhaps by the name of a subdirectory.
-   2. Abort & notify the admin if the wrong disk is in the bay.
-   3. Write backups to different subdirectories for each machine to be backed
-   up.
-   4. Volumes (files) get created as needed in the proper subdirectory, one
-   for each backup.
-   5. When a disk is recycled, remove or zero all old backup files. This is
-   important as the disk being recycled may be close to full. This may be
-   better done manually since the backup files for many machines may be
-   scattered in many subdirectories.
-====
-
-
-=== Done
-
-===
-        Base Jobs design
-It is somewhat like a Full save becomes an incremental since
-the Base job (or jobs) plus other non-base files.
-Need:
-- A Base backup is same as Full backup, just different type.
-- New BaseFiles table that contains:
-    BaseId - index
-    BaseJobId - Base JobId referenced for this FileId (needed ???)
-    JobId - JobId currently running
-    FileId - File not backed up, exists in Base Job
-    FileIndex - FileIndex from Base Job.
-  i.e. for each base file that exists but is not saved because
-  it has not changed, the File daemon sends the JobId, BaseId,
-  FileId, FileIndex back to the Director who creates the DB entry.
-- To initiate a Base save, the Director sends the FD 
-  the FileId, and full filename for each file in the Base.
-- When the FD finds a Base file, he requests the Director to
-  send him the full File entry (stat packet plus MD5), or
-  conversely, the FD sends it to the Director and the Director
-  says yes or no. This can be quite rapid if the FileId is kept
-  by the FD for each Base Filename.          
-- It is probably better to have the comparison done by the FD
-  despite the fact that the File entry must be sent across the
-  network.
-- An alternative would be to send the FD the whole File entry
-  from the start. The disadvantage is that it requires a lot of
-  space. The advantage is that it requires less communications
-  during the save.
-- The Job record must be updated to indicate that one or more
-  Bases were used.
-- At end of Job, FD returns:   
-   1. Count of base files/bytes not written to tape (i.e. matches)
-   2. Count of base file that were saved i.e. had changed.
-- No tape record would be written for a Base file that matches, in the
-  same way that no tape record is written for Incremental jobs where
-  the file is not saved because it is unchanged.
-- On a restore, all the Base file records must explicitly be
-  found from the BaseFile tape. I.e. for each Full save that is marked
-  to have one or more Base Jobs, search the BaseFile for all occurrences
-  of JobId.
-- An optimization might be to make the BaseFile have:
-     JobId
-     BaseId
-     FileId
-  plus
-     FileIndex
-  This would avoid the need to explicitly fetch each File record for
-  the Base job.  The Base Job record will be fetched to get the
-  VolSessionId and VolSessionTime.
-- Fix bpipe.c so that it does not modify results pointer.
-  ***FIXME*** calling sequence should be changed.
-- Fix restore of acls and extended attributes to count ERROR
-  messages and make errors non-fatal.
-- Put save/restore various platform acl/xattrs on a pointer to simplify
-  the code.
-- Add blast attributes to DIR to SD.
-- Implement unmount of USB volumes.
-- Look into using Dart for testing
-  http://public.kitware.com/Dart/HTML/Index.shtml
diff --git a/platforms/Makefile.in b/platforms/Makefile.in
index bba619b..fedcde3 100644
--- a/platforms/Makefile.in
+++ b/platforms/Makefile.in
@@ -11,7 +11,7 @@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL = @INSTALL@
 
-SUBDIRS = freebsd redhat solaris unknown openbsd osx irix gentoo \
+SUBDIRS = hurd freebsd redhat solaris unknown openbsd osx irix gentoo \
 	  debian darwin aix bsdi mandrake slackware alpha ubuntu systemd
 
 MAKE = make
diff --git a/platforms/hurd/Makefile.in b/platforms/hurd/Makefile.in
new file mode 100644
index 0000000..c8f392e
--- /dev/null
+++ b/platforms/hurd/Makefile.in
@@ -0,0 +1,88 @@
+#
+# This file is used as the template to create the
+# Makefile for the Debian GNU Hurd specific installation.
+#
+#  21 March 2008 -- Kern Sibbald
+#
+#  for Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+#
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -m 754
+
+nothing:
+
+install: install-autostart
+
+install-autostart: install-autostart-fd install-autostart-sd install-autostart-dir
+
+install_logrotate:
+	@$(INSTALL_PROGRAM) ../../scripts/logrotate $(DESTDIR)/etc/logrotate.d/bacula
+
+install-autostart-fd: uninstall-autostart-fd
+	@echo "Installing bacula-fd boot script ..."
+	@$(INSTALL_PROGRAM) bacula-fd $(DESTDIR)/etc/init.d/bacula-fd
+	@echo "Installing bacula-fd symlinks ..."
+	@if test x$(DESTDIR) = x ; then \
+	   /usr/sbin/update-rc.d bacula-fd start 91 2 3 4 5 . stop 9 0 1 6 .; \
+	fi
+
+
+install-autostart-sd: uninstall-autostart-sd
+	@echo "Installing bacula-sd boot script ..."
+	@$(INSTALL_PROGRAM) bacula-sd $(DESTDIR)/etc/init.d/bacula-sd
+	@echo "Installing bacula-sd symlinks ..."
+	@if test "x$(DESTDIR)" = "x" ; then \
+	   /usr/sbin/update-rc.d bacula-sd start 91 2 3 4 5 . stop 9 0 1 6 .; \
+	fi
+
+
+install-autostart-dir: uninstall-autostart-dir
+	@echo "Installing bacula-dir boot script ..."
+	@$(INSTALL_PROGRAM) bacula-dir $(DESTDIR)/etc/init.d/bacula-dir
+	@echo "Installing bacula-dir symlinks ..."
+	@if test "x$(DESTDIR)" = "x" ; then \
+	   /usr/sbin/update-rc.d bacula-dir start 90 2 3 4 5 . stop 9 0 1 6 .; \
+	fi
+
+
+uninstall: uninstall-autostart
+
+uninstall-autostart: uninstall-autostart-fd uninstall-autostart-sd uninstall-autostart-dir
+
+uninstall-logrotate:
+	@rm -f $(DESTDIR)/etc/logrotate.d/bacula
+
+uninstall-autostart-fd:
+	@if test "x$(DESTDIR)" = "x" -a  -f /etc/init.d/bacula-fd; then \
+	   /etc/init.d/bacula-fd stop; \
+	   rm -f  $(DESTDIR)/etc/init.d/bacula-fd; \
+	   /usr/sbin/update-rc.d bacula-fd remove; \
+	fi
+
+
+uninstall-autostart-sd:
+	@if test "x$(DESTDIR)" = "x" -a  -f /etc/init.d/bacula-sd; then \
+	   /etc/init.d/bacula-sd stop; \
+	   rm -f  $(DESTDIR)/etc/init.d/bacula-sd; \
+	   /usr/sbin/update-rc.d bacula-sd remove; \
+	fi
+
+uninstall-autostart-dir:
+	@if test "x$(DESTDIR)" = "x" -a  -f /etc/init.d/bacula-dir; then \
+	   /etc/init.d/bacula-dir stop; \
+	   rm -f  $(DESTDIR)/etc/init.d/bacula-dir; \
+	   /usr/sbin/update-rc.d bacula-dir remove; \
+	fi
+	@rm -f	$(DESTDIR)/etc/init.d/bacula-dir
+
+clean:
+	@rm -f 1 2 3
+
+distclean: clean
+	@rm -f Makefile
+	@rm -f bacula-sd bacula-fd bacula-dir
+
+devclean: clean
+	@rm -f Makefile
+	@rm -f bacula-sd bacula-fd bacula-dir
diff --git a/platforms/hurd/bacula-dir.in b/platforms/hurd/bacula-dir.in
new file mode 100644
index 0000000..88c13a3
--- /dev/null
+++ b/platforms/hurd/bacula-dir.in
@@ -0,0 +1,73 @@
+#! /bin/sh
+#
+# bacula  This shell script takes care of starting and stopping
+#	  the bacula Director daemon on Debian GNU Hurd systems.
+#
+#   Kern E. Sibbald - 21 March 2008
+#
+#  For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+#
+### BEGIN INIT INFO
+# Provides:	     bacula-dir
+# Required-Start:    $network
+# Required-Stop:     $network
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start @BACULA@ Director daemon at boot time
+# Description:	     Enable @BACULA@ Director.
+### END INIT INFO
+#
+
+NAME="bacula-dir"
+DESC="@BACULA@ Director"
+DAEMON=@sbindir@/${NAME}
+BUSER=@dir_user@
+BGROUP=@dir_group@
+BOPTIONS="-c @sysconfdir@/${NAME}.conf"
+BPORT=@dir_port@
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+test -f $DAEMON || exit 0
+
+if [ -n "`getent services ${NAME}`" ]; then
+   BPORT=`getent services ${NAME} | awk '{ gsub("/tcp","",$2); print $2; }'`
+fi
+
+if [ -f /etc/default/$NAME ]; then
+   . /etc/default/$NAME
+fi
+
+PIDFILE=@piddir@/${NAME}.${BPORT}.pid
+
+if [ "x${BUSER}" != "x" ]; then
+   USERGRP="--chuid ${BUSER}"
+   if [ "x${BGROUP}" != "x" ]; then
+      USERGRP="${USERGRP}:${BGROUP}"
+   fi
+fi
+
+case "$1" in
+   start)
+      echo -n "Starting ${DESC}: "
+      start-stop-daemon --start --quiet --pidfile ${PIDFILE} ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+      RETVAL=$?
+      echo "${NAME}"
+      ;;
+   stop)
+      echo -n "Stopping ${DESC}: "
+      start-stop-daemon --oknodo --stop --quiet ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+      RETVAL=$?
+      echo "${NAME}"
+      ;;
+   restart|force-reload)
+      $0 stop
+      sleep 5
+      $0 start
+      ;;
+   *)
+      echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload}" >&2
+      exit 1
+      ;;
+esac
+exit $RETVAL
diff --git a/platforms/hurd/bacula-fd.in b/platforms/hurd/bacula-fd.in
new file mode 100644
index 0000000..270950a
--- /dev/null
+++ b/platforms/hurd/bacula-fd.in
@@ -0,0 +1,73 @@
+#! /bin/sh
+#
+# bacula  This shell script takes care of starting and stopping
+#	  the bacula Director daemon on Debian GNU Hurd systems.
+#
+#   Kern E. Sibbald - 21 March 2008
+#
+#  For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+#
+### BEGIN INIT INFO
+# Provides:	     bacula-fd
+# Required-Start:    $network
+# Required-Stop:     $network
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start @BACULA@ Client daemon at boot time
+# Description:	     Enable @BACULA@ Client.
+### END INIT INFO
+
+
+NAME="bacula-fd"
+DESC="@BACULA@ File Daemon"
+DAEMON=@sbindir@/${NAME}
+BUSER=@fd_user@
+BGROUP=@fd_group@
+BOPTIONS="-c @sysconfdir@/${NAME}.conf"
+BPORT=@fd_port@
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+test -f $DAEMON || exit 0
+
+if [ -n "`getent services ${NAME}`" ]; then
+   BPORT=`getent services ${NAME} | awk '{ gsub("/tcp","",$2); print $2; }'`
+fi
+
+if [ -f /etc/default/$NAME ]; then
+   . /etc/default/$NAME
+fi
+
+PIDFILE=@piddir@/${NAME}.${BPORT}.pid
+
+if [ "x${BUSER}" != "x" ]; then
+   USERGRP="--chuid ${BUSER}"
+   if [ "x${BGROUP}" != "x" ]; then
+      USERGRP="${USERGRP}:${BGROUP}"
+   fi
+fi
+
+case "$1" in
+   start)
+      echo -n "Starting ${DESC}: "
+      start-stop-daemon --start --quiet --pidfile ${PIDFILE} ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+      RETVAL=$?
+      echo "${NAME}"
+      ;;
+   stop)
+      echo -n "Stopping ${DESC}: "
+      start-stop-daemon --oknodo --stop --quiet ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+      RETVAL=$?
+      echo "${NAME}"
+      ;;
+   restart|force-reload)
+      $0 stop
+      sleep 5
+      $0 start
+      ;;
+   *)
+      echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload}" >&2
+      exit 1
+      ;;
+esac
+exit $RETVAL
diff --git a/platforms/hurd/bacula-sd.in b/platforms/hurd/bacula-sd.in
new file mode 100644
index 0000000..ff1ad29
--- /dev/null
+++ b/platforms/hurd/bacula-sd.in
@@ -0,0 +1,73 @@
+#! /bin/sh
+#
+# bacula  This shell script takes care of starting and stopping
+#	  the bacula Director daemon on Debian GNU Hurd systems.
+#
+#   Kern E. Sibbald - 21 March 2008
+#
+#  For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+#
+### BEGIN INIT INFO
+# Provides:	     bacula-sd
+# Required-Start:    $network
+# Required-Stop:     $network
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start @BACULA@ Storage daemon at boot time
+# Description:	     Enable @BACULA@ Storage daemon.
+### END INIT INFO
+
+
+NAME="bacula-sd"
+DESC="@BACULA@ Storage Daemon"
+DAEMON=@sbindir@/${NAME}
+BUSER=@sd_user@
+BGROUP=@sd_group@
+BOPTIONS="-c @sysconfdir@/${NAME}.conf"
+BPORT=@sd_port@
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+test -f $DAEMON || exit 0
+
+if [ -n "`getent services ${NAME}`" ]; then
+   BPORT=`getent services ${NAME} | awk '{ gsub("/tcp","",$2); print $2; }'`
+fi
+
+if [ -f /etc/default/$NAME ]; then
+   . /etc/default/$NAME
+fi
+
+PIDFILE=@piddir@/${NAME}.${BPORT}.pid
+
+if [ "x${BUSER}" != "x" ]; then
+   USERGRP="--chuid ${BUSER}"
+   if [ "x${BGROUP}" != "x" ]; then
+      USERGRP="${USERGRP}:${BGROUP}"
+   fi
+fi
+
+case "$1" in
+   start)
+      echo -n "Starting ${DESC}: "
+      start-stop-daemon --start --quiet --pidfile ${PIDFILE} ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+      RETVAL=$?
+      echo "${NAME}"
+      ;;
+   stop)
+      echo -n "Stopping ${DESC}: "
+      start-stop-daemon --oknodo --stop --quiet ${USERGRP}  --exec ${DAEMON} -- ${BOPTIONS}
+      RETVAL=$?
+      echo "${NAME}"
+      ;;
+   restart|force-reload)
+      $0 stop
+      sleep 5
+      $0 start
+      ;;
+   *)
+      echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload}" >&2
+      exit 1
+      ;;
+esac
+exit $RETVAL
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 136c077..95f07f6 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -104,7 +104,6 @@
 ./src/lib/message.c
 ./src/lib/bnet_server.c
 ./src/lib/tree.c
-./src/lib/new-bnet.c
 ./src/lib/btime.c
 ./src/lib/bpipe.c
 ./src/lib/lockmgr.c
diff --git a/po/bacula.pot b/po/bacula.pot
index 51ada45..2166b6e 100644
--- a/po/bacula.pot
+++ b/po/bacula.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -93,7 +93,7 @@ msgstr ""
 msgid "Continue? (yes/mod/no): "
 msgstr ""
 
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
 msgid "mod"
 msgstr ""
 
@@ -113,8 +113,8 @@ msgstr ""
 msgid "The defined Storage resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
 #: src/wx-console/wxbrestorepanel.cpp:355
 #: src/wx-console/wxbrestorepanel.cpp:479
 #: src/wx-console/wxbrestorepanel.cpp:480
@@ -135,7 +135,7 @@ msgstr ""
 msgid "The defined FileSet resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
 msgid "FileSet"
 msgstr ""
 
@@ -143,7 +143,7 @@ msgstr ""
 msgid "Select FileSet resource"
 msgstr ""
 
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
 msgid "Could not find a Catalog resource\n"
 msgstr ""
 
@@ -168,8 +168,8 @@ msgid "The defined Job resources are:\n"
 msgstr ""
 
 #: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
 msgid "Job"
 msgstr ""
 
@@ -194,8 +194,8 @@ msgstr ""
 msgid "The defined Client resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
 #: src/wx-console/wxbrestorepanel.cpp:336
 #: src/wx-console/wxbrestorepanel.cpp:354
 #: src/wx-console/wxbrestorepanel.cpp:431
@@ -254,7 +254,7 @@ msgstr ""
 msgid "Could not find Pool \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
 #, c-format
 msgid "Error obtaining pool ids. ERR=%s\n"
 msgstr ""
@@ -268,12 +268,12 @@ msgid "Defined Pools:\n"
 msgstr ""
 
 #: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
 msgid "*None*"
 msgstr ""
 
 #: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
 #: src/wx-console/wxbrestorepanel.cpp:527
 #: src/wx-console/wxbrestorepanel.cpp:537
 #: src/wx-console/wxbrestorepanel.cpp:1834
@@ -414,7 +414,7 @@ msgstr ""
 msgid "Unauthorized command from this console.\n"
 msgstr ""
 
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
 msgid "No Jobs running.\n"
 msgstr ""
 
@@ -719,8 +719,8 @@ msgstr ""
 msgid "Start Admin JobId %d, Job=%s\n"
 msgstr ""
 
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
 #, c-format
 msgid "Error getting Job record for Job report: ERR=%s"
 msgstr ""
@@ -737,8 +737,8 @@ msgstr ""
 msgid "Admin Canceled"
 msgstr ""
 
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
 #, c-format
 msgid "Inappropriate term code: %c\n"
 msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
 msgid "Bacula "
 msgstr ""
 
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
 #, c-format
 msgid ""
 "\n"
@@ -769,66 +769,66 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
 #: src/filed/filed.c:218 src/qt-console/main.cpp:165
 msgid "Cryptography library initialization failed.\n"
 msgstr ""
 
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
 #: src/filed/filed.c:223 src/qt-console/main.cpp:169
 #, c-format
 msgid "Please correct configuration file: %s\n"
 msgstr ""
 
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
 msgid "Too many open reload requests. Request ignored.\n"
 msgstr ""
 
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
 msgid "Out of reload table entries. Giving up.\n"
 msgstr ""
 
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
 msgid "Resetting previous configuration.\n"
 msgstr ""
 
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
 #, c-format
 msgid ""
 "No Director resource defined in %s\n"
 "Without that I don't know who I am :-(\n"
 msgstr ""
 
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
 #, c-format
 msgid "No Messages resource defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
 #, c-format
 msgid "Only one Director resource permitted in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
 #: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
 #: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
 #: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
 msgid "TLS required but not configured in Bacula.\n"
 msgstr ""
 
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
 #, c-format
 msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -836,46 +836,46 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
 #, c-format
 msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
 #, c-format
 msgid "No Job records defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
 #, c-format
 msgid "Hey something is wrong. p=0x%lu\n"
 msgstr ""
 
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
 #, c-format
 msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
 msgstr ""
 
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
 msgid "Too many items in Job resource\n"
 msgstr ""
 
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
 #, c-format
 msgid "No storage specified in Job \"%s\" nor in Pool.\n"
 msgstr ""
 
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
 #, c-format
 msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -883,51 +883,51 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
 #, c-format
 msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
 #, c-format
 msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
 #, c-format
 msgid "Could not open Catalog \"%s\", database \"%s\".\n"
 msgstr ""
 
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
 #, c-format
 msgid "Could not create storage record for %s\n"
 msgstr ""
 
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
 #, c-format
 msgid "Could not update storage record for %s\n"
 msgstr ""
 
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
 #, c-format
 msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr ""
@@ -946,18 +946,18 @@ msgstr ""
 msgid "Old style Include/Exclude not supported\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
 #, c-format
 msgid "Expecting keyword, got: %s\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
 #: src/lib/parse_conf.c:976
 #, c-format
 msgid "expected an equals, got: %s"
 msgstr ""
 
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
 #, c-format
 msgid "Keyword %s not permitted in this resource"
 msgstr ""
@@ -1009,7 +1009,7 @@ msgstr ""
 msgid "Options section not permitted in Exclude\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
 #, c-format
 msgid "Expecting open brace. Got %s"
 msgstr ""
@@ -1189,13 +1189,13 @@ msgid ""
 "There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d ...\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
 msgid "Failed to connect to Storage daemon.\n"
 msgstr ""
 
@@ -1270,34 +1270,34 @@ msgstr ""
 msgid "Could not get or create the FileSet record.\n"
 msgstr ""
 
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
 #, c-format
 msgid "Error getting Client record for Job report: ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
 #, c-format
 msgid "Error getting Media record for Volume \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
 msgid "Backup OK -- with warnings"
 msgstr ""
 
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
 msgid "Backup OK"
 msgstr ""
 
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
 msgid "*** Backup Error ***"
 msgstr ""
 
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
 msgid "Backup Canceled"
 msgstr ""
 
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -1344,93 +1344,93 @@ msgstr ""
 msgid "disabled"
 msgstr ""
 
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
 msgid "Keywords for the show command are:\n"
 msgstr ""
 
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
 #, c-format
 msgid "%s resource %s not found.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
 #, c-format
 msgid "Resource %s not found\n"
 msgstr ""
 
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
 msgid "Hey! DB is NULL\n"
 msgstr ""
 
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
 #, c-format
 msgid "Jobid %d used %d Volume(s): %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
 msgid "No Pool specified.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
 #, c-format
 msgid "Pool: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
 msgid "Ignoring invalid value for days. Max is 50.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
 #, c-format
 msgid "Unknown list keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
 #, c-format
 msgid "%s is not a job name.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
 #, c-format
 msgid "Could not find Pool for Job %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
 #, c-format
 msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
 msgstr ""
 
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
 #, c-format
 msgid ""
 "The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
 #, c-format
 msgid "Could not find next Volume for Job %s.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
 #, c-format
 msgid "Could not open database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
 #, c-format
 msgid "Pool %s not in database. %s"
 msgstr ""
 
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
 #, c-format
 msgid "Pool %s created in database.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
 msgid "You have no messages.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
 msgid "Message too long to display.\n"
 msgstr ""
 
@@ -1443,88 +1443,88 @@ msgstr ""
 msgid ": is an invalid command.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
 #: src/dird/ua_restore.c:823
 #, c-format
 msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
 #: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
 #: src/dird/job.c:1160 src/dird/job.c:1164
 msgid "unknown source"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
 msgid "Connected to storage daemon\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
 #: src/dird/ua_status.c:397
 #, c-format
 msgid "Connecting to Client %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
 msgid "Failed to connect to Client.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
 #, c-format
 msgid "Unknown command: %s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
 msgid "Available daemons are: \n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
 msgid "Director"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
 msgid "Select daemon type to make die"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
 msgid "The Director will generate a deadlock.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
 msgid "The Director will segment fault.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
 msgid "Access to specified Client or FileSet not allowed.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
 #: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
 #: src/dird/ua_restore.c:990
 #, c-format
 msgid "Query failed: %s. ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
 msgid "query keyword not found.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
 #, c-format
 msgid "List MediaType failed: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
 #, c-format
 msgid "List Media failed: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
 #, c-format
 msgid "List Location failed: ERR=%s\n"
 msgstr ""
@@ -1833,11 +1833,11 @@ msgstr ""
 msgid "Enter base volume name: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
 msgid "Volume name too long.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
 msgid "Volume name must be at least one character long.\n"
 msgstr ""
 
@@ -1896,11 +1896,11 @@ msgstr ""
 msgid "Python interpreter restarted.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
 msgid "Nothing done.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
 #, c-format
 msgid "Client \"%s\" not found.\n"
 msgstr ""
@@ -1927,7 +1927,7 @@ msgstr ""
 msgid "Select daemon type to set debug level"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
 #, c-format
 msgid "No authorization for Client \"%s\"\n"
 msgstr ""
@@ -1936,7 +1936,7 @@ msgstr ""
 msgid "Client name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
 #, c-format
 msgid "No authorization for Job \"%s\"\n"
 msgstr ""
@@ -1959,7 +1959,7 @@ msgstr ""
 msgid "Fileset name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
 #, c-format
 msgid "Level \"%s\" not valid.\n"
 msgstr ""
@@ -1968,43 +1968,67 @@ msgstr ""
 msgid "Level value missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
 msgid "Invalid value for accurate. It must be yes or no.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+msgid "Accurate value missing.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1167
 msgid "No job specified.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
 msgid "Error sending include list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
 msgid "Error sending exclude list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
 msgid ""
 "In general it is not a good idea to delete either a\n"
 "Pool or a Volume since they may contain data.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
 msgid "Choose catalog item to delete"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
 msgid "Enter JobId to delete: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
 #, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Jobid %s and associated records deleted from the catalog.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
 #, c-format
 msgid ""
 "\n"
@@ -2012,44 +2036,44 @@ msgid ""
 "and all Jobs saved on that volume from the Catalog\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
 #, c-format
 msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
 msgid "Can't list jobs on this volume\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
 #, c-format
 msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
 #, c-format
 msgid "Using Catalog name=%s DB=%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
 msgid "ERR: Can't open db\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
 msgid "Wait on mount timed out\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
 msgid "ERR: Job was not found\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
 msgid ""
 "  Command       Description\n"
 "  =======       ===========\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
 #, c-format
 msgid ""
 "  %-13s %s\n"
@@ -2058,12 +2082,12 @@ msgid ""
 "\t%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
 #, c-format
 msgid "  %-13s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
 #, c-format
 msgid ""
 "\n"
@@ -2071,29 +2095,29 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
 msgid ""
 "\n"
 "When at a prompt, entering a period cancels the command.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
 #, c-format
 msgid "No authorization for Catalog \"%s\"\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
 #, c-format
 msgid "Could not open catalog database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
 #, c-format
 msgid "Using Catalog \"%s\"\n"
 msgstr ""
@@ -2291,57 +2315,57 @@ msgstr ""
 msgid "%d directories unmarked.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
 #: src/qt-console/tray-monitor/tray_conf.cpp:168
 #, c-format
 msgid "No %s resource defined\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
 #, c-format
 msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
 #, c-format
 msgid "   query_file=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
 msgid "  --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
 #, c-format
 msgid "Console: name=%s SSL=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
 #, c-format
 msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
 #, c-format
 msgid "Counter: name=%s min=%d max=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
 #, c-format
 msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
 #, c-format
 msgid ""
 "Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2350,286 +2374,286 @@ msgid ""
 "      poolid=%s volname=%s MediaType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
 #, c-format
 msgid ""
 "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
 "      DeviceName=%s MediaType=%s StorageId=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
 #, c-format
 msgid ""
 "Catalog: name=%s address=%s DBport=%d db_name=%s\n"
 "      db_driver=%s db_user=%s MutliDBConn=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
 #, c-format
 msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
 msgid "JobDefs"
 msgstr ""
 
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
 #, c-format
 msgid ""
 "     MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
 "%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
 #, c-format
 msgid "     SpoolSize=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
 #, c-format
 msgid "     Accurate=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
 #, c-format
 msgid "     SelectionType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
 #, c-format
 msgid "  --> Where=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
 #, c-format
 msgid "  --> RegexWhere=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
 #, c-format
 msgid "  --> Bootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
 #, c-format
 msgid "  --> WriteBootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
 #, c-format
 msgid "  --> PluginOptions=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
 #, c-format
 msgid "  --> MaxRunTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
 #, c-format
 msgid "  --> MaxWaitTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
 #, c-format
 msgid "  --> MaxStartDelay=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
 #, c-format
 msgid "  --> MaxRunSchedTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
 #, c-format
 msgid "  --> Base %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
 msgid " --> RunScript\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
 #, c-format
 msgid "  --> Command=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
 #, c-format
 msgid "  --> Target=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
 #, c-format
 msgid "  --> RunOnSuccess=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
 #, c-format
 msgid "  --> RunOnFailure=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
 #, c-format
 msgid "  --> FailJobOnError=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
 #, c-format
 msgid "  --> RunWhen=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
 #, c-format
 msgid "  --> Run=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
 #, c-format
 msgid "  --> SelectionPattern=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
 #, c-format
 msgid "FileSet: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
 #, c-format
 msgid "Schedule: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
 #, c-format
 msgid "  --> Run Level=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
 msgid "      hour="
 msgstr ""
 
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
 msgid "      mday="
 msgstr ""
 
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
 msgid "      month="
 msgstr ""
 
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
 msgid "      wday="
 msgstr ""
 
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
 msgid "      wom="
 msgstr ""
 
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
 msgid "      woy="
 msgstr ""
 
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
 #, c-format
 msgid "      mins=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
 msgid "     --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
 #, c-format
 msgid "Pool: name=%s PoolType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
 #, c-format
 msgid "      use_cat=%d use_once=%d cat_files=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
 #, c-format
 msgid "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
 #, c-format
 msgid "      VolUse=%s recycle=%d LabelFormat=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
 #, c-format
 msgid "      CleaningPrefix=%s LabelType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
 #, c-format
 msgid "      RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
 #, c-format
 msgid "      MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
 #, c-format
 msgid "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
 #, c-format
 msgid "      NextPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
 #, c-format
 msgid "      RecyclePool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
 #, c-format
 msgid "      ScratchPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
 #, c-format
 msgid "      Catalog=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
 #, c-format
 msgid "Messages: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
 #, c-format
 msgid "      mailcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
 #, c-format
 msgid "      opcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
 #: src/qt-console/tray-monitor/tray_conf.cpp:199
 #, c-format
 msgid "Unknown resource type %d in dump_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
 #: src/qt-console/tray-monitor/tray_conf.cpp:257
 #, c-format
 msgid "Unknown resource type %d in free_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
 #: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
 #: src/console/console_conf.c:259 src/filed/filed_conf.c:361
 #: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2638,54 +2662,54 @@ msgstr ""
 msgid "%s item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
 #: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
 #, c-format
 msgid "Too many items in %s resource\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
 #, c-format
 msgid "Cannot find Pool resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
 #, c-format
 msgid "Cannot find Console resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
 #: src/filed/filed_conf.c:381
 #, c-format
 msgid "Cannot find Director resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
 #, c-format
 msgid "Cannot find Storage resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
 #, c-format
 msgid "Cannot find Job resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
 #, c-format
 msgid "Cannot find Counter resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
 #, c-format
 msgid "Cannot find Client resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
 #, c-format
 msgid "Cannot find Schedule resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
 #: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
 #: src/qt-console/tray-monitor/tray_conf.cpp:314
 #: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2693,12 +2717,12 @@ msgstr ""
 msgid "Unknown resource type %d in save_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
 #, c-format
 msgid "Name item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
 #: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
 #: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
 #: src/qt-console/bat_conf.cpp:334
@@ -2706,43 +2730,43 @@ msgstr ""
 msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
 #, c-format
 msgid "Inserting %s res: %s index=%d pass=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
 #, c-format
 msgid "Expected one of: %s, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
 #, c-format
 msgid "Expected a Migration Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
 #, c-format
 msgid "Expected a Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
 #, c-format
 msgid "Expected a Job Level keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
 #, c-format
 msgid "Expected a Restore replacement option, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
 #: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
 #, c-format
 msgid "Expect %s, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
 #, c-format
 msgid "Could not find config Resource %s referenced on line %d : %s\n"
 msgstr ""
@@ -2870,7 +2894,7 @@ msgstr ""
 msgid "Select full restore to a specified Job date"
 msgstr ""
 
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
 #: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
 msgid "Cancel"
 msgstr ""
@@ -3273,179 +3297,179 @@ msgstr ""
 msgid "Slot too large.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
 msgid "command line"
 msgstr ""
 
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
 msgid "No slots in changer to scan.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
 msgid "No Volumes found to label, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
 #, c-format
 msgid "Slot %d greater than max %d ignored.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
 #, c-format
 msgid "No VolName for Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
 #, c-format
 msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
 #, c-format
 msgid "Catalog record for Volume \"%s\" is up to date.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
 #, c-format
 msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
 #, c-format
 msgid ""
 "Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
 "relabeling.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
 msgid "Enter new Volume name: "
 msgstr ""
 
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
 #, c-format
 msgid "Media record for new Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
 msgid "Enter slot (0 or Enter for none): "
 msgstr ""
 
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
 #, c-format
 msgid "Delete of Volume \"%s\" failed. ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
 #, c-format
 msgid "Old volume \"%s\" deleted from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
 #, c-format
 msgid "Requesting to mount %s ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
 msgid "Do not forget to mount the drive!!!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
 msgid ""
 "The following Volumes will be labeled:\n"
 "Slot  Volume\n"
 "==============\n"
 msgstr ""
 
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
 msgid "Do you want to label these Volumes? (yes|no): "
 msgstr ""
 
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
 #, c-format
 msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
 #, c-format
 msgid "Error setting InChanger: ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
 #, c-format
 msgid "Maximum pool Volumes=%d reached.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
 #, c-format
 msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
 #, c-format
 msgid "Catalog error on cleaning tape: %s"
 msgstr ""
 
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
 #, c-format
 msgid "Illegal character \"%c\" in a volume name.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
 #, c-format
 msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
 #, c-format
 msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
 #, c-format
 msgid "Catalog record for Volume \"%s\", Slot %d  successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
 #, c-format
 msgid "Label command failed for Volume %s.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
 msgid "Could not open SD socket.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
 #, c-format
 msgid "Invalid Slot number: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
 #, c-format
 msgid "Invalid Volume name: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
 #, c-format
 msgid "Device \"%s\" has %d slots.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
 #, c-format
 msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
 msgid "No Volumes found, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
 msgid ""
 " Slot |   Volume Name    |   Status  |     Media Type       |      "
 "Pool          |\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
 msgid ""
 "------+------------------+-----------+----------------------"
 "+--------------------|\n"
@@ -3666,15 +3690,15 @@ msgid "New Recycle flag is: %s\n"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
 #: src/tools/dbcheck.c:1352
 msgid "yes"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
 msgid "no"
 msgstr ""
 
@@ -3753,7 +3777,7 @@ msgstr ""
 msgid "New ActionOnPurge is: %s\n"
 msgstr ""
 
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
 msgid "Parameters to modify:\n"
 msgstr ""
 
@@ -3825,7 +3849,7 @@ msgstr ""
 msgid "Done"
 msgstr ""
 
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
 msgid "Select parameter to modify"
 msgstr ""
 
@@ -4054,7 +4078,7 @@ msgstr ""
 msgid "Pool resource \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
 #, c-format
 msgid "Could not get job record for JobId %s to %s. ERR=%s"
 msgstr ""
@@ -4069,140 +4093,140 @@ msgstr ""
 msgid "Start %s JobId %s, Job=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
 #, c-format
 msgid "No %s SQL selection pattern specified.\n"
 msgstr ""
 
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
 #, c-format
 msgid "SQL failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
 #, c-format
 msgid "No Volumes found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
 msgid "Invalid JobId found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
 #, c-format
 msgid "Unknown %s Selection Type.\n"
 msgstr ""
 
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
 #, c-format
 msgid "No JobIds found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
 #, c-format
 msgid "The following %u JobId%s chosen to be %s: %s\n"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid " was"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid "s were"
 msgstr ""
 
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
 #, c-format
 msgid "%s using JobId=%s Job=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
 msgid "Could not start migration job.\n"
 msgstr ""
 
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
 #, c-format
 msgid "%s JobId %d started.\n"
 msgstr ""
 
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
 #, c-format
 msgid "No %s found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
 #, c-format
 msgid "SQL error. Expected 1 MediaId got %d\n"
 msgstr ""
 
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
 #, c-format
 msgid "No %ss found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
 msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
 msgstr ""
 
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
 #, c-format
 msgid "SQL to get uncopied jobs failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
 #, c-format
 msgid "No %s %s selection pattern specified.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
 #, c-format
 msgid "SQL to get %s failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
 #, c-format
 msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
 #, c-format
 msgid "Regex pattern matched no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
 #, c-format
 msgid "%s OK -- with warnings"
 msgstr ""
 
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
 #, c-format
 msgid "%s OK"
 msgstr ""
 
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
 #, c-format
 msgid "*** %s Error ***"
 msgstr ""
 
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
 #, c-format
 msgid "%s Canceled"
 msgstr ""
 
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
 #, c-format
 msgid "Inappropriate %s term code"
 msgstr ""
 
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
 #, c-format
 msgid "%s -- no files to %s"
 msgstr ""
 
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -4237,17 +4261,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
 #, c-format
 msgid "No Next Pool specification found in Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
 #, c-format
 msgid "No Storage specification found in Next Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
 msgid "Storage from Pool's NextPool resource"
 msgstr ""
 
@@ -4255,43 +4279,43 @@ msgstr ""
 msgid "Choose item to prune"
 msgstr ""
 
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
 #, c-format
 msgid "Cannot prune Volume \"%s\" because it is archived.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
 msgid "Pruned Jobs from JobHisto catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
 msgid "Begin pruning Files.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
 msgid "No Files found to prune.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
 #, c-format
 msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
 #, c-format
 msgid "Begin pruning Jobs older than %s.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
 #, c-format
 msgid "Pruned %d %s for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
 msgid "Jobs"
 msgstr ""
 
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
 msgid "No Jobs found to prune.\n"
 msgstr ""
 
@@ -4314,50 +4338,58 @@ msgstr ""
 msgid "Job queued. JobId=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
 msgid "Job not run.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
 msgid "Level"
 msgstr ""
 
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
 msgid "Restore Client"
 msgstr ""
 
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
 #: src/wx-console/wxbrestorepanel.cpp:854
 #: src/wx-console/wxbrestorepanel.cpp:1918
 msgid "When"
 msgstr ""
 
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
 #: src/wx-console/wxbrestorepanel.cpp:1128
 #: src/wx-console/wxbrestorepanel.cpp:1921
 msgid "Priority"
 msgstr ""
 
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
 msgid "Verify Job"
 msgstr ""
 
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
 #: src/wx-console/wxbrestorepanel.cpp:1899
 msgid "Bootstrap"
 msgstr ""
 
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
 #: src/wx-console/wxbrestorepanel.cpp:1104
 #: src/wx-console/wxbrestorepanel.cpp:1901
 msgid "Where"
 msgstr ""
 
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
 msgid "File Relocation"
 msgstr ""
 
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
 #: src/wx-console/wxbrestorepanel.cpp:1112
 #: src/wx-console/wxbrestorepanel.cpp:1905
 #: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4367,212 +4399,212 @@ msgstr ""
 msgid "Replace"
 msgstr ""
 
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
 msgid "JobId"
 msgstr ""
 
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
 msgid "Plugin Options"
 msgstr ""
 
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
 msgid "user selection"
 msgstr ""
 
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
 msgid ""
 "Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
 msgstr ""
 
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
 msgid "Invalid time, using current time.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
 msgid "Enter new Priority: "
 msgstr ""
 
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
 msgid "Priority must be a positive integer.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
 msgid "Please enter the Bootstrap file name: "
 msgstr ""
 
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
 #, c-format
 msgid "Warning cannot open %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
 msgid "Please enter the full path prefix for restore (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
 msgid "Replace:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
 msgid "Select replace option"
 msgstr ""
 
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
 msgid ""
 "You must set the bootstrap file to NULL to be able to specify a JobId.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
 msgid "Please Plugin Options string: "
 msgstr ""
 
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
 msgid "User input"
 msgstr ""
 
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
 #, c-format
 msgid "Invalid replace option: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
 msgid "This will replace your current Where value\n"
 msgstr ""
 
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
 msgid "Strip prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
 msgid "Add prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
 msgid "Add file suffix"
 msgstr ""
 
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
 msgid "Enter a regexp"
 msgstr ""
 
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
 msgid "Test filename manipulation"
 msgstr ""
 
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
 msgid "Use this ?"
 msgstr ""
 
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
 msgid "Please enter the path prefix to strip: "
 msgstr ""
 
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
 msgid "Please enter the path prefix to add (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
 msgid "Please enter the file suffix to add: "
 msgstr ""
 
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
 msgid "Please enter a valid regexp (!from!to!): "
 msgstr ""
 
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
 #, c-format
 msgid "regexwhere=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
 msgid "Cannot use your regexp\n"
 msgstr ""
 
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
 msgid "Enter a period (.) to stop this test\n"
 msgstr ""
 
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
 msgid "Please enter filename to test: "
 msgstr ""
 
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
 #, c-format
 msgid "%s -> %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
 msgid "Cannot use your regexp.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
 msgid "Levels:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
 #: src/lib/util.c:472 src/filed/status.c:519
 msgid "Full"
 msgstr ""
 
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
 #: src/filed/status.c:522
 msgid "Incremental"
 msgstr ""
 
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
 #: src/filed/status.c:525
 msgid "Differential"
 msgstr ""
 
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
 #: src/filed/status.c:528
 msgid "Since"
 msgstr ""
 
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
 msgid "VirtualFull"
 msgstr ""
 
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
 msgid "Select level"
 msgstr ""
 
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
 msgid "Initialize Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
 #: src/filed/status.c:531
 msgid "Verify Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
 msgid "Verify Volume to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
 msgid "Verify Disk to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
 msgid "Verify Volume Data (not yet implemented)"
 msgstr ""
 
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
 msgid "Level not appropriate for this Job. Cannot be changed.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
 #, c-format
 msgid ""
 "Run Admin Job\n"
@@ -4584,7 +4616,7 @@ msgid ""
 "Priority: %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
 #, c-format
 msgid ""
 "Run Backup job\n"
@@ -4599,12 +4631,12 @@ msgid ""
 "%s%s%s"
 msgstr ""
 
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
 #, c-format
 msgid "Could not get job record for selected JobId. ERR=%s"
 msgstr ""
 
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
 #, c-format
 msgid ""
 "Run Verify Job\n"
@@ -4620,11 +4652,11 @@ msgid ""
 "Priority:    %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
 msgid "Please enter a JobId for restore: "
 msgstr ""
 
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4642,7 +4674,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4660,7 +4692,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4668,17 +4700,17 @@ msgid ""
 "Bootstrap:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
 #, c-format
 msgid "RegexWhere: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
 #, c-format
 msgid "Where:      %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
 #, c-format
 msgid ""
 "Replace:         %s\n"
@@ -4691,215 +4723,215 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
 msgid "Run Copy job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
 msgid "Run Migration job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
 #, c-format
 msgid "Unknown Job Type=%d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
 #, c-format
 msgid "Value missing for keyword %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
 msgid "Job name specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
 msgid "JobId specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
 msgid "Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
 msgid "FileSet specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
 msgid "Level specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
 msgid "Storage specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
 msgid "RegexWhere or Where specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
 msgid "No authorization for \"regexwhere\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
 msgid "Where or RegexWhere specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
 msgid "No authoriztion for \"where\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
 msgid "Bootstrap specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
 msgid "Replace specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
 msgid "When specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
 msgid "Priority specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
 msgid "Priority must be positive nonzero setting it to 10.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
 msgid "Verify Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
 msgid "Migration Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
 msgid "Pool specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
 msgid "Restore Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
 msgid "Plugin Options not yet implemented.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
 msgid "Plugin Options specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
 msgid "No authoriztion for \"PluginOptions\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
 msgid "Spool flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
 msgid "Invalid spooldata flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
 msgid "IgnoreDuplicateCheck flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
 msgid "Invalid ignoreduplicatecheck flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
 msgid "Accurate flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
 msgid "Invalid accurate flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
 #, c-format
 msgid "Invalid keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
 #, c-format
 msgid "Catalog \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
 #, c-format
 msgid "No authorization. Catalog \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
 #, c-format
 msgid "Job \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
 msgid "A job name must be specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
 #, c-format
 msgid "No authorization. Job \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
 #, c-format
 msgid "Pool \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
 #, c-format
 msgid "No authorization. Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
 #, c-format
 msgid "Storage \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
 msgid "No storage specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
 #, c-format
 msgid "No authorization. Storage \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
 #, c-format
 msgid "No authorization. Client \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
 #, c-format
 msgid "Restore Client \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
 #, c-format
 msgid "FileSet \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
 #, c-format
 msgid "No authorization. FileSet \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
 #, c-format
 msgid "Verify Job \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
 #, c-format
 msgid "Migration Job \"%s\" not found.\n"
 msgstr ""
@@ -4956,25 +4988,25 @@ msgstr ""
 msgid "Start Backup JobId %s, Job=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
 #, c-format
 msgid "Unexpected Client Job message: %s\n"
 msgstr ""
 
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
 #, c-format
 msgid "Network error with FD during %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
 msgid "No Job status returned from FD.\n"
 msgstr ""
 
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
 msgid "Backup failed -- incomplete"
 msgstr ""
 
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5013,19 +5045,19 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
 #, c-format
 msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
 #, c-format
 msgid ""
 "Could not open WriteBootstrap file:\n"
 "%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
 #, c-format
 msgid "Could not open bootstrap file %s: ERR=%s\n"
 msgstr ""
@@ -5040,39 +5072,39 @@ msgstr ""
 msgid "Could not acquire read storage lock for \"%s\""
 msgstr ""
 
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
 msgid ""
 "Cannot restore without a bootstrap file.\n"
 "You probably ran a restore job directly. All restore jobs must\n"
 "be run using the restore command.\n"
 msgstr ""
 
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
 #, c-format
 msgid "Start Restore Job %s\n"
 msgstr ""
 
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
 msgid "Restore OK -- warning file count mismatch"
 msgstr ""
 
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
 msgid "Restore OK"
 msgstr ""
 
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
 msgid "Restore OK -- with warnings"
 msgstr ""
 
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
 msgid "*** Restore Error ***"
 msgstr ""
 
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
 msgid "Restore Canceled"
 msgstr ""
 
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5101,7 +5133,7 @@ msgstr ""
 msgid "Select daemon type for status"
 msgstr ""
 
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s\n"
 msgstr ""
@@ -5111,7 +5143,7 @@ msgstr ""
 msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
 msgstr ""
 
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
 #, c-format
 msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
 msgstr ""
@@ -5168,7 +5200,7 @@ msgstr ""
 msgid "No Scheduled Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
 msgid ""
 "\n"
 "Running Jobs:\n"
@@ -5332,13 +5364,13 @@ msgstr ""
 msgid "No Terminated Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
 msgid ""
 "\n"
 "Terminated Jobs:\n"
 msgstr ""
 
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
 msgid " JobId  Level    Files      Bytes   Status   Finished        Name \n"
 msgstr ""
 
@@ -5346,41 +5378,41 @@ msgstr ""
 msgid "====================================================================\n"
 msgstr ""
 
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
 #: src/filed/status.c:363
 msgid "Created"
 msgstr ""
 
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
 #: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
 msgid "Error"
 msgstr ""
 
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
 msgid "Diffs"
 msgstr ""
 
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
 #: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
 #: src/wx-console/wxbconfigpanel.cpp:209
 msgid "OK"
 msgstr ""
 
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
 #: src/lib/util.c:327
 msgid "OK -- with warnings"
 msgstr ""
 
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
 msgid "Other"
 msgstr ""
 
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
 #, c-format
 msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
 msgstr ""
 
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
 #, c-format
 msgid "%6d  %-6s %8s %10s  %-7s  %-8s %s\n"
 msgstr ""
@@ -5549,7 +5581,7 @@ msgstr ""
 msgid "Job DiffPool override"
 msgstr ""
 
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
 #, c-format
 msgid "Could not create Client record. ERR=%s\n"
 msgstr ""
@@ -5873,7 +5905,17 @@ msgstr ""
 msgid "<stored: bad response to Job command: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:311
+#, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:318
 #, c-format
 msgid ""
 "\n"
@@ -5881,24 +5923,19 @@ msgid ""
 "     %s"
 msgstr ""
 
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
 #, c-format
 msgid ""
 "\n"
 "     Storage daemon didn't accept Device \"%s\" command.\n"
 msgstr ""
 
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
 #, c-format
 msgid "Cannot create message thread: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
 msgid "Director's comm line to SD dropped.\n"
 msgstr ""
 
@@ -6348,26 +6385,26 @@ msgstr ""
 msgid "Unable to initialize reservation lock. ERR=%s\n"
 msgstr ""
 
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
 #, c-format
 msgid "Hey! num_writers=%d!!!!\n"
 msgstr ""
 
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
 msgid "3939 Could not get dcr\n"
 msgstr ""
 
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
 #, c-format
 msgid "Device reservation failed for JobId=%d: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
 #, c-format
 msgid "Failed command: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
 #, c-format
 msgid ""
 "\n"
@@ -6375,85 +6412,85 @@ msgid ""
 "does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
 #, c-format
 msgid ""
 "\n"
 "     Device \"%s\" requested by DIR could not be opened or does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
 #, c-format
 msgid "3926 Could not get dcr for device: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
 #, c-format
 msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
 #, c-format
 msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
 msgstr ""
 
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
 #, c-format
 msgid "3603 JobId=%u device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
 #, c-format
 msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
 #, c-format
 msgid ""
 "3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
 "%s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
 #, c-format
 msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
 #, c-format
 msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
 #, c-format
 msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
 msgstr ""
 
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
 #, c-format
 msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
 #, c-format
 msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
 #, c-format
 msgid "Logic error!!!! JobId=%u Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
 #, c-format
 msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
 msgid "Logic error!!!! Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
 #, c-format
 msgid "3911 JobId=%u failed reserve drive %s.\n"
 msgstr ""
@@ -6585,7 +6622,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
 msgstr ""
 
 #: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
 #, c-format
 msgid "Mount Volume \"%s\" on device %s and press return when ready: "
 msgstr ""
@@ -6880,7 +6917,7 @@ msgstr ""
 msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
 #, c-format
 msgid ""
 "Bootstrap file error: %s\n"
@@ -6888,154 +6925,154 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
 #, c-format
 msgid "Cannot open bootstrap file %s: %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
 #, c-format
 msgid "MediaType %s in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
 #, c-format
 msgid "Device \"%s\" in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
 #, c-format
 msgid "REGEX '%s' compile error. ERR=%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
 msgid "JobType not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
 msgid "JobLevel not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
 #, c-format
 msgid "Slot %d in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
 #, c-format
 msgid "VolFile     : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
 #, c-format
 msgid "VolBlock    : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
 #, c-format
 msgid "VolAddr    : %llu-%llu\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
 #, c-format
 msgid "FileIndex   : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
 #, c-format
 msgid "FileIndex   : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
 #, c-format
 msgid "JobId       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
 #, c-format
 msgid "JobId       : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
 #, c-format
 msgid "SessId      : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
 #, c-format
 msgid "SessId      : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
 #, c-format
 msgid "VolumeName  : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
 #, c-format
 msgid "  MediaType : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
 #, c-format
 msgid "  Device    : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
 #, c-format
 msgid "  Slot      : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
 #, c-format
 msgid "Client      : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
 #, c-format
 msgid "Job          : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
 #, c-format
 msgid "SessTime    : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
 msgid "BSR is NULL\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
 #, c-format
 msgid "Next        : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
 #, c-format
 msgid "Root bsr    : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
 #, c-format
 msgid "count       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
 #, c-format
 msgid "found       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
 #, c-format
 msgid "done        : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
 #, c-format
 msgid "positioning : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
 #, c-format
 msgid "fast_reject : %d\n"
 msgstr ""
@@ -7120,7 +7157,7 @@ msgid "Unable to set network buffer size.\n"
 msgstr ""
 
 #: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
 msgid "NULL Volume name. This shouldn't happen!!!\n"
 msgstr ""
 
@@ -7229,7 +7266,7 @@ msgstr ""
 msgid "Volume on %s has bad Bacula label type: %x\n"
 msgstr ""
 
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
 #, c-format
 msgid "Could not reserve volume %s on %s\n"
 msgstr ""
@@ -7239,7 +7276,7 @@ msgstr ""
 msgid "Cannot write Volume label to block for device %s\n"
 msgstr ""
 
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
 #, c-format
 msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
@@ -7405,82 +7442,101 @@ msgstr ""
 msgid "Used Volume status:\n"
 msgstr ""
 
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
 msgid ""
-"====\n"
 "\n"
+"SD Resources:\n"
 msgstr ""
 
-#: src/stored/status.c:128
+#: src/stored/status.c:153
 msgid ""
 "\n"
 "Device status:\n"
 msgstr ""
 
-#: src/stored/status.c:132
+#: src/stored/status.c:157
 #, c-format
 msgid "Autochanger \"%s\" with devices:\n"
 msgstr ""
 
-#: src/stored/status.c:150
+#: src/stored/status.c:177
 #, c-format
 msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
 "    Volume:      %s\n"
 "    Pool:        %s\n"
 "    Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+msgid "*unknown*"
+msgstr ""
+
+#: src/stored/status.c:188
 #, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
 msgstr ""
 
-#: src/stored/status.c:171
+#: src/stored/status.c:199
 #, c-format
 msgid "    Total Bytes=%s Blocks=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:186
+#: src/stored/status.c:214
 #, c-format
 msgid "    Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:192
+#: src/stored/status.c:220
 #, c-format
 msgid "    Positioned at File=%s Block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:199
+#: src/stored/status.c:227
 #, c-format
-msgid "Device %s is not open.\n"
+msgid ""
+"\n"
+"Device %s is not open.\n"
 msgstr ""
 
-#: src/stored/status.c:203
+#: src/stored/status.c:231
 #, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
 msgstr ""
 
-#: src/stored/status.c:225
+#: src/stored/status.c:255
 #, c-format
 msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
 msgstr ""
 
-#: src/stored/status.c:248
+#: src/stored/status.c:293
 msgid ""
 "No DEVICE structure.\n"
 "\n"
 msgstr ""
 
-#: src/stored/status.c:254
+#: src/stored/status.c:299
 msgid "    Device is BLOCKED. User unmounted.\n"
 msgstr ""
 
-#: src/stored/status.c:258
+#: src/stored/status.c:303
 msgid "    Device is BLOCKED. User unmounted during wait for media/mount.\n"
 msgstr ""
 
-#: src/stored/status.c:270
+#: src/stored/status.c:313
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7488,7 +7544,7 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:279
+#: src/stored/status.c:322
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting to create a volume for:\n"
@@ -7496,172 +7552,165 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:291
+#: src/stored/status.c:333
 msgid "    Device is BLOCKED waiting for media.\n"
 msgstr ""
 
-#: src/stored/status.c:297
+#: src/stored/status.c:339
 msgid "    Device is being initialized.\n"
 msgstr ""
 
-#: src/stored/status.c:301
+#: src/stored/status.c:343
 msgid "    Device is blocked labeling a Volume.\n"
 msgstr ""
 
-#: src/stored/status.c:310
+#: src/stored/status.c:352
 #, c-format
-msgid "    Slot %d is loaded in drive %d.\n"
+msgid "    Slot %d %s loaded in drive %d.\n"
 msgstr ""
 
-#: src/stored/status.c:314
+#: src/stored/status.c:356
 #, c-format
 msgid "    Drive %d is not loaded.\n"
 msgstr ""
 
-#: src/stored/status.c:317
-#, c-format
-msgid "    Drive %d status unknown.\n"
-msgstr ""
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
 #, c-format
 msgid "Configured device capabilities:\n"
 msgstr ""
 
-#: src/stored/status.c:349
+#: src/stored/status.c:389
 msgid "Device state:\n"
 msgstr ""
 
-#: src/stored/status.c:367
+#: src/stored/status.c:405
 #, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid "  num_writers=%d reserves=%d block=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
+msgid "Attached Jobs: "
 msgstr ""
 
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:427 src/stored/btape.c:720
 #, c-format
 msgid "Device parameters:\n"
 msgstr ""
 
-#: src/stored/status.c:374
+#: src/stored/status.c:429
 #, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid "  Archive name: %s Device name: %s\n"
 msgstr ""
 
-#: src/stored/status.c:378
+#: src/stored/status.c:432
 #, c-format
-msgid "File=%u block=%u\n"
+msgid "  File=%u block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:381
+#: src/stored/status.c:434
 #, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid "  Min block=%u Max block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:401
+#: src/stored/status.c:455
 #, c-format
 msgid "%s Job %s waiting for Client connection.\n"
 msgstr ""
 
-#: src/stored/status.c:417
+#: src/stored/status.c:471
 #, c-format
 msgid ""
 "Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:430
+#: src/stored/status.c:484
 #, c-format
 msgid ""
 "Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:441
+#: src/stored/status.c:495
 #, c-format
 msgid "    spooling=%d despooling=%d despool_wait=%d\n"
 msgstr ""
 
-#: src/stored/status.c:450
+#: src/stored/status.c:511
 #, c-format
-msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
+msgid "    Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
 msgstr ""
 
-#: src/stored/status.c:458
+#: src/stored/status.c:523
 #, c-format
 msgid "    FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
 msgstr ""
 
-#: src/stored/status.c:464
+#: src/stored/status.c:529
 msgid "    FDSocket closed\n"
 msgstr ""
 
-#: src/stored/status.c:485
+#: src/stored/status.c:550
 msgid ""
 "\n"
 "Jobs waiting to reserve a drive:\n"
 msgstr ""
 
-#: src/stored/status.c:516
+#: src/stored/status.c:581
 msgid "===================================================================\n"
 msgstr ""
 
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
 msgid "Base"
 msgstr ""
 
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
 msgid "Init Catalog"
 msgstr ""
 
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
 msgid "Volume to Catalog"
 msgstr ""
 
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
 msgid "Disk to Catalog"
 msgstr ""
 
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
 msgid "Data"
 msgstr ""
 
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
 msgid "Unknown Job Level"
 msgstr ""
 
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
 #, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
+msgid "3900 No arg in .status command: %s\n"
 msgstr ""
 
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
+#: src/stored/status.c:811
+#, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
 msgstr ""
 
-#: src/stored/status.c:760
+#: src/stored/status.c:826
 msgid "Bacula Storage: Idle"
 msgstr ""
 
-#: src/stored/status.c:771
+#: src/stored/status.c:837
 msgid "Bacula Storage: Running"
 msgstr ""
 
-#: src/stored/status.c:785
+#: src/stored/status.c:851
 msgid "Bacula Storage: Last Job Canceled"
 msgstr ""
 
-#: src/stored/status.c:789
+#: src/stored/status.c:855
 msgid "Bacula Storage: Last Job Failed"
 msgstr ""
 
-#: src/stored/status.c:793
+#: src/stored/status.c:859
 msgid "Bacula Storage: Last Job had Warnings"
 msgstr ""
 
@@ -7762,7 +7811,7 @@ msgid "%u files restored.\n"
 msgstr ""
 
 #: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
 #, c-format
 msgid "Write error on %s: %s\n"
 msgstr ""
@@ -7771,7 +7820,7 @@ msgstr ""
 msgid "Logic error output file should be open but is not.\n"
 msgstr ""
 
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
 #, c-format
 msgid "%s stream not supported on this Client.\n"
 msgstr ""
@@ -7787,7 +7836,7 @@ msgid "Seek error on %s: %s\n"
 msgstr ""
 
 #: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
 #, c-format
 msgid "Seek to %s error on %s: ERR=%s\n"
 msgstr ""
@@ -7797,16 +7846,16 @@ msgstr ""
 msgid "Uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
 msgid "GZIP data stream found, but GZIP not configured!\n"
 msgstr ""
 
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
 #, c-format
 msgid "Compressed header version error. version=0x%x\n"
 msgstr ""
 
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
 #, c-format
 msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
 msgstr ""
@@ -7816,7 +7865,7 @@ msgstr ""
 msgid "LZO uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
 #, c-format
 msgid "Compression algorithm 0x%x found, but not supported!\n"
 msgstr ""
@@ -7825,7 +7874,7 @@ msgstr ""
 msgid "Got Program Name or Data Stream. Ignored.\n"
 msgstr ""
 
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
 #, c-format
 msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
 msgstr ""
@@ -8015,125 +8064,125 @@ msgstr ""
 msgid "Unexpected Tape is Off-line\n"
 msgstr ""
 
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
 #, c-format
 msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
 #, c-format
 msgid "No volumes specified for reading. Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
 #, c-format
 msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
 msgstr ""
 
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
 #, c-format
 msgid ""
 "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
 "  device=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
 #, c-format
 msgid "Media Type change.  New read device %s chosen.\n"
 msgstr ""
 
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
 #, c-format
 msgid "No suitable device found to read Volume \"%s\"\n"
 msgstr ""
 
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
 #, c-format
 msgid "Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
 #, c-format
 msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
 #, c-format
 msgid "Too many errors trying to mount device %s for reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
 #, c-format
 msgid "Ready to read from volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
 #, c-format
 msgid "Want to append, but device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
 #, c-format
 msgid "Could not ready device %s for append.\n"
 msgstr ""
 
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
 #: src/stored/block.c:769 src/stored/block.c:847
 #, c-format
 msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
 #, c-format
 msgid "Alert: %s"
 msgstr ""
 
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
 #, c-format
 msgid "3997 Bad alert command: %s: ERR=%s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
 #: src/lib/openssl.c:122 src/lib/openssl.c:181
 #, c-format
 msgid "Unable to init mutex: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/askdir.c:179
 msgid "Network error on bnet_recv in req_vol_info.\n"
 msgstr ""
 
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
 #, c-format
 msgid "Error getting Volume info: %s"
 msgstr ""
 
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
 #, c-format
 msgid "Didn't get vol info vol=%s: ERR=%s"
 msgstr ""
 
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
 #, c-format
 msgid "Error creating JobMedia record: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
 #, c-format
 msgid "Error creating JobMedia record: %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
 msgstr ""
 
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
 #, c-format
 msgid ""
 "Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8143,45 +8192,45 @@ msgid ""
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
 #, c-format
 msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
 msgid "pthread error in mount_next_volume.\n"
 msgstr ""
 
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
 msgid "Cannot request another volume: no volume name given.\n"
 msgstr ""
 
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
 msgstr ""
 
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
 msgid "pthread error in mount_volume\n"
 msgstr ""
 
@@ -8514,32 +8563,32 @@ msgstr ""
 msgid "Attempt to open read on non-open session.\n"
 msgstr ""
 
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
 #, c-format
 msgid "Too many errors trying to mount device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
 #, c-format
 msgid "Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
 #, c-format
 msgid "Volume \"%s\" previously written, moving to end of data.\n"
 msgstr ""
 
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
 #, c-format
 msgid "Unable to position to end of data on device %s: ERR=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
 #, c-format
 msgid "Volume \"%s\" not on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
 #, c-format
 msgid ""
 "Director wanted Volume \"%s\".\n"
@@ -8547,24 +8596,24 @@ msgid ""
 "    %s"
 msgstr ""
 
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
 #, c-format
 msgid ""
 "Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
 msgstr ""
 
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8572,23 +8621,23 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
 msgid "Error updating Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
 #, c-format
 msgid ""
 "Bacula cannot write on tape Volume \"%s\" because:\n"
 "The number of files mismatch! Volume=%u Catalog=%u\n"
 msgstr ""
 
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8596,46 +8645,46 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
 #, c-format
 msgid ""
 "Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
 #, c-format
 msgid "Labeled new Volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
 #, c-format
 msgid "Device %s not configured to autolabel Volumes.\n"
 msgstr ""
 
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
 #, c-format
 msgid "Marking Volume \"%s\" in Error in Catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
 #, c-format
 msgid ""
 "Autochanger Volume \"%s\" not found in slot %d.\n"
 "    Setting InChanger to zero in catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
 msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
 msgstr ""
 
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
 #, c-format
 msgid ""
 "Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
 msgstr ""
 
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
 #, c-format
 msgid "Cannot open Dev=%s, Vol=%s\n"
 msgstr ""
@@ -8721,7 +8770,7 @@ msgid ""
 "Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
 msgstr ""
 
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
 #, c-format
 msgid "Ftruncate spool file failed: ERR=%s\n"
 msgstr ""
@@ -8751,77 +8800,86 @@ msgstr ""
 msgid "Spool data read error. Wanted %u bytes, got %d\n"
 msgstr ""
 
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr ""
+
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
 msgstr ""
 
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
 msgid "Bad return from despool in write_block.\n"
 msgstr ""
 
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
 msgid "Spooling data again ...\n"
 msgstr ""
 
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
 #, c-format
 msgid "Error writing header to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
 #, c-format
 msgid ""
 "Error writing header to spool file. Disk probably full. Attempting recovery. "
 "Wanted to write=%d got=%d\n"
 msgstr ""
 
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
 msgid "Fatal despooling error."
 msgstr ""
 
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
 msgid "Retrying after header spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
 #, c-format
 msgid "Error writing data to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
 msgid "Retrying after data spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
 msgid "Network error on BlastAttributes.\n"
 msgstr ""
 
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
 #, c-format
 msgid "Fseek on attributes file failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
 #, c-format
 msgid "Truncate on attributes file failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
 #, c-format
 msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
 msgstr ""
 
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
 #, c-format
 msgid "fopen attr spool file %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
 #, c-format
 msgid "pthread_cond_wait failure. ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
 msgid "unknown blocked code"
 msgstr ""
 
@@ -8941,6 +8999,21 @@ msgstr ""
 msgid "Unable to init cond variable: ERR=%s\n"
 msgstr ""
 
+#: src/stored/dev.c:288
+#, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/dev.c:294
+#, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/dev.c:300
+#, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr ""
+
 #: src/stored/dev.c:416
 msgid "Illegal mode given to open dev.\n"
 msgstr ""
@@ -9289,7 +9362,7 @@ msgstr ""
 msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
 msgstr ""
 
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
 msgstr ""
@@ -9347,107 +9420,107 @@ msgstr ""
 msgid "Got Prog Data Stream record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
 #, c-format
 msgid "Unknown stream type!!! stream=%d len=%i\n"
 msgstr ""
 
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
 #, c-format
 msgid "Could not create File Attributes record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
 #, c-format
 msgid "Created File record: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
 #, c-format
 msgid "Could not create media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
 #, c-format
 msgid "Could not update media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
 #, c-format
 msgid "Created Media record for Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
 #, c-format
 msgid "Updated Media record at end of Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
 #, c-format
 msgid "Could not create pool record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
 #, c-format
 msgid "Created Pool record for Pool: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
 #, c-format
 msgid "Could not get Client record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
 #, c-format
 msgid "Created Client record for Client: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
 #, c-format
 msgid "Fileset \"%s\" already exists.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
 #, c-format
 msgid "Could not create FileSet record \"%s\". ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
 #, c-format
 msgid "Created FileSet record \"%s\"\n"
 msgstr ""
 
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
 #, c-format
 msgid "Could not create JobId record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
 #, c-format
 msgid "Could not update job start record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
 #, c-format
 msgid "Created new JobId=%u record for original JobId=%u\n"
 msgstr ""
 
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
 #, c-format
 msgid "Could not update JobId=%u record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
 #, c-format
 msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
 msgstr ""
 
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
 #, c-format
 msgid "Job Termination code: %d"
 msgstr ""
 
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
 #, c-format
 msgid ""
 "%s\n"
@@ -9467,27 +9540,27 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
 #, c-format
 msgid "Could not create JobMedia record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
 #, c-format
 msgid "Created JobMedia record JobId %d, MediaId %d\n"
 msgstr ""
 
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
 #, c-format
 msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
 msgid "Updated MD5/SHA1 record\n"
 msgstr ""
 
@@ -11570,40 +11643,40 @@ msgid ""
 "Please see "
 msgstr ""
 
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
 #, c-format
 msgid "Could not open console message file %s: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:376
+#: src/lib/message.c:377
 #, c-format
 msgid "Could not get con mutex: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:481
+#: src/lib/message.c:482
 msgid "Bacula Message"
 msgstr ""
 
-#: src/lib/message.c:485
+#: src/lib/message.c:486
 #, c-format
 msgid "open mail pipe %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:553
+#: src/lib/message.c:577
 msgid "open mail pipe failed.\n"
 msgstr ""
 
-#: src/lib/message.c:565
+#: src/lib/message.c:590
 #, c-format
 msgid "close error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:576
+#: src/lib/message.c:601
 #, c-format
 msgid "Mail prog: %s"
 msgstr ""
 
-#: src/lib/message.c:585
+#: src/lib/message.c:610
 #, c-format
 msgid ""
 "Mail program terminated in error.\n"
@@ -11611,12 +11684,16 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:684
+#: src/lib/message.c:713
 #, c-format
 msgid "fopen %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
 #, c-format
 msgid ""
 "Msg delivery error: Operator mail program terminated in error.\n"
@@ -11624,77 +11701,77 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:878
+#: src/lib/message.c:911
 #, c-format
 msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
 #, c-format
 msgid "%s: ABORTING due to ERROR in %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
 #, c-format
 msgid "%s: ERROR TERMINATION at %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
 #, c-format
 msgid "%s: Fatal Error because: "
 msgstr ""
 
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
 #, c-format
 msgid "%s: Fatal Error at %s:%d because:\n"
 msgstr ""
 
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
 #, c-format
 msgid "%s: ERROR: "
 msgstr ""
 
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
 #, c-format
 msgid "%s: ERROR in %s:%d "
 msgstr ""
 
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
 #, c-format
 msgid "%s: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
 #, c-format
 msgid "%s: Security violation: "
 msgstr ""
 
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
 #, c-format
 msgid "%s ABORTING due to ERROR\n"
 msgstr ""
 
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
 #, c-format
 msgid "%s ERROR TERMINATION\n"
 msgstr ""
 
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
 #, c-format
 msgid "%s JobId %u: Fatal error: "
 msgstr ""
 
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
 #, c-format
 msgid "%s JobId %u: Error: "
 msgstr ""
 
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
 #, c-format
 msgid "%s JobId %u: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
 #, c-format
 msgid "%s JobId %u: Security violation: "
 msgstr ""
@@ -11748,71 +11825,6 @@ msgstr ""
 msgid "Could not destroy client queue: ERR=%s\n"
 msgstr ""
 
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
 #: src/lib/bpipe.c:361 src/lib/bpipe.c:444
 msgid "Program killed by Bacula (timeout)\n"
 msgstr ""
@@ -12262,7 +12274,7 @@ msgstr ""
 msgid "Truncate"
 msgstr ""
 
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
 msgid "None"
 msgstr ""
 
@@ -12312,7 +12324,7 @@ msgstr ""
 
 #: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
 #: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
 msgid "*none*"
 msgstr ""
 
@@ -12524,20 +12536,20 @@ msgstr ""
 msgid "pthread_setspecific failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Storage "
 "daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -12723,203 +12735,271 @@ msgstr ""
 msgid "Invalid errno. No error message possible."
 msgstr ""
 
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
 #: src/lib/signal.c:67
 msgid "Invalid signal number"
 msgstr ""
 
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
 #, c-format
 msgid "Bacula interrupted by signal %d: %s\n"
 msgstr ""
 
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
 #, c-format
 msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
 msgstr ""
 
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
 #, c-format
 msgid "Kaboom! exepath=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
 #, c-format
 msgid "Fork error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
 #, c-format
 msgid "Calling: %s %s %s %s\n"
 msgstr ""
 
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
 #, c-format
 msgid "execv: %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
 #, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
 msgstr ""
 
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
 #, c-format
 msgid "BA_NSIG too small (%d) should be (%d)\n"
 msgstr ""
 
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
 msgid "UNKNOWN SIGNAL"
 msgstr ""
 
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
 msgid "Hangup"
 msgstr ""
 
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
 msgid "Interrupt"
 msgstr ""
 
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
 msgid "Quit"
 msgstr ""
 
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
 msgid "Illegal instruction"
 msgstr ""
 
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
 msgid "Trace/Breakpoint trap"
 msgstr ""
 
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
 msgid "Abort"
 msgstr ""
 
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
 msgid "EMT instruction (Emulation Trap)"
 msgstr ""
 
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
 msgid "IOT trap"
 msgstr ""
 
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
 msgid "BUS error"
 msgstr ""
 
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
 msgid "Floating-point exception"
 msgstr ""
 
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
 msgid "Kill, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
 msgid "User-defined signal 1"
 msgstr ""
 
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
 msgid "Segmentation violation"
 msgstr ""
 
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
 msgid "User-defined signal 2"
 msgstr ""
 
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
 msgid "Broken pipe"
 msgstr ""
 
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
 msgid "Alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
 msgid "Termination"
 msgstr ""
 
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
 msgid "Stack fault"
 msgstr ""
 
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
 msgid "Child status has changed"
 msgstr ""
 
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
 msgid "Continue"
 msgstr ""
 
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
 msgid "Stop, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
 msgid "Keyboard stop"
 msgstr ""
 
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
 msgid "Background read from tty"
 msgstr ""
 
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
 msgid "Background write to tty"
 msgstr ""
 
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
 msgid "Urgent condition on socket"
 msgstr ""
 
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
 msgid "CPU limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
 msgid "File size limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
 msgid "Virtual alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
 msgid "Profiling alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
 msgid "Window size change"
 msgstr ""
 
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
 msgid "I/O now possible"
 msgstr ""
 
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
 msgid "Power failure restart"
 msgstr ""
 
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
 msgid "No runnable lwp"
 msgstr ""
 
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
 msgid "SIGLWP special signal used by thread library"
 msgstr ""
 
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
 msgid "Checkpoint Freeze"
 msgstr ""
 
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
 msgid "Checkpoint Thaw"
 msgstr ""
 
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
 msgid "Thread Cancellation"
 msgstr ""
 
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
 msgid "Resource Lost (e.g. record-lock lost)"
 msgstr ""
 
@@ -12945,47 +13025,47 @@ msgstr ""
 msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
 #, c-format
 msgid "Out of memory: ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
 msgid "Buffer overflow.\n"
 msgstr ""
 
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
 msgid "Bad errno"
 msgstr ""
 
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
 #, c-format
 msgid "Memset for %d bytes at %s:%d\n"
 msgstr ""
 
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
 #, c-format
 msgid "Cannot open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
 #, c-format
 msgid ""
 "%s is already running. pid=%d\n"
 "Check file %s\n"
 msgstr ""
 
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
 #, c-format
 msgid "Could not open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
 #, c-format
 msgid "Could not create state file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
 #, c-format
 msgid "Write final hdr error: ERR=%s\n"
 msgstr ""
@@ -13033,98 +13113,98 @@ msgstr ""
 msgid "Close of NULL file\n"
 msgstr ""
 
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
 msgid ""
 "get_char: called after EOF. You may have a open double quote without the "
 "closing double quote.\n"
 msgstr ""
 
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
 #, c-format
 msgid "Config token too long, file: %s, line %d, begins at line %d\n"
 msgstr ""
 
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
 msgid "none"
 msgstr ""
 
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
 msgid "comment"
 msgstr ""
 
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
 msgid "number"
 msgstr ""
 
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
 msgid "ip_addr"
 msgstr ""
 
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
 msgid "identifier"
 msgstr ""
 
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
 msgid "string"
 msgstr ""
 
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
 msgid "quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
 msgid "include"
 msgstr ""
 
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
 msgid "include_quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
 msgid "UTF-8 Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
 msgid "UTF-16le Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
 #, c-format
 msgid "expected a positive integer number, got: %s"
 msgstr ""
 
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
 msgid ""
 "This config file appears to be in an unsupported Unicode format (UTF-16be). "
 "Please resave as UTF-8\n"
 msgstr ""
 
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
 #, c-format
 msgid "Cannot open included config file %s: %s\n"
 msgstr ""
 
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
 #, c-format
 msgid "expected an integer or a range, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
 #, c-format
 msgid "expected an integer number, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
 #, c-format
 msgid "expected a name, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
 #, c-format
 msgid "name %s length %d too long, max is %d\n"
 msgstr ""
 
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
 #, c-format
 msgid "expected a string, got %s: %s"
 msgstr ""
@@ -13798,42 +13878,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
 msgid "NetBSD Specific Extended attribs"
 msgstr ""
 
@@ -13847,27 +13939,27 @@ msgstr ""
 msgid "Unknown include/exclude option: %c\n"
 msgstr ""
 
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
 #, c-format
 msgid "     NODUMP flag set - will not process %s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
 #, c-format
 msgid "Cannot stat file %s: ERR=%s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
 #, c-format
 msgid "%s mtime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
 #, c-format
 msgid "%s ctime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
 #, c-format
 msgid "%s size changed during backup.\n"
 msgstr ""
@@ -15637,6 +15729,11 @@ msgstr ""
 msgid " SDSocket=closed\n"
 msgstr ""
 
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
 #: src/filed/status.c:464
 msgid "2900 Bad .status command, missing argument.\n"
 msgstr ""
@@ -15665,276 +15762,276 @@ msgstr ""
 msgid "Bacula Client: Last Job had Warnings"
 msgstr ""
 
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
 #: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
 #, c-format
 msgid "Network send error to SD. ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
 #, c-format
 msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
 #, c-format
 msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
 #, c-format
 msgid "llistea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
 #, c-format
 msgid "lgetea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
 #, c-format
 msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
 msgstr ""
 
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
 #, c-format
 msgid "Failed to serialize extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
 #, c-format
 msgid "lsetea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
 #, c-format
 msgid "attr_list error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
 #, c-format
 msgid "Received illegal xattr named %s on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
 #, c-format
 msgid "attr_set error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
 #, c-format
 msgid "llistxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
 #, c-format
 msgid "lgetxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
 #, c-format
 msgid "lsetxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
 #, c-format
 msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
 #, c-format
 msgid "Failed to convert %d into namespace on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
 #, c-format
 msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
 #, c-format
 msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
 #, c-format
 msgid "Failed to convert %s into namespace on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
 #, c-format
 msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
 #, c-format
 msgid "getproplist error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
 #, c-format
 msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
 #, c-format
 msgid "setproplist error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
 #, c-format
 msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
 #, c-format
 msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
 #, c-format
 msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
 #, c-format
 msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
 #, c-format
 msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
 #, c-format
 msgid "Unable to read content of xattr %s on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
 #, c-format
 msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
 #, c-format
 msgid "Unable to open file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
 #, c-format
 msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
 #, c-format
 msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
 #, c-format
 msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
 #, c-format
 msgid "Unable to convert acl from text on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
 #, c-format
 msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
 #, c-format
 msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
 #, c-format
 msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
 #, c-format
 msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
 #, c-format
 msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
 #, c-format
 msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
 #, c-format
 msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
 #, c-format
 msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
 #, c-format
 msgid ""
 "Unable to restore data of xattr %s on file \"%s\": Not all data available in "
 "xattr stream\n"
 msgstr ""
 
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
 #, c-format
 msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
 #, c-format
 msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
 #, c-format
 msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
 #, c-format
 msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
 #, c-format
 msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
 #, c-format
 msgid "Failed to restore extensible attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
 #, c-format
 msgid "Failed to restore extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
 #, c-format
 msgid "Unable to stat file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
 #, c-format
 msgid ""
 "Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16073,189 +16170,189 @@ msgstr ""
 msgid "No Director resource defined in %s\n"
 msgstr ""
 
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
 #, c-format
 msgid "aclx_get error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
 #, c-format
 msgid "Unknown acl type encountered on file \"%s\": %ld\n"
 msgstr ""
 
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
 #, c-format
 msgid "Failed to convert acl into text on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
 #, c-format
 msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
 #, c-format
 msgid "aclx_put error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
 #, c-format
 msgid "acl_to_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
 #, c-format
 msgid "acl_get_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
 #, c-format
 msgid ""
 "acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
 #, c-format
 msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
 #, c-format
 msgid "acl_from_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
 #, c-format
 msgid "acl_valid error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
 #, c-format
 msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
 #, c-format
 msgid "acl_set_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
 #, c-format
 msgid "pathconf error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
 #, c-format
 msgid "getacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
 #, c-format
 msgid "acltostr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
 #, c-format
 msgid "strtoacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
 #, c-format
 msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
 #, c-format
 msgid "setacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
 #, c-format
 msgid "acl_get error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
 #, c-format
 msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
 #, c-format
 msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
 #, c-format
 msgid "acl_set error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
 #, c-format
 msgid "acltotext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
 #, c-format
 msgid "aclfromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
 #, c-format
 msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
 #, c-format
 msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
 #, c-format
 msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
 #, c-format
 msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
 msgstr ""
@@ -16264,17 +16361,17 @@ msgstr ""
 msgid "Storage command not issued before Verify.\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
 #, c-format
 msgid "Record header scan error: %s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
 #, c-format
 msgid "Data record error. ERR=%s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
 #, c-format
 msgid "Actual data size %d not same as header %d\n"
 msgstr ""
@@ -16434,7 +16531,7 @@ msgstr ""
 msgid "Invalid file flags, no supported data stream type.\n"
 msgstr ""
 
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
 #, c-format
 msgid "VSS Writer (BackupComplete): %s\n"
 msgstr ""
@@ -16454,192 +16551,192 @@ msgstr ""
 msgid "Could not set Finder Info on %s\n"
 msgstr ""
 
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
 msgid "LZO init failed\n"
 msgstr ""
 
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
 msgid "Unexpected cryptographic session data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
 msgid ""
 "No private decryption keys have been defined to decrypt encrypted backup "
 "data.\n"
 msgstr ""
 
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
 msgid "Could not create digest.\n"
 msgstr ""
 
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
 msgid "Missing private key required to decrypt encrypted backup data.\n"
 msgstr ""
 
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
 msgid "Decrypt of the session key failed.\n"
 msgstr ""
 
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
 #, c-format
 msgid "An error occurred while decoding encrypted session data stream: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
 #, c-format
 msgid "Missing encryption session data stream for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
 #, c-format
 msgid "Failed to initialize decryption context for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
 #, c-format
 msgid "Cannot open resource fork for %s.\n"
 msgstr ""
 
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
 msgid "Unexpected cryptographic signature data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
 #, c-format
 msgid "Failed to decode message signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
 #, c-format
 msgid "Encountered %ld acl errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
 #, c-format
 msgid "Encountered %ld xattr errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
 #, c-format
 msgid ""
 "%d non-supported data streams and %d non-supported attrib streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
 #, c-format
 msgid "%d non-supported resource fork streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
 #, c-format
 msgid "%d non-supported Finder Info streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
 #, c-format
 msgid "%d non-supported acl streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
 #, c-format
 msgid "%d non-supported crypto streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
 #, c-format
 msgid "%d non-supported xattr streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
 msgid "Zlib errno"
 msgstr ""
 
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
 msgid "Zlib stream error"
 msgstr ""
 
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
 msgid "Zlib data error"
 msgstr ""
 
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
 msgid "Zlib memory error"
 msgstr ""
 
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
 msgid "Zlib buffer error"
 msgstr ""
 
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
 msgid "Zlib version error"
 msgstr ""
 
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
 #, c-format
 msgid "Missing cryptographic signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
 #, c-format
 msgid "Signature validation failed for file %s: ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
 #, c-format
 msgid "Digest one file failed for file: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
 #, c-format
 msgid "Signature validation failed for %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
 #, c-format
 msgid "LZO uncompression error on file %s. ERR=%d\n"
 msgstr ""
 
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
 #, c-format
 msgid "Uncompression error on file %s. ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
 #, c-format
 msgid "Write error in Win32 Block Decomposition on %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
 msgid "Decryption error\n"
 msgstr ""
 
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
 msgid "Logic error: output file should be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
 msgid "Logic error: output file should not be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
 #, c-format
 msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
 msgid "Open File Manager paused\n"
 msgstr ""
 
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
 msgid "FAILED to pause Open File Manager\n"
 msgstr ""
 
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
 #, c-format
 msgid "Running as '%s'. Privmask=%#08x\n"
 msgstr ""
 
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
 msgid "Failed to retrieve current UserName\n"
 msgstr ""
 
@@ -16918,7 +17015,7 @@ msgid ""
 "Version: "
 msgstr ""
 
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
 #, c-format
 msgid "Failed ASSERT: %s\n"
 msgstr ""
@@ -17879,15 +17976,15 @@ msgstr ""
 msgid "At main prompt waiting for input ..."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
 msgid "At prompt waiting for input ..."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
 msgid "Command failed."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
 msgid "Director disconnected."
 msgstr ""
 
diff --git a/po/de.po b/po/de.po
index 3aae6de..2f671cb 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
 "PO-Revision-Date: 2007-06-25 20:38+0200\n"
 "Last-Translator: Philipp Storz <philipp.storz at dass-it.de>\n"
 "Language-Team: \n"
@@ -101,7 +101,7 @@ msgstr ""
 msgid "Continue? (yes/mod/no): "
 msgstr ""
 
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
 msgid "mod"
 msgstr ""
 
@@ -121,8 +121,8 @@ msgstr ""
 msgid "The defined Storage resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
 #: src/wx-console/wxbrestorepanel.cpp:355
 #: src/wx-console/wxbrestorepanel.cpp:479
 #: src/wx-console/wxbrestorepanel.cpp:480
@@ -143,7 +143,7 @@ msgstr ""
 msgid "The defined FileSet resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
 msgid "FileSet"
 msgstr ""
 
@@ -151,7 +151,7 @@ msgstr ""
 msgid "Select FileSet resource"
 msgstr ""
 
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
 msgid "Could not find a Catalog resource\n"
 msgstr ""
 
@@ -176,8 +176,8 @@ msgid "The defined Job resources are:\n"
 msgstr ""
 
 #: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
 msgid "Job"
 msgstr "Job"
 
@@ -202,8 +202,8 @@ msgstr ""
 msgid "The defined Client resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
 #: src/wx-console/wxbrestorepanel.cpp:336
 #: src/wx-console/wxbrestorepanel.cpp:354
 #: src/wx-console/wxbrestorepanel.cpp:431
@@ -262,7 +262,7 @@ msgstr ""
 msgid "Could not find Pool \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
 #, c-format
 msgid "Error obtaining pool ids. ERR=%s\n"
 msgstr ""
@@ -276,12 +276,12 @@ msgid "Defined Pools:\n"
 msgstr ""
 
 #: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
 msgid "*None*"
 msgstr ""
 
 #: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
 #: src/wx-console/wxbrestorepanel.cpp:527
 #: src/wx-console/wxbrestorepanel.cpp:537
 #: src/wx-console/wxbrestorepanel.cpp:1834
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Unauthorized command from this console.\n"
 msgstr ""
 
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
 msgid "No Jobs running.\n"
 msgstr ""
 
@@ -763,8 +763,8 @@ msgstr ""
 msgid "Start Admin JobId %d, Job=%s\n"
 msgstr "Starte Admin JobId %d, Job=%s\n"
 
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
 #, fuzzy, c-format
 msgid "Error getting Job record for Job report: ERR=%s"
 msgstr "Fehler beim Holen des job Eintrags f�r den job Bericht: %s"
@@ -781,8 +781,8 @@ msgstr "*** Admin Fehler ***"
 msgid "Admin Canceled"
 msgstr "Admin abgebrochen"
 
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
 #, c-format
 msgid "Inappropriate term code: %c\n"
 msgstr "Unangebrachter Beendigungskode: %c\n"
@@ -791,7 +791,7 @@ msgstr "Unangebrachter Beendigungskode: %c\n"
 msgid "Bacula "
 msgstr "Bacula "
 
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -828,31 +828,31 @@ msgstr ""
 "       -?          diese Meldung ausgeben.\n"
 "\n"
 
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
 #: src/filed/filed.c:218 src/qt-console/main.cpp:165
 msgid "Cryptography library initialization failed.\n"
 msgstr "Initialisierung der Verschl�sselungsbibliothek fehlgeschlagen.\n"
 
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
 #: src/filed/filed.c:223 src/qt-console/main.cpp:169
 #, c-format
 msgid "Please correct configuration file: %s\n"
 msgstr "Bitte die Konfigurationsdatei korrigieren: %s\n"
 
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
 msgid "Too many open reload requests. Request ignored.\n"
 msgstr "zu viele offene reload Anforderungen, Anforderung ignoriert.\n"
 
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
 msgid "Out of reload table entries. Giving up.\n"
 msgstr "Keine reload table Eintr�ge �brig. Gebe auf.\n"
 
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
 msgid "Resetting previous configuration.\n"
 msgstr "Vorherige Konfiguration zur�ckgesetzt.\n"
 
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
 #, c-format
 msgid ""
 "No Director resource defined in %s\n"
@@ -861,35 +861,35 @@ msgstr ""
 "Keine Director resource definiert in %s\n"
 "Ohne dies weiss ich nicht wer ich bin :-(\n"
 
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
 #, c-format
 msgid "No Messages resource defined in %s\n"
 msgstr "Keine Messages resource definiert in %s\n"
 
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
 #, c-format
 msgid "Only one Director resource permitted in %s\n"
 msgstr "Nur eine Director resource erlaubt in %s\n"
 
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
 #: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
 #: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
 #: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
 msgid "TLS required but not configured in Bacula.\n"
 msgstr "TLS ben�tigt aber nicht konfiguriert in Bacula.\n"
 
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
 msgstr "\"TLS Certificate\" Datei nicht f�r Director definiert \"%s\" in %s.\n"
 
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
 #, c-format
 msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
 msgstr "\"TLS Key\" Datei nicht f�r Director definiert \"%s\" in %s.\n"
 
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -900,48 +900,48 @@ msgstr ""
 "Director \"%s\" in %s definert. Mindestens ein CA certificate store wird "
 "ben�tigt wenn \"TLS Verify Peer\" eingesetzt wird.\n"
 
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
 #, c-format
 msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
 msgstr "Konnte TLS context f�r Director nicht initialisieren \"%s\" in %s.\n"
 
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
 #, c-format
 msgid "No Job records defined in %s\n"
 msgstr "Keine Job records definiert in %s\n"
 
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
 #, c-format
 msgid "Hey something is wrong. p=0x%lu\n"
 msgstr "Hey etwas l�uft schief. p=0x%lu\n"
 
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
 #, c-format
 msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
 msgstr ""
 "\"%s\" Directive in Job \"%s\" resource wird ben�tigt, wurde aber nicht "
 "gefunden.\n"
 
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
 msgid "Too many items in Job resource\n"
 msgstr "zu viele items in Job resource\n"
 
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
 #, c-format
 msgid "No storage specified in Job \"%s\" nor in Pool.\n"
 msgstr "Weder storage noch Pool in Job \"%s\" definiert.\n"
 
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
 msgstr "\"TLS Certificate\" Datei nicht definiert f�r Console \"%s\" in %s.\n"
 
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
 #, c-format
 msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
 msgstr "\"TLS Key\" Datei nicht definiert f�r Console \"%s\" in %s.\n"
 
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -952,13 +952,13 @@ msgstr ""
 "f�rConsole \"%s\" in %s. Mindestens ein CA certificate store wird ben�tigt "
 "beiEinsatz von \"TLS Verify Peer\".\n"
 
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
 #, c-format
 msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
 msgstr ""
 "Konnte TLS context f�r File daemon \"%s\" in %s nicht initialisieren.\n"
 
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -967,7 +967,7 @@ msgstr ""
 "Weder \"TLS CA Certificate\" noch \"TLS CA Certificate Dir\" sind definiert "
 "f�r File daemon \"%s\" in %s.\n"
 
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -976,32 +976,32 @@ msgstr ""
 "Weder \"TLS CA Certificate\" noch \"TLS CA Certificate Dir\" sind definiert "
 "f�rStorage \"%s\" in %s.\n"
 
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
 #, c-format
 msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
 msgstr "Konnte TLS context f�r Storage \"%s\" in %s nicht initialisieren.\n"
 
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
 #, c-format
 msgid "Could not open Catalog \"%s\", database \"%s\".\n"
 msgstr "Konnte Catalog \"%s\", database \"%s\" nicht �ffnen.\n"
 
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
 #, fuzzy, c-format
 msgid "Could not create storage record for %s\n"
 msgstr "Kann Storage resource %s nicht finden\n"
 
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
 #, fuzzy, c-format
 msgid "Could not update storage record for %s\n"
 msgstr "Kann Storage resource %s nicht finden\n"
 
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
 #, c-format
 msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr "Konnte regex pattern \"%s\" nicht kompilieren ERR=%s\n"
@@ -1020,18 +1020,18 @@ msgstr "FileSet option Schl
 msgid "Old style Include/Exclude not supported\n"
 msgstr "veraltete Include/Exclude Anweisung nicht unterst�tzt\n"
 
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
 #, c-format
 msgid "Expecting keyword, got: %s\n"
 msgstr "Schl�sselwort erwartet, erhalten:%s\n"
 
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
 #: src/lib/parse_conf.c:976
 #, c-format
 msgid "expected an equals, got: %s"
 msgstr "Erwartete ein \"ist gleich\", erhalten: %s"
 
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
 #, c-format
 msgid "Keyword %s not permitted in this resource"
 msgstr "Schl�sselwort %s ist in dieser Ressource nicht erlaubt."
@@ -1085,7 +1085,7 @@ msgstr ""
 msgid "Options section not permitted in Exclude\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
 #, c-format
 msgid "Expecting open brace. Got %s"
 msgstr "Geschweifte Klammer auf erwartet, erhalten: %s"
@@ -1266,13 +1266,13 @@ msgid ""
 "There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d ...\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
 msgid "Failed to connect to Storage daemon.\n"
 msgstr "Verbindung zu Storage daemon fehlgeschlagen.\n"
 
@@ -1349,34 +1349,34 @@ msgstr "Fehler beim Holen des job Eintrags f
 msgid "Could not get or create the FileSet record.\n"
 msgstr "Konnte FileSet Eintrag weder holen noch erzeugen.\n"
 
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
 #, fuzzy, c-format
 msgid "Error getting Client record for Job report: ERR=%s"
 msgstr "Fehler beim holen des Datensatzes f�r Volume \"%s\": ERR=%s"
 
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
 #, c-format
 msgid "Error getting Media record for Volume \"%s\": ERR=%s"
 msgstr "Fehler beim holen des Datensatzes f�r Volume \"%s\": ERR=%s"
 
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
 msgid "Backup OK -- with warnings"
 msgstr "Sicherung OK -- mit Warnungen"
 
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
 msgid "Backup OK"
 msgstr "Sicherung OK"
 
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
 msgid "*** Backup Error ***"
 msgstr "*** Sicherungsfehler ***"
 
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
 msgid "Backup Canceled"
 msgstr "Sicherung Abgebrochen"
 
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -1452,93 +1452,93 @@ msgstr ""
 msgid "disabled"
 msgstr "ist nicht aktiviert"
 
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
 msgid "Keywords for the show command are:\n"
 msgstr ""
 
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
 #, c-format
 msgid "%s resource %s not found.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
 #, c-format
 msgid "Resource %s not found\n"
 msgstr ""
 
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
 msgid "Hey! DB is NULL\n"
 msgstr ""
 
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
 #, c-format
 msgid "Jobid %d used %d Volume(s): %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
 msgid "No Pool specified.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
 #, c-format
 msgid "Pool: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
 msgid "Ignoring invalid value for days. Max is 50.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
 #, c-format
 msgid "Unknown list keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
 #, c-format
 msgid "%s is not a job name.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
 #, fuzzy, c-format
 msgid "Could not find Pool for Job %s\n"
 msgstr "Konnte Datenbank \"%s\" nicht �ffen.\n"
 
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
 #, c-format
 msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
 msgstr ""
 
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
 #, c-format
 msgid ""
 "The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
 #, c-format
 msgid "Could not find next Volume for Job %s.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
 #, c-format
 msgid "Could not open database \"%s\".\n"
 msgstr "Konnte Datenbank \"%s\" nicht �ffen.\n"
 
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
 #, c-format
 msgid "Pool %s not in database. %s"
 msgstr "Pool %s nicht in der Datenbank. %s"
 
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
 #, c-format
 msgid "Pool %s created in database.\n"
 msgstr "Pool %s in der Datenbank angelegt.\n"
 
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
 msgid "You have no messages.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
 msgid "Message too long to display.\n"
 msgstr ""
 
@@ -1551,89 +1551,89 @@ msgstr ""
 msgid ": is an invalid command.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
 #: src/dird/ua_restore.c:823
 #, c-format
 msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
 #: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
 #: src/dird/job.c:1160 src/dird/job.c:1164
 msgid "unknown source"
 msgstr "unbekannte Quelle"
 
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
 msgid "Connected to storage daemon\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
 #: src/dird/ua_status.c:397
 #, c-format
 msgid "Connecting to Client %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
 msgid "Failed to connect to Client.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
 #, fuzzy, c-format
 msgid "Unknown command: %s\n"
 msgstr "unbekannt"
 
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
 msgid "Available daemons are: \n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
 msgid "Director"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
 msgid "Select daemon type to make die"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
 msgid "The Director will generate a deadlock.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
 msgid "The Director will segment fault.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
 msgid "Access to specified Client or FileSet not allowed.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
 #: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
 #: src/dird/ua_restore.c:990
 #, c-format
 msgid "Query failed: %s. ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
 #, fuzzy
 msgid "query keyword not found.\n"
 msgstr "Path record: %s nicht gefunden.\n"
 
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
 #, fuzzy, c-format
 msgid "List MediaType failed: ERR=%s\n"
 msgstr "Media id select fehlgeschlagen: ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
 #, fuzzy, c-format
 msgid "List Media failed: ERR=%s\n"
 msgstr "Media id select fehlgeschlagen: ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
 #, fuzzy, c-format
 msgid "List Location failed: ERR=%s\n"
 msgstr "Client id select fehlgeschlagen: ERR=%s\n"
@@ -1952,11 +1952,11 @@ msgstr ""
 msgid "Enter base volume name: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
 msgid "Volume name too long.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
 msgid "Volume name must be at least one character long.\n"
 msgstr ""
 
@@ -2015,11 +2015,11 @@ msgstr ""
 msgid "Python interpreter restarted.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
 msgid "Nothing done.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
 #, c-format
 msgid "Client \"%s\" not found.\n"
 msgstr ""
@@ -2046,7 +2046,7 @@ msgstr ""
 msgid "Select daemon type to set debug level"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
 #, c-format
 msgid "No authorization for Client \"%s\"\n"
 msgstr ""
@@ -2055,7 +2055,7 @@ msgstr ""
 msgid "Client name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
 #, c-format
 msgid "No authorization for Job \"%s\"\n"
 msgstr ""
@@ -2079,7 +2079,7 @@ msgstr ""
 msgid "Fileset name missing.\n"
 msgstr "FileSet: name=%s\n"
 
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
 #, fuzzy, c-format
 msgid "Level \"%s\" not valid.\n"
 msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
@@ -2088,43 +2088,68 @@ msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
 msgid "Level value missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
 msgid "Invalid value for accurate. It must be yes or no.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+#, fuzzy
+msgid "Accurate value missing.\n"
+msgstr "FileSet: name=%s\n"
+
+#: src/dird/ua_cmds.c:1167
 msgid "No job specified.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
 msgid "Error sending include list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
 msgid "Error sending exclude list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
 msgid ""
 "In general it is not a good idea to delete either a\n"
 "Pool or a Volume since they may contain data.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
 msgid "Choose catalog item to delete"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, fuzzy, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr "Clone JobId %d gestartet.\n"
+
+#: src/dird/ua_cmds.c:1404
 msgid "Enter JobId to delete: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
 #, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
+#, c-format
+msgid "Jobid %s and associated records deleted from the catalog.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1484
 #, c-format
 msgid ""
 "\n"
@@ -2132,44 +2157,44 @@ msgid ""
 "and all Jobs saved on that volume from the Catalog\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
 #, c-format
 msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
 msgid "Can't list jobs on this volume\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
 #, c-format
 msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
 #, c-format
 msgid "Using Catalog name=%s DB=%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
 msgid "ERR: Can't open db\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
 msgid "Wait on mount timed out\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
 msgid "ERR: Job was not found\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
 msgid ""
 "  Command       Description\n"
 "  =======       ===========\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
 #, c-format
 msgid ""
 "  %-13s %s\n"
@@ -2178,12 +2203,12 @@ msgid ""
 "\t%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
 #, fuzzy, c-format
 msgid "  %-13s %s\n"
 msgstr "  --> Run=%s\n"
 
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
 #, c-format
 msgid ""
 "\n"
@@ -2191,29 +2216,29 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
 msgid ""
 "\n"
 "When at a prompt, entering a period cancels the command.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
 #, c-format
 msgid "No authorization for Catalog \"%s\"\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
 #, c-format
 msgid "Could not open catalog database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
 #, c-format
 msgid "Using Catalog \"%s\"\n"
 msgstr ""
@@ -2411,57 +2436,57 @@ msgstr ""
 msgid "%d directories unmarked.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
 #: src/qt-console/tray-monitor/tray_conf.cpp:168
 #, c-format
 msgid "No %s resource defined\n"
 msgstr "Keine %s resource definiert\n"
 
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
 #, c-format
 msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 msgstr "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
 #, c-format
 msgid "   query_file=%s\n"
 msgstr "   query_file=%s\n"
 
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
 msgid "  --> "
 msgstr "  --> "
 
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
 #, c-format
 msgid "Console: name=%s SSL=%d\n"
 msgstr "Console: name=%s SSL=%d\n"
 
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
 #, c-format
 msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
 msgstr "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
 
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
 #, c-format
 msgid "Counter: name=%s min=%d max=%d\n"
 msgstr "Counter: name=%s min=%d max=%d\n"
 
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
 #, c-format
 msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
 msgstr "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
 
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 msgstr "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
 #, c-format
 msgid ""
 "Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2474,7 +2499,7 @@ msgstr ""
 "%d\n"
 "      poolid=%s volname=%s MediaType=%s\n"
 
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
 #, c-format
 msgid ""
 "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
@@ -2483,7 +2508,7 @@ msgstr ""
 "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
 "      DeviceName=%s MediaType=%s StorageId=%s\n"
 
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
 #, fuzzy, c-format
 msgid ""
 "Catalog: name=%s address=%s DBport=%d db_name=%s\n"
@@ -2492,16 +2517,16 @@ msgstr ""
 "Catalog: name=%s address=%s DBport=%d db_name=%s\n"
 "      db_user=%s MutliDBConn=%d\n"
 
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
 #, c-format
 msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
 msgstr "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
 
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
 msgid "JobDefs"
 msgstr "JobDefs"
 
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
 #, c-format
 msgid ""
 "     MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
@@ -2510,256 +2535,256 @@ msgstr ""
 "     MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
 "%d\n"
 
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
 #, fuzzy, c-format
 msgid "     SpoolSize=%s\n"
 msgstr "      opcmd=%s\n"
 
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
 #, fuzzy, c-format
 msgid "     Accurate=%d\n"
 msgstr "     SelectionType=%d\n"
 
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
 #, c-format
 msgid "     SelectionType=%d\n"
 msgstr "     SelectionType=%d\n"
 
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
 #, c-format
 msgid "  --> Where=%s\n"
 msgstr "  --> Where=%s\n"
 
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
 #, fuzzy, c-format
 msgid "  --> RegexWhere=%s\n"
 msgstr "  --> Where=%s\n"
 
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
 #, c-format
 msgid "  --> Bootstrap=%s\n"
 msgstr "  --> Bootstrap=%s\n"
 
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
 #, c-format
 msgid "  --> WriteBootstrap=%s\n"
 msgstr "  --> WriteBootstrap=%s\n"
 
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
 #, fuzzy, c-format
 msgid "  --> PluginOptions=%s\n"
 msgstr "  --> Run=%s\n"
 
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
 #, fuzzy, c-format
 msgid "  --> MaxRunTime=%u\n"
 msgstr "  --> RunWhen=%u\n"
 
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
 #, fuzzy, c-format
 msgid "  --> MaxWaitTime=%u\n"
 msgstr "  --> RunWhen=%u\n"
 
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
 #, fuzzy, c-format
 msgid "  --> MaxStartDelay=%u\n"
 msgstr "  --> Target=%s\n"
 
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
 #, fuzzy, c-format
 msgid "  --> MaxRunSchedTime=%u\n"
 msgstr "  --> RunWhen=%u\n"
 
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
 #, fuzzy, c-format
 msgid "  --> Base %s\n"
 msgstr "  --> Target=%s\n"
 
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
 msgid " --> RunScript\n"
 msgstr " --> RunScript\n"
 
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
 #, c-format
 msgid "  --> Command=%s\n"
 msgstr "  --> Command=%s\n"
 
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
 #, c-format
 msgid "  --> Target=%s\n"
 msgstr "  --> Target=%s\n"
 
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
 #, c-format
 msgid "  --> RunOnSuccess=%u\n"
 msgstr "  --> RunOnSuccess=%u\n"
 
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
 #, c-format
 msgid "  --> RunOnFailure=%u\n"
 msgstr "  --> RunOnFailure=%u\n"
 
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
 #, fuzzy, c-format
 msgid "  --> FailJobOnError=%u\n"
 msgstr "  --> AbortJobOnError=%u\n"
 
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
 #, c-format
 msgid "  --> RunWhen=%u\n"
 msgstr "  --> RunWhen=%u\n"
 
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
 #, c-format
 msgid "  --> Run=%s\n"
 msgstr "  --> Run=%s\n"
 
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
 #, c-format
 msgid "  --> SelectionPattern=%s\n"
 msgstr "  --> SelectionPattern=%s\n"
 
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
 #, c-format
 msgid "FileSet: name=%s\n"
 msgstr "FileSet: name=%s\n"
 
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
 #, c-format
 msgid "Schedule: name=%s\n"
 msgstr "Schedule: name=%s\n"
 
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
 #, c-format
 msgid "  --> Run Level=%s\n"
 msgstr "  --> Run Level=%s\n"
 
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
 msgid "      hour="
 msgstr "      hour="
 
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
 msgid "      mday="
 msgstr "      mday="
 
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
 msgid "      month="
 msgstr "      month="
 
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
 msgid "      wday="
 msgstr "      wday="
 
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
 msgid "      wom="
 msgstr "      wom="
 
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
 msgid "      woy="
 msgstr "      woy="
 
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
 #, c-format
 msgid "      mins=%d\n"
 msgstr "      mins=%d\n"
 
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
 msgid "     --> "
 msgstr "     --> "
 
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
 #, c-format
 msgid "Pool: name=%s PoolType=%s\n"
 msgstr "Pool: name=%s PoolType=%s\n"
 
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
 #, c-format
 msgid "      use_cat=%d use_once=%d cat_files=%d\n"
 msgstr "      use_cat=%d use_once=%d cat_files=%d\n"
 
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
 #, c-format
 msgid "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 msgstr "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
 #, c-format
 msgid "      VolUse=%s recycle=%d LabelFormat=%s\n"
 msgstr "      VolUse=%s recycle=%d LabelFormat=%s\n"
 
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
 #, c-format
 msgid "      CleaningPrefix=%s LabelType=%d\n"
 msgstr "      CleaningPrefix=%s LabelType=%d\n"
 
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
 #, fuzzy, c-format
 msgid "      RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
 msgstr "      RecyleOldest=%d PurgeOldest=%d MaxVolJobs=%d MaxVolFiles=%d\n"
 
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
 #, fuzzy, c-format
 msgid "      MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
 msgstr "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
 #, c-format
 msgid "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 msgstr "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
 #, fuzzy, c-format
 msgid "      JobRetention=%s FileRetention=%s\n"
 msgstr "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
 #, fuzzy, c-format
 msgid "      NextPool=%s\n"
 msgstr "      opcmd=%s\n"
 
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
 #, fuzzy, c-format
 msgid "      RecyclePool=%s\n"
 msgstr "      opcmd=%s\n"
 
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
 #, fuzzy, c-format
 msgid "      ScratchPool=%s\n"
 msgstr "      opcmd=%s\n"
 
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
 #, fuzzy, c-format
 msgid "      Catalog=%s\n"
 msgstr "      mailcmd=%s\n"
 
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
 #, c-format
 msgid "Messages: name=%s\n"
 msgstr "Messages: name=%s\n"
 
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
 #, c-format
 msgid "      mailcmd=%s\n"
 msgstr "      mailcmd=%s\n"
 
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
 #, c-format
 msgid "      opcmd=%s\n"
 msgstr "      opcmd=%s\n"
 
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
 #: src/qt-console/tray-monitor/tray_conf.cpp:199
 #, c-format
 msgid "Unknown resource type %d in dump_resource.\n"
 msgstr "Unbekannter resource type %d in dump_resource.\n"
 
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
 #: src/qt-console/tray-monitor/tray_conf.cpp:257
 #, c-format
 msgid "Unknown resource type %d in free_resource.\n"
 msgstr "Unbekannter resource type %d in free_resource.\n"
 
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
 #: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
 #: src/console/console_conf.c:259 src/filed/filed_conf.c:361
 #: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2768,54 +2793,54 @@ msgstr "Unbekannter resource type %d in free_resource.\n"
 msgid "%s item is required in %s resource, but not found.\n"
 msgstr "%s item wird in %s resource ben�tigt, wurde aber nicht gefunden.\n"
 
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
 #: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
 #, c-format
 msgid "Too many items in %s resource\n"
 msgstr "zu viele items in %s resource\n"
 
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
 #, c-format
 msgid "Cannot find Pool resource %s\n"
 msgstr "Kann Pool resource %s nicht finden\n"
 
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
 #, c-format
 msgid "Cannot find Console resource %s\n"
 msgstr "Kann Console resource %s nicht finden\n"
 
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
 #: src/filed/filed_conf.c:381
 #, c-format
 msgid "Cannot find Director resource %s\n"
 msgstr "Kann Director resource %s nicht finden\n"
 
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
 #, c-format
 msgid "Cannot find Storage resource %s\n"
 msgstr "Kann Storage resource %s nicht finden\n"
 
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
 #, c-format
 msgid "Cannot find Job resource %s\n"
 msgstr "Kann Job resource %s nicht finden\n"
 
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
 #, c-format
 msgid "Cannot find Counter resource %s\n"
 msgstr "Kann Counter resource %s nicht finden\n"
 
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
 #, c-format
 msgid "Cannot find Client resource %s\n"
 msgstr "Kann Client resource %s nicht finden\n"
 
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
 #, c-format
 msgid "Cannot find Schedule resource %s\n"
 msgstr "Kann Schedule resource %s nicht finden\n"
 
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
 #: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
 #: src/qt-console/tray-monitor/tray_conf.cpp:314
 #: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2823,12 +2848,12 @@ msgstr "Kann Schedule resource %s nicht finden\n"
 msgid "Unknown resource type %d in save_resource.\n"
 msgstr "Unbekannter resource type %d in save_resource.\n"
 
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
 #, c-format
 msgid "Name item is required in %s resource, but not found.\n"
 msgstr "Name item wird ben�tigt in %s resource, wurde aber nicht gefunden.\n"
 
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
 #: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
 #: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
 #: src/qt-console/bat_conf.cpp:334
@@ -2838,43 +2863,43 @@ msgstr ""
 "Der Versuch der Definition einer zweiten  %s resource mit dem Namen \"%s\" "
 "ist nicht erlaubt.\n"
 
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
 #, c-format
 msgid "Inserting %s res: %s index=%d pass=%d\n"
 msgstr "Inserting %s res: %s index=%d pass=%d\n"
 
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
 #, fuzzy, c-format
 msgid "Expected one of: %s, got: %s"
 msgstr "Erwartet: %s, erhalten: %s"
 
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
 #, c-format
 msgid "Expected a Migration Job Type keyword, got: %s"
 msgstr " Migration Job Type  Schl�sselwort erwartet, erhalten: %s"
 
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
 #, c-format
 msgid "Expected a Job Type keyword, got: %s"
 msgstr "Job Type Schl�sselwort erwartet, erhalten: %s"
 
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
 #, c-format
 msgid "Expected a Job Level keyword, got: %s"
 msgstr "Job Level Schl�sselwort erwartet, erhalten: %s"
 
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
 #, c-format
 msgid "Expected a Restore replacement option, got: %s"
 msgstr "Restore replacement Option erwartet, erhalten: %s"
 
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
 #: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
 #, c-format
 msgid "Expect %s, got: %s"
 msgstr "Erwartet: %s, erhalten: %s"
 
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
 #, c-format
 msgid "Could not find config Resource %s referenced on line %d : %s\n"
 msgstr ""
@@ -3003,7 +3028,7 @@ msgstr ""
 msgid "Select full restore to a specified Job date"
 msgstr ""
 
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
 #: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
 msgid "Cancel"
 msgstr ""
@@ -3421,180 +3446,180 @@ msgstr ""
 msgid "Slot too large.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
 msgid "command line"
 msgstr ""
 
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
 msgid "No slots in changer to scan.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
 msgid "No Volumes found to label, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
 #, c-format
 msgid "Slot %d greater than max %d ignored.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
 #, c-format
 msgid "No VolName for Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
 #, c-format
 msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
 #, c-format
 msgid "Catalog record for Volume \"%s\" is up to date.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
 #, c-format
 msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
 #, c-format
 msgid ""
 "Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
 "relabeling.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
 msgid "Enter new Volume name: "
 msgstr ""
 
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
 #, c-format
 msgid "Media record for new Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
 msgid "Enter slot (0 or Enter for none): "
 msgstr ""
 
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
 #, c-format
 msgid "Delete of Volume \"%s\" failed. ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
 #, c-format
 msgid "Old volume \"%s\" deleted from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
 #, c-format
 msgid "Requesting to mount %s ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
 msgid "Do not forget to mount the drive!!!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
 msgid ""
 "The following Volumes will be labeled:\n"
 "Slot  Volume\n"
 "==============\n"
 msgstr ""
 
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
 msgid "Do you want to label these Volumes? (yes|no): "
 msgstr ""
 
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
 #, c-format
 msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
 #, c-format
 msgid "Error setting InChanger: ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
 #, c-format
 msgid "Maximum pool Volumes=%d reached.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
 #, c-format
 msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
 #, c-format
 msgid "Catalog error on cleaning tape: %s"
 msgstr ""
 
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
 #, c-format
 msgid "Illegal character \"%c\" in a volume name.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
 #, c-format
 msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
 #, c-format
 msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
 #, c-format
 msgid "Catalog record for Volume \"%s\", Slot %d  successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
 #, c-format
 msgid "Label command failed for Volume %s.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
 msgid "Could not open SD socket.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
 #, c-format
 msgid "Invalid Slot number: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
 #, c-format
 msgid "Invalid Volume name: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
 #, c-format
 msgid "Device \"%s\" has %d slots.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
 #, c-format
 msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
 #, fuzzy
 msgid "No Volumes found, or no barcodes.\n"
 msgstr "Keine Volumes zum Wiederherstellen gefunden.\n"
 
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
 msgid ""
 " Slot |   Volume Name    |   Status  |     Media Type       |      "
 "Pool          |\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
 msgid ""
 "------+------------------+-----------+----------------------"
 "+--------------------|\n"
@@ -3815,15 +3840,15 @@ msgid "New Recycle flag is: %s\n"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
 #: src/tools/dbcheck.c:1352
 msgid "yes"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
 msgid "no"
 msgstr ""
 
@@ -3902,7 +3927,7 @@ msgstr "Fehler beim Aktualisieren des Client Eintrags. ERR=%s\n"
 msgid "New ActionOnPurge is: %s\n"
 msgstr ""
 
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
 msgid "Parameters to modify:\n"
 msgstr ""
 
@@ -3974,7 +3999,7 @@ msgstr ""
 msgid "Done"
 msgstr ""
 
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
 msgid "Select parameter to modify"
 msgstr ""
 
@@ -4206,7 +4231,7 @@ msgstr "Pool f
 msgid "Pool resource \"%s\" not found.\n"
 msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
 
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
 #, fuzzy, c-format
 msgid "Could not get job record for JobId %s to %s. ERR=%s"
 msgstr "Konnte job record f�r JobId %s zum migrieren nicht holen. ERR=%s"
@@ -4221,140 +4246,140 @@ msgstr ""
 msgid "Start %s JobId %s, Job=%s\n"
 msgstr "Start Sicherung JobId %s, Job=%s\n"
 
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
 #, fuzzy, c-format
 msgid "No %s SQL selection pattern specified.\n"
 msgstr "Kein \"Migration SQL selection pattern\" spezifiziert.\n"
 
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
 #, c-format
 msgid "SQL failed. ERR=%s\n"
 msgstr "SQL fehlgeschlagen ERR=%s\n"
 
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
 #, fuzzy, c-format
 msgid "No Volumes found to %s.\n"
 msgstr "Keine Volumes zum Wiederherstellen gefunden.\n"
 
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
 msgid "Invalid JobId found.\n"
 msgstr "Ung�ltige JobId gefunden.\n"
 
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
 #, fuzzy, c-format
 msgid "Unknown %s Selection Type.\n"
 msgstr "Unbekannter \"Migration Selection Type\".\n"
 
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
 #, fuzzy, c-format
 msgid "No JobIds found to %s.\n"
 msgstr "Kein Job gefunden f�r: %s.\n"
 
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
 #, fuzzy, c-format
 msgid "The following %u JobId%s chosen to be %s: %s\n"
 msgstr "Die folgende %u JobId%s wird migriert werden: %s\n"
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid " was"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid "s were"
 msgstr ""
 
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
 #, fuzzy, c-format
 msgid "%s using JobId=%s Job=%s\n"
 msgstr "Migration benutzt JobId=%s Job=%s\n"
 
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
 msgid "Could not start migration job.\n"
 msgstr "Konnte Migrationsjob nicht starten.\n"
 
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
 #, fuzzy, c-format
 msgid "%s JobId %d started.\n"
 msgstr "Clone JobId %d gestartet.\n"
 
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
 #, fuzzy, c-format
 msgid "No %s found to %s.\n"
 msgstr "Keine %ss zum Migrieren gefunden.\n"
 
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
 #, c-format
 msgid "SQL error. Expected 1 MediaId got %d\n"
 msgstr "SQL Fehler. Erwartet 1 MediaId erhalten: %d\n"
 
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
 #, fuzzy, c-format
 msgid "No %ss found to %s.\n"
 msgstr "Keine %ss zum Migrieren gefunden.\n"
 
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
 msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
 msgstr ""
 
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
 #, fuzzy, c-format
 msgid "SQL to get uncopied jobs failed. ERR=%s\n"
 msgstr "SQL um %s zu holen fehlgeschlagen. ERR=%s\n"
 
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
 #, fuzzy, c-format
 msgid "No %s %s selection pattern specified.\n"
 msgstr "Kein Migration %s selection pattern spezifiziert.\n"
 
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
 #, c-format
 msgid "SQL to get %s failed. ERR=%s\n"
 msgstr "SQL um %s zu holen fehlgeschlagen. ERR=%s\n"
 
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
 #, fuzzy, c-format
 msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
 msgstr "Abfrage nach Pool \"%s\" ergab keine Jobs f�r die Migration.\n"
 
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
 #, fuzzy, c-format
 msgid "Regex pattern matched no Jobs to %s.\n"
 msgstr "Regex pattern hat auf keine Jobs f�r die Migration zugetroffen.\n"
 
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
 #, c-format
 msgid "%s OK -- with warnings"
 msgstr "%s OK -- mit Warnungen"
 
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
 #, c-format
 msgid "%s OK"
 msgstr "%s OK"
 
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
 #, c-format
 msgid "*** %s Error ***"
 msgstr "*** %s Fehler ***"
 
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
 #, c-format
 msgid "%s Canceled"
 msgstr "%s Abgebrochen"
 
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
 #, c-format
 msgid "Inappropriate %s term code"
 msgstr "Unzutreffender %s Beendigungskode"
 
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
 #, fuzzy, c-format
 msgid "%s -- no files to %s"
 msgstr "%s -- keine Dateien zur Migration."
 
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -4416,17 +4441,17 @@ msgstr ""
 "  Beendigungsstatus:      %s\n"
 "\n"
 
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
 #, c-format
 msgid "No Next Pool specification found in Pool \"%s\".\n"
 msgstr "Keine \"Next Pool\" Spezifikation in Pool \"%s\" gefunden.\n"
 
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
 #, c-format
 msgid "No Storage specification found in Next Pool \"%s\".\n"
 msgstr "Keine \"Storage\" Spezifikation in \"Next Pool\" \"%s\" gefunden.\n"
 
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
 msgid "Storage from Pool's NextPool resource"
 msgstr "Storage aus der \"NextPool\" Ressource des Pools."
 
@@ -4434,44 +4459,44 @@ msgstr "Storage aus der \"NextPool\" Ressource des Pools."
 msgid "Choose item to prune"
 msgstr ""
 
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
 #, c-format
 msgid "Cannot prune Volume \"%s\" because it is archived.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
 msgid "Pruned Jobs from JobHisto catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
 #, fuzzy
 msgid "Begin pruning Files.\n"
 msgstr "Beginn automatische S�uberung von Dateien.\n"
 
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
 msgid "No Files found to prune.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
 #, c-format
 msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
 #, fuzzy, c-format
 msgid "Begin pruning Jobs older than %s.\n"
 msgstr "Beginn automatische S�uberung von Auftr�gen.\n"
 
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
 #, c-format
 msgid "Pruned %d %s for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
 msgid "Jobs"
 msgstr ""
 
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
 msgid "No Jobs found to prune.\n"
 msgstr ""
 
@@ -4496,52 +4521,60 @@ msgstr ""
 msgid "Job queued. JobId=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
 msgid "Job not run.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
 msgid "Level"
 msgstr ""
 
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
 #, fuzzy
 msgid "Restore Client"
 msgstr "Wiederherstellung l�uft..."
 
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
 #: src/wx-console/wxbrestorepanel.cpp:854
 #: src/wx-console/wxbrestorepanel.cpp:1918
 msgid "When"
 msgstr ""
 
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
 #: src/wx-console/wxbrestorepanel.cpp:1128
 #: src/wx-console/wxbrestorepanel.cpp:1921
 msgid "Priority"
 msgstr ""
 
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
 msgid "Verify Job"
 msgstr ""
 
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
 #: src/wx-console/wxbrestorepanel.cpp:1899
 msgid "Bootstrap"
 msgstr ""
 
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
 #: src/wx-console/wxbrestorepanel.cpp:1104
 #: src/wx-console/wxbrestorepanel.cpp:1901
 msgid "Where"
 msgstr ""
 
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
 #, fuzzy
 msgid "File Relocation"
 msgstr "File daemon"
 
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
 #: src/wx-console/wxbrestorepanel.cpp:1112
 #: src/wx-console/wxbrestorepanel.cpp:1905
 #: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4551,212 +4584,212 @@ msgstr "File daemon"
 msgid "Replace"
 msgstr ""
 
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
 msgid "JobId"
 msgstr ""
 
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
 msgid "Plugin Options"
 msgstr ""
 
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
 msgid "user selection"
 msgstr ""
 
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
 msgid ""
 "Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
 msgstr ""
 
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
 msgid "Invalid time, using current time.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
 msgid "Enter new Priority: "
 msgstr ""
 
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
 msgid "Priority must be a positive integer.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
 msgid "Please enter the Bootstrap file name: "
 msgstr ""
 
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
 #, c-format
 msgid "Warning cannot open %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
 msgid "Please enter the full path prefix for restore (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
 msgid "Replace:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
 msgid "Select replace option"
 msgstr ""
 
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
 msgid ""
 "You must set the bootstrap file to NULL to be able to specify a JobId.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
 msgid "Please Plugin Options string: "
 msgstr ""
 
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
 msgid "User input"
 msgstr ""
 
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
 #, c-format
 msgid "Invalid replace option: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
 msgid "This will replace your current Where value\n"
 msgstr ""
 
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
 msgid "Strip prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
 msgid "Add prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
 msgid "Add file suffix"
 msgstr ""
 
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
 msgid "Enter a regexp"
 msgstr ""
 
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
 msgid "Test filename manipulation"
 msgstr ""
 
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
 msgid "Use this ?"
 msgstr ""
 
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
 msgid "Please enter the path prefix to strip: "
 msgstr ""
 
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
 msgid "Please enter the path prefix to add (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
 msgid "Please enter the file suffix to add: "
 msgstr ""
 
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
 msgid "Please enter a valid regexp (!from!to!): "
 msgstr ""
 
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
 #, c-format
 msgid "regexwhere=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
 msgid "Cannot use your regexp\n"
 msgstr ""
 
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
 msgid "Enter a period (.) to stop this test\n"
 msgstr ""
 
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
 msgid "Please enter filename to test: "
 msgstr ""
 
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
 #, fuzzy, c-format
 msgid "%s -> %s\n"
 msgstr "  --> Run=%s\n"
 
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
 msgid "Cannot use your regexp.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
 msgid "Levels:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
 #: src/lib/util.c:472 src/filed/status.c:519
 msgid "Full"
 msgstr ""
 
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
 #: src/filed/status.c:522
 msgid "Incremental"
 msgstr ""
 
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
 #: src/filed/status.c:525
 msgid "Differential"
 msgstr ""
 
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
 #: src/filed/status.c:528
 msgid "Since"
 msgstr ""
 
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
 msgid "VirtualFull"
 msgstr ""
 
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
 msgid "Select level"
 msgstr ""
 
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
 msgid "Initialize Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
 #: src/filed/status.c:531
 msgid "Verify Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
 msgid "Verify Volume to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
 msgid "Verify Disk to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
 msgid "Verify Volume Data (not yet implemented)"
 msgstr ""
 
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
 msgid "Level not appropriate for this Job. Cannot be changed.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
 #, c-format
 msgid ""
 "Run Admin Job\n"
@@ -4768,7 +4801,7 @@ msgid ""
 "Priority: %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
 #, c-format
 msgid ""
 "Run Backup job\n"
@@ -4783,12 +4816,12 @@ msgid ""
 "%s%s%s"
 msgstr ""
 
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
 #, fuzzy, c-format
 msgid "Could not get job record for selected JobId. ERR=%s"
 msgstr "Konnte job record f�r JobId %s zum migrieren nicht holen. ERR=%s"
 
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
 #, c-format
 msgid ""
 "Run Verify Job\n"
@@ -4804,11 +4837,11 @@ msgid ""
 "Priority:    %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
 msgid "Please enter a JobId for restore: "
 msgstr ""
 
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4826,7 +4859,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4844,7 +4877,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4852,17 +4885,17 @@ msgid ""
 "Bootstrap:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
 #, c-format
 msgid "RegexWhere: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
 #, fuzzy, c-format
 msgid "Where:      %s\n"
 msgstr "      opcmd=%s\n"
 
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
 #, c-format
 msgid ""
 "Replace:         %s\n"
@@ -4875,225 +4908,225 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
 msgid "Run Copy job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
 #, fuzzy
 msgid "Run Migration job\n"
 msgstr "Konnte Migrationsjob nicht starten.\n"
 
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
 #, c-format
 msgid "Unknown Job Type=%d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
 #, c-format
 msgid "Value missing for keyword %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
 msgid "Job name specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
 msgid "JobId specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
 msgid "Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
 msgid "FileSet specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
 msgid "Level specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
 msgid "Storage specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
 msgid "RegexWhere or Where specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
 msgid "No authorization for \"regexwhere\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
 msgid "Where or RegexWhere specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
 msgid "No authoriztion for \"where\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
 msgid "Bootstrap specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
 msgid "Replace specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
 msgid "When specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
 msgid "Priority specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
 msgid "Priority must be positive nonzero setting it to 10.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
 msgid "Verify Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
 msgid "Migration Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
 msgid "Pool specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
 #, fuzzy
 msgid "Restore Client specified twice.\n"
 msgstr "Kein storage angegeben.\n"
 
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
 #, fuzzy
 msgid "Plugin Options not yet implemented.\n"
 msgstr "Kein storage angegeben.\n"
 
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
 #, fuzzy
 msgid "Plugin Options specified twice.\n"
 msgstr "Kein storage angegeben.\n"
 
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
 msgid "No authoriztion for \"PluginOptions\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
 #, fuzzy
 msgid "Spool flag specified twice.\n"
 msgstr "Kein storage angegeben.\n"
 
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
 #, fuzzy
 msgid "Invalid spooldata flag.\n"
 msgstr "Ung�ltige JobId gefunden.\n"
 
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
 #, fuzzy
 msgid "IgnoreDuplicateCheck flag specified twice.\n"
 msgstr "Kein storage angegeben.\n"
 
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
 #, fuzzy
 msgid "Invalid ignoreduplicatecheck flag.\n"
 msgstr "Ung�ltige JobId gefunden.\n"
 
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
 #, fuzzy
 msgid "Accurate flag specified twice.\n"
 msgstr "Kein storage angegeben.\n"
 
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
 #, fuzzy
 msgid "Invalid accurate flag.\n"
 msgstr "Ung�ltige JobId gefunden.\n"
 
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
 #, c-format
 msgid "Invalid keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
 #, c-format
 msgid "Catalog \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
 #, c-format
 msgid "No authorization. Catalog \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
 #, c-format
 msgid "Job \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
 msgid "A job name must be specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
 #, c-format
 msgid "No authorization. Job \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
 #, c-format
 msgid "Pool \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
 #, c-format
 msgid "No authorization. Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
 #, c-format
 msgid "Storage \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
 msgid "No storage specified.\n"
 msgstr "Kein storage angegeben.\n"
 
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
 #, c-format
 msgid "No authorization. Storage \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
 #, c-format
 msgid "No authorization. Client \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
 #, fuzzy, c-format
 msgid "Restore Client \"%s\" not found.\n"
 msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
 
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
 #, c-format
 msgid "FileSet \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
 #, c-format
 msgid "No authorization. FileSet \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
 #, c-format
 msgid "Verify Job \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
 #, c-format
 msgid "Migration Job \"%s\" not found.\n"
 msgstr ""
@@ -5151,25 +5184,25 @@ msgstr ""
 msgid "Start Backup JobId %s, Job=%s\n"
 msgstr "Start Sicherung JobId %s, Job=%s\n"
 
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
 #, c-format
 msgid "Unexpected Client Job message: %s\n"
 msgstr "Unerwartete Client Job Nachricht: %s\n"
 
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
 #, c-format
 msgid "Network error with FD during %s: ERR=%s\n"
 msgstr "Netzwerkfehler mit FD bei %s: ERR=%s\n"
 
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
 msgid "No Job status returned from FD.\n"
 msgstr "FD hat keinen Jobstatus zur�ckgegeben.\n"
 
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
 msgid "Backup failed -- incomplete"
 msgstr ""
 
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5239,14 +5272,14 @@ msgstr ""
 "  Beendigungsstatus:      %s\n"
 "\n"
 
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
 #, c-format
 msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
 msgstr ""
 "Konnte Job Volume Parameter  nicht holen um die Bootstrap Datei zu "
 "aktualisieren. ERR=%s\n"
 
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
 #, c-format
 msgid ""
 "Could not open WriteBootstrap file:\n"
@@ -5255,7 +5288,7 @@ msgstr ""
 "Konnte  WriteBootstrap nicht �ffnen. Datei:\n"
 "%s: ERR=%s\n"
 
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
 #, c-format
 msgid "Could not open bootstrap file %s: ERR=%s\n"
 msgstr "Kann  bootstrap Datei nicht �ffnen: %s: ERR=%s\n"
@@ -5270,40 +5303,40 @@ msgstr "Kann Storage resource %s nicht finden\n"
 msgid "Could not acquire read storage lock for \"%s\""
 msgstr "Kann Storage resource %s nicht finden\n"
 
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
 msgid ""
 "Cannot restore without a bootstrap file.\n"
 "You probably ran a restore job directly. All restore jobs must\n"
 "be run using the restore command.\n"
 msgstr ""
 
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
 #, c-format
 msgid "Start Restore Job %s\n"
 msgstr ""
 
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
 msgid "Restore OK -- warning file count mismatch"
 msgstr ""
 
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
 msgid "Restore OK"
 msgstr ""
 
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
 #, fuzzy
 msgid "Restore OK -- with warnings"
 msgstr "%s OK -- mit Warnungen"
 
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
 msgid "*** Restore Error ***"
 msgstr ""
 
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
 msgid "Restore Canceled"
 msgstr ""
 
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5348,7 +5381,7 @@ msgstr ""
 msgid "Select daemon type for status"
 msgstr ""
 
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s\n"
 msgstr ""
@@ -5358,7 +5391,7 @@ msgstr ""
 msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
 msgstr ""
 
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
 #, c-format
 msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
 msgstr ""
@@ -5415,7 +5448,7 @@ msgstr ""
 msgid "No Scheduled Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
 msgid ""
 "\n"
 "Running Jobs:\n"
@@ -5581,13 +5614,13 @@ msgstr ""
 msgid "No Terminated Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
 msgid ""
 "\n"
 "Terminated Jobs:\n"
 msgstr ""
 
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
 msgid " JobId  Level    Files      Bytes   Status   Finished        Name \n"
 msgstr ""
 
@@ -5595,42 +5628,42 @@ msgstr ""
 msgid "====================================================================\n"
 msgstr ""
 
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
 #: src/filed/status.c:363
 msgid "Created"
 msgstr ""
 
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
 #: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
 msgid "Error"
 msgstr ""
 
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
 msgid "Diffs"
 msgstr ""
 
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
 #: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
 #: src/wx-console/wxbconfigpanel.cpp:209
 msgid "OK"
 msgstr ""
 
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
 #: src/lib/util.c:327
 #, fuzzy
 msgid "OK -- with warnings"
 msgstr "%s OK -- mit Warnungen"
 
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
 msgid "Other"
 msgstr ""
 
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
 #, c-format
 msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
 msgstr ""
 
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
 #, c-format
 msgid "%6d  %-6s %8s %10s  %-7s  %-8s %s\n"
 msgstr ""
@@ -5804,7 +5837,7 @@ msgstr ""
 msgid "Job DiffPool override"
 msgstr ""
 
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
 #, c-format
 msgid "Could not create Client record. ERR=%s\n"
 msgstr "Konnte Client Eintrag nicht anlegen. ERR=%s\n"
@@ -6157,7 +6190,17 @@ msgstr "Storage daemon hat \"Job command\": %s abgelehnt\n"
 msgid "<stored: bad response to Job command: %s\n"
 msgstr "<stored: falsche Antwort auf  Job Kommando: %s\n"
 
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr "unbekannt"
+
+#: src/dird/msgchan.c:311
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
+
+#: src/dird/msgchan.c:318
 #, c-format
 msgid ""
 "\n"
@@ -6168,7 +6211,7 @@ msgstr ""
 "     Storage daemon hat Device \"%s\" nicht akzeptiert weil:\n"
 "     %s"
 
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
 #, c-format
 msgid ""
 "\n"
@@ -6177,17 +6220,12 @@ msgstr ""
 "\n"
 "     Storage daemon hat Device \"%s\" Kommando nicht akzeptiert.\n"
 
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
 #, c-format
 msgid "Cannot create message thread: %s\n"
 msgstr "Kann \"message thread\" nicht erzeugen: %s\n"
 
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
 msgid "Director's comm line to SD dropped.\n"
 msgstr ""
 
@@ -6656,26 +6694,26 @@ msgstr "Director und File daemon Passworte oder Namen sind nicht gleich.\n"
 msgid "Unable to initialize reservation lock. ERR=%s\n"
 msgstr ""
 
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
 #, c-format
 msgid "Hey! num_writers=%d!!!!\n"
 msgstr ""
 
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
 msgid "3939 Could not get dcr\n"
 msgstr ""
 
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
 #, fuzzy, c-format
 msgid "Device reservation failed for JobId=%d: %s\n"
 msgstr "Mehr als ein Dateiname! %s f�r Datei: %s\n"
 
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
 #, c-format
 msgid "Failed command: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
 #, c-format
 msgid ""
 "\n"
@@ -6683,85 +6721,85 @@ msgid ""
 "does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
 #, c-format
 msgid ""
 "\n"
 "     Device \"%s\" requested by DIR could not be opened or does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
 #, c-format
 msgid "3926 Could not get dcr for device: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
 #, c-format
 msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
 #, c-format
 msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
 msgstr ""
 
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
 #, c-format
 msgid "3603 JobId=%u device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
 #, c-format
 msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
 #, c-format
 msgid ""
 "3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
 "%s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
 #, c-format
 msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
 #, c-format
 msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
 #, c-format
 msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
 msgstr ""
 
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
 #, c-format
 msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
 #, c-format
 msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
 #, c-format
 msgid "Logic error!!!! JobId=%u Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
 #, c-format
 msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
 msgid "Logic error!!!! Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
 #, c-format
 msgid "3911 JobId=%u failed reserve drive %s.\n"
 msgstr ""
@@ -6908,7 +6946,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
 msgstr ""
 
 #: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
 #, c-format
 msgid "Mount Volume \"%s\" on device %s and press return when ready: "
 msgstr ""
@@ -7204,7 +7242,7 @@ msgstr "unbekannt"
 msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
 #, c-format
 msgid ""
 "Bootstrap file error: %s\n"
@@ -7212,154 +7250,154 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
 #, c-format
 msgid "Cannot open bootstrap file %s: %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
 #, c-format
 msgid "MediaType %s in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
 #, c-format
 msgid "Device \"%s\" in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
 #, fuzzy, c-format
 msgid "REGEX '%s' compile error. ERR=%s\n"
 msgstr "Regex �bersetzungsfehler. ERR=%s\n"
 
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
 msgid "JobType not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
 msgid "JobLevel not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
 #, c-format
 msgid "Slot %d in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
 #, c-format
 msgid "VolFile     : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
 #, c-format
 msgid "VolBlock    : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
 #, c-format
 msgid "VolAddr    : %llu-%llu\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
 #, c-format
 msgid "FileIndex   : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
 #, c-format
 msgid "FileIndex   : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
 #, c-format
 msgid "JobId       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
 #, c-format
 msgid "JobId       : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
 #, c-format
 msgid "SessId      : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
 #, c-format
 msgid "SessId      : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
 #, c-format
 msgid "VolumeName  : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
 #, c-format
 msgid "  MediaType : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
 #, c-format
 msgid "  Device    : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
 #, c-format
 msgid "  Slot      : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
 #, c-format
 msgid "Client      : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
 #, c-format
 msgid "Job          : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
 #, c-format
 msgid "SessTime    : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
 msgid "BSR is NULL\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
 #, c-format
 msgid "Next        : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
 #, c-format
 msgid "Root bsr    : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
 #, c-format
 msgid "count       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
 #, c-format
 msgid "found       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
 #, c-format
 msgid "done        : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
 #, c-format
 msgid "positioning : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
 #, c-format
 msgid "fast_reject : %d\n"
 msgstr ""
@@ -7444,7 +7482,7 @@ msgid "Unable to set network buffer size.\n"
 msgstr ""
 
 #: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
 msgid "NULL Volume name. This shouldn't happen!!!\n"
 msgstr ""
 
@@ -7553,7 +7591,7 @@ msgstr ""
 msgid "Volume on %s has bad Bacula label type: %x\n"
 msgstr ""
 
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
 #, fuzzy, c-format
 msgid "Could not reserve volume %s on %s\n"
 msgstr "Konnte FileSet \"%s\" Eintrag nicht erzeugen. ERR=%s\n"
@@ -7563,7 +7601,7 @@ msgstr "Konnte FileSet \"%s\" Eintrag nicht erzeugen. ERR=%s\n"
 msgid "Cannot write Volume label to block for device %s\n"
 msgstr ""
 
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
 #, fuzzy, c-format
 msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr "Erzeugung von db Device Eintrag %s fehlgeschlagen: ERR=%s\n"
@@ -7729,82 +7767,102 @@ msgstr ""
 msgid "Used Volume status:\n"
 msgstr ""
 
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
 msgid ""
-"====\n"
 "\n"
+"SD Resources:\n"
 msgstr ""
 
-#: src/stored/status.c:128
+#: src/stored/status.c:153
 msgid ""
 "\n"
 "Device status:\n"
 msgstr ""
 
-#: src/stored/status.c:132
+#: src/stored/status.c:157
 #, c-format
 msgid "Autochanger \"%s\" with devices:\n"
 msgstr ""
 
-#: src/stored/status.c:150
+#: src/stored/status.c:177
 #, c-format
 msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
 "    Volume:      %s\n"
 "    Pool:        %s\n"
 "    Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+#, fuzzy
+msgid "*unknown*"
+msgstr "unbekannt"
+
+#: src/stored/status.c:188
 #, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
 msgstr ""
 
-#: src/stored/status.c:171
+#: src/stored/status.c:199
 #, c-format
 msgid "    Total Bytes=%s Blocks=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:186
+#: src/stored/status.c:214
 #, c-format
 msgid "    Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:192
+#: src/stored/status.c:220
 #, c-format
 msgid "    Positioned at File=%s Block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:199
-#, c-format
-msgid "Device %s is not open.\n"
-msgstr ""
+#: src/stored/status.c:227
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s is not open.\n"
+msgstr "unbekannt"
 
-#: src/stored/status.c:203
-#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
-msgstr ""
+#: src/stored/status.c:231
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
+msgstr "unbekannt"
 
-#: src/stored/status.c:225
+#: src/stored/status.c:255
 #, c-format
 msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
 msgstr ""
 
-#: src/stored/status.c:248
+#: src/stored/status.c:293
 msgid ""
 "No DEVICE structure.\n"
 "\n"
 msgstr ""
 
-#: src/stored/status.c:254
+#: src/stored/status.c:299
 msgid "    Device is BLOCKED. User unmounted.\n"
 msgstr ""
 
-#: src/stored/status.c:258
+#: src/stored/status.c:303
 msgid "    Device is BLOCKED. User unmounted during wait for media/mount.\n"
 msgstr ""
 
-#: src/stored/status.c:270
+#: src/stored/status.c:313
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7812,7 +7870,7 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:279
+#: src/stored/status.c:322
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting to create a volume for:\n"
@@ -7820,172 +7878,166 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:291
+#: src/stored/status.c:333
 msgid "    Device is BLOCKED waiting for media.\n"
 msgstr ""
 
-#: src/stored/status.c:297
+#: src/stored/status.c:339
 msgid "    Device is being initialized.\n"
 msgstr ""
 
-#: src/stored/status.c:301
+#: src/stored/status.c:343
 msgid "    Device is blocked labeling a Volume.\n"
 msgstr ""
 
-#: src/stored/status.c:310
+#: src/stored/status.c:352
 #, c-format
-msgid "    Slot %d is loaded in drive %d.\n"
+msgid "    Slot %d %s loaded in drive %d.\n"
 msgstr ""
 
-#: src/stored/status.c:314
+#: src/stored/status.c:356
 #, c-format
 msgid "    Drive %d is not loaded.\n"
 msgstr ""
 
-#: src/stored/status.c:317
-#, fuzzy, c-format
-msgid "    Drive %d status unknown.\n"
-msgstr "unbekannt"
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
 #, c-format
 msgid "Configured device capabilities:\n"
 msgstr ""
 
-#: src/stored/status.c:349
+#: src/stored/status.c:389
 msgid "Device state:\n"
 msgstr ""
 
-#: src/stored/status.c:367
+#: src/stored/status.c:405
 #, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid "  num_writers=%d reserves=%d block=%d\n"
 msgstr ""
 
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:409
+#, fuzzy
+msgid "Attached Jobs: "
+msgstr "ist nicht aktiviert"
+
+#: src/stored/status.c:427 src/stored/btape.c:720
 #, c-format
 msgid "Device parameters:\n"
 msgstr ""
 
-#: src/stored/status.c:374
+#: src/stored/status.c:429
 #, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid "  Archive name: %s Device name: %s\n"
 msgstr ""
 
-#: src/stored/status.c:378
+#: src/stored/status.c:432
 #, c-format
-msgid "File=%u block=%u\n"
+msgid "  File=%u block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:381
+#: src/stored/status.c:434
 #, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid "  Min block=%u Max block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:401
+#: src/stored/status.c:455
 #, c-format
 msgid "%s Job %s waiting for Client connection.\n"
 msgstr ""
 
-#: src/stored/status.c:417
+#: src/stored/status.c:471
 #, c-format
 msgid ""
 "Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:430
+#: src/stored/status.c:484
 #, c-format
 msgid ""
 "Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:441
+#: src/stored/status.c:495
 #, c-format
 msgid "    spooling=%d despooling=%d despool_wait=%d\n"
 msgstr ""
 
-#: src/stored/status.c:450
-#, c-format
-msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
-msgstr ""
+#: src/stored/status.c:511
+#, fuzzy, c-format
+msgid "    Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
+msgstr "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 
-#: src/stored/status.c:458
+#: src/stored/status.c:523
 #, c-format
 msgid "    FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
 msgstr ""
 
-#: src/stored/status.c:464
+#: src/stored/status.c:529
 msgid "    FDSocket closed\n"
 msgstr ""
 
-#: src/stored/status.c:485
+#: src/stored/status.c:550
 msgid ""
 "\n"
 "Jobs waiting to reserve a drive:\n"
 msgstr ""
 
-#: src/stored/status.c:516
+#: src/stored/status.c:581
 msgid "===================================================================\n"
 msgstr ""
 
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
 msgid "Base"
 msgstr ""
 
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
 msgid "Init Catalog"
 msgstr ""
 
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
 msgid "Volume to Catalog"
 msgstr ""
 
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
 msgid "Disk to Catalog"
 msgstr ""
 
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
 msgid "Data"
 msgstr ""
 
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
 msgid "Unknown Job Level"
 msgstr ""
 
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
 #, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
+msgid "3900 No arg in .status command: %s\n"
 msgstr ""
 
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
-msgstr ""
+#: src/stored/status.c:811
+#, fuzzy, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
+msgstr "unbekannt"
 
-#: src/stored/status.c:760
+#: src/stored/status.c:826
 msgid "Bacula Storage: Idle"
 msgstr ""
 
-#: src/stored/status.c:771
+#: src/stored/status.c:837
 msgid "Bacula Storage: Running"
 msgstr ""
 
-#: src/stored/status.c:785
+#: src/stored/status.c:851
 msgid "Bacula Storage: Last Job Canceled"
 msgstr ""
 
-#: src/stored/status.c:789
+#: src/stored/status.c:855
 msgid "Bacula Storage: Last Job Failed"
 msgstr ""
 
-#: src/stored/status.c:793
+#: src/stored/status.c:859
 msgid "Bacula Storage: Last Job had Warnings"
 msgstr ""
 
@@ -8100,7 +8152,7 @@ msgid "%u files restored.\n"
 msgstr ""
 
 #: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
 #, c-format
 msgid "Write error on %s: %s\n"
 msgstr ""
@@ -8109,7 +8161,7 @@ msgstr ""
 msgid "Logic error output file should be open but is not.\n"
 msgstr ""
 
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
 #, c-format
 msgid "%s stream not supported on this Client.\n"
 msgstr ""
@@ -8125,7 +8177,7 @@ msgid "Seek error on %s: %s\n"
 msgstr ""
 
 #: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
 #, c-format
 msgid "Seek to %s error on %s: ERR=%s\n"
 msgstr ""
@@ -8135,16 +8187,16 @@ msgstr ""
 msgid "Uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
 msgid "GZIP data stream found, but GZIP not configured!\n"
 msgstr ""
 
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
 #, c-format
 msgid "Compressed header version error. version=0x%x\n"
 msgstr ""
 
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
 #, c-format
 msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
 msgstr ""
@@ -8154,7 +8206,7 @@ msgstr ""
 msgid "LZO uncompression error. ERR=%d\n"
 msgstr "Regex �bersetzungsfehler. ERR=%s\n"
 
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
 #, c-format
 msgid "Compression algorithm 0x%x found, but not supported!\n"
 msgstr ""
@@ -8163,7 +8215,7 @@ msgstr ""
 msgid "Got Program Name or Data Stream. Ignored.\n"
 msgstr ""
 
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
 #, c-format
 msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
 msgstr ""
@@ -8368,125 +8420,125 @@ msgstr ""
 msgid "Unexpected Tape is Off-line\n"
 msgstr ""
 
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
 #, c-format
 msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
 #, fuzzy, c-format
 msgid "No volumes specified for reading. Job %s canceled.\n"
 msgstr "Weder storage noch Pool in Job \"%s\" definiert.\n"
 
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
 #, c-format
 msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
 msgstr ""
 
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
 #, c-format
 msgid ""
 "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
 "  device=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
 #, c-format
 msgid "Media Type change.  New read device %s chosen.\n"
 msgstr ""
 
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
 #, c-format
 msgid "No suitable device found to read Volume \"%s\"\n"
 msgstr ""
 
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
 #, c-format
 msgid "Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
 #, c-format
 msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
 #, c-format
 msgid "Too many errors trying to mount device %s for reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
 #, c-format
 msgid "Ready to read from volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
 #, c-format
 msgid "Want to append, but device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
 #, c-format
 msgid "Could not ready device %s for append.\n"
 msgstr ""
 
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
 #: src/stored/block.c:769 src/stored/block.c:847
 #, c-format
 msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
 #, c-format
 msgid "Alert: %s"
 msgstr ""
 
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
 #, c-format
 msgid "3997 Bad alert command: %s: ERR=%s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
 #: src/lib/openssl.c:122 src/lib/openssl.c:181
 #, c-format
 msgid "Unable to init mutex: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
+
+#: src/stored/askdir.c:179
 msgid "Network error on bnet_recv in req_vol_info.\n"
 msgstr ""
 
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
 #, c-format
 msgid "Error getting Volume info: %s"
 msgstr ""
 
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
 #, c-format
 msgid "Didn't get vol info vol=%s: ERR=%s"
 msgstr ""
 
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
 #, c-format
 msgid "Error creating JobMedia record: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
 #, c-format
 msgid "Error creating JobMedia record: %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
 msgstr ""
 
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
 #, c-format
 msgid ""
 "Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8496,45 +8548,45 @@ msgid ""
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
 #, c-format
 msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
 msgid "pthread error in mount_next_volume.\n"
 msgstr ""
 
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
 msgid "Cannot request another volume: no volume name given.\n"
 msgstr ""
 
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
 msgstr ""
 
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
 msgid "pthread error in mount_volume\n"
 msgstr ""
 
@@ -8882,32 +8934,32 @@ msgstr ""
 msgid "Attempt to open read on non-open session.\n"
 msgstr ""
 
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
 #, c-format
 msgid "Too many errors trying to mount device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
 #, c-format
 msgid "Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
 #, c-format
 msgid "Volume \"%s\" previously written, moving to end of data.\n"
 msgstr ""
 
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
 #, c-format
 msgid "Unable to position to end of data on device %s: ERR=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
 #, c-format
 msgid "Volume \"%s\" not on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
 #, c-format
 msgid ""
 "Director wanted Volume \"%s\".\n"
@@ -8915,24 +8967,24 @@ msgid ""
 "    %s"
 msgstr ""
 
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
 #, c-format
 msgid ""
 "Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
 msgstr ""
 
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8940,24 +8992,24 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
 #, fuzzy
 msgid "Error updating Catalog\n"
 msgstr "Fehler beim holen von Zeile: %s\n"
 
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
 #, c-format
 msgid ""
 "Bacula cannot write on tape Volume \"%s\" because:\n"
 "The number of files mismatch! Volume=%u Catalog=%u\n"
 msgstr ""
 
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8965,46 +9017,46 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
 #, c-format
 msgid ""
 "Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
 #, c-format
 msgid "Labeled new Volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
 #, fuzzy, c-format
 msgid "Device %s not configured to autolabel Volumes.\n"
 msgstr "TLS ben�tigt aber nicht konfiguriert in Bacula.\n"
 
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
 #, c-format
 msgid "Marking Volume \"%s\" in Error in Catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
 #, c-format
 msgid ""
 "Autochanger Volume \"%s\" not found in slot %d.\n"
 "    Setting InChanger to zero in catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
 msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
 msgstr ""
 
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
 #, c-format
 msgid ""
 "Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
 msgstr ""
 
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
 #, c-format
 msgid "Cannot open Dev=%s, Vol=%s\n"
 msgstr ""
@@ -9090,7 +9142,7 @@ msgid ""
 "Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
 msgstr ""
 
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
 #, c-format
 msgid "Ftruncate spool file failed: ERR=%s\n"
 msgstr ""
@@ -9120,78 +9172,87 @@ msgstr ""
 msgid "Spool data read error. Wanted %u bytes, got %d\n"
 msgstr ""
 
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr ""
+
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
 msgstr ""
 
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
 msgid "Bad return from despool in write_block.\n"
 msgstr ""
 
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
 msgid "Spooling data again ...\n"
 msgstr ""
 
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
 #, c-format
 msgid "Error writing header to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
 #, c-format
 msgid ""
 "Error writing header to spool file. Disk probably full. Attempting recovery. "
 "Wanted to write=%d got=%d\n"
 msgstr ""
 
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
 msgid "Fatal despooling error."
 msgstr ""
 
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
 msgid "Retrying after header spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
 #, c-format
 msgid "Error writing data to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
 msgid "Retrying after data spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
 #, fuzzy
 msgid "Network error on BlastAttributes.\n"
 msgstr "<filed: Netzwerkfehler beim Holen der Attribute. ERR=%s\n"
 
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
 #, c-format
 msgid "Fseek on attributes file failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
 #, fuzzy, c-format
 msgid "Truncate on attributes file failed: ERR=%s\n"
 msgstr "Abfrage gescheitert: %s: ERR=%s\n"
 
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
 #, c-format
 msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
 msgstr ""
 
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
 #, c-format
 msgid "fopen attr spool file %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
 #, fuzzy, c-format
 msgid "pthread_cond_wait failure. ERR=%s\n"
 msgstr "pthread_cond_wait: ERR=%s\n"
 
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
 #, fuzzy
 msgid "unknown blocked code"
 msgstr "unbekannt"
@@ -9312,6 +9373,21 @@ msgstr ""
 msgid "Unable to init cond variable: ERR=%s\n"
 msgstr ""
 
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
+
 #: src/stored/dev.c:416
 msgid "Illegal mode given to open dev.\n"
 msgstr ""
@@ -9660,7 +9736,7 @@ msgstr ""
 msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
 msgstr ""
 
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
 msgstr ""
@@ -9718,107 +9794,107 @@ msgstr ""
 msgid "Got Prog Data Stream record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
 #, c-format
 msgid "Unknown stream type!!! stream=%d len=%i\n"
 msgstr ""
 
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
 #, c-format
 msgid "Could not create File Attributes record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
 #, c-format
 msgid "Created File record: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
 #, c-format
 msgid "Could not create media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
 #, c-format
 msgid "Could not update media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
 #, c-format
 msgid "Created Media record for Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
 #, c-format
 msgid "Updated Media record at end of Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
 #, c-format
 msgid "Could not create pool record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
 #, c-format
 msgid "Created Pool record for Pool: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
 #, fuzzy, c-format
 msgid "Could not get Client record. ERR=%s\n"
 msgstr "Konnte Client Eintrag nicht anlegen. ERR=%s\n"
 
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
 #, c-format
 msgid "Created Client record for Client: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
 #, c-format
 msgid "Fileset \"%s\" already exists.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
 #, c-format
 msgid "Could not create FileSet record \"%s\". ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
 #, c-format
 msgid "Created FileSet record \"%s\"\n"
 msgstr ""
 
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
 #, c-format
 msgid "Could not create JobId record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
 #, c-format
 msgid "Could not update job start record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
 #, c-format
 msgid "Created new JobId=%u record for original JobId=%u\n"
 msgstr ""
 
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
 #, c-format
 msgid "Could not update JobId=%u record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
 #, c-format
 msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
 msgstr ""
 
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
 #, c-format
 msgid "Job Termination code: %d"
 msgstr ""
 
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
 #, c-format
 msgid ""
 "%s\n"
@@ -9838,27 +9914,27 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
 #, c-format
 msgid "Could not create JobMedia record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
 #, c-format
 msgid "Created JobMedia record JobId %d, MediaId %d\n"
 msgstr ""
 
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
 #, c-format
 msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
 msgid "Updated MD5/SHA1 record\n"
 msgstr ""
 
@@ -11972,40 +12048,40 @@ msgstr ""
 "F�r Hilfe bitte unter http://www.bacula.org/rel-manual/faq."
 "html#AuthorizationErrors nachsehen.\n"
 
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
 #, c-format
 msgid "Could not open console message file %s: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:376
+#: src/lib/message.c:377
 #, c-format
 msgid "Could not get con mutex: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:481
+#: src/lib/message.c:482
 msgid "Bacula Message"
 msgstr ""
 
-#: src/lib/message.c:485
+#: src/lib/message.c:486
 #, c-format
 msgid "open mail pipe %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:553
+#: src/lib/message.c:577
 msgid "open mail pipe failed.\n"
 msgstr ""
 
-#: src/lib/message.c:565
+#: src/lib/message.c:590
 #, c-format
 msgid "close error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:576
+#: src/lib/message.c:601
 #, c-format
 msgid "Mail prog: %s"
 msgstr ""
 
-#: src/lib/message.c:585
+#: src/lib/message.c:610
 #, c-format
 msgid ""
 "Mail program terminated in error.\n"
@@ -12013,12 +12089,16 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:684
+#: src/lib/message.c:713
 #, c-format
 msgid "fopen %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
 #, c-format
 msgid ""
 "Msg delivery error: Operator mail program terminated in error.\n"
@@ -12026,77 +12106,77 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:878
+#: src/lib/message.c:911
 #, fuzzy, c-format
 msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
 #, c-format
 msgid "%s: ABORTING due to ERROR in %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
 #, c-format
 msgid "%s: ERROR TERMINATION at %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
 #, c-format
 msgid "%s: Fatal Error because: "
 msgstr ""
 
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
 #, c-format
 msgid "%s: Fatal Error at %s:%d because:\n"
 msgstr ""
 
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
 #, c-format
 msgid "%s: ERROR: "
 msgstr ""
 
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
 #, c-format
 msgid "%s: ERROR in %s:%d "
 msgstr ""
 
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
 #, c-format
 msgid "%s: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
 #, c-format
 msgid "%s: Security violation: "
 msgstr ""
 
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
 #, c-format
 msgid "%s ABORTING due to ERROR\n"
 msgstr ""
 
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
 #, c-format
 msgid "%s ERROR TERMINATION\n"
 msgstr ""
 
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
 #, c-format
 msgid "%s JobId %u: Fatal error: "
 msgstr ""
 
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
 #, c-format
 msgid "%s JobId %u: Error: "
 msgstr ""
 
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
 #, c-format
 msgid "%s JobId %u: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
 #, c-format
 msgid "%s JobId %u: Security violation: "
 msgstr ""
@@ -12150,71 +12230,6 @@ msgstr ""
 msgid "Could not destroy client queue: ERR=%s\n"
 msgstr ""
 
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
 #: src/lib/bpipe.c:361 src/lib/bpipe.c:444
 msgid "Program killed by Bacula (timeout)\n"
 msgstr ""
@@ -12673,7 +12688,7 @@ msgstr ""
 msgid "Truncate"
 msgstr ""
 
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
 msgid "None"
 msgstr ""
 
@@ -12724,7 +12739,7 @@ msgstr ""
 
 #: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
 #: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
 msgid "*none*"
 msgstr ""
 
@@ -12942,20 +12957,20 @@ msgstr ""
 msgid "pthread_setspecific failed: ERR=%s\n"
 msgstr "Media id select fehlgeschlagen: ERR=%s\n"
 
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Storage "
 "daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -13141,203 +13156,271 @@ msgstr ""
 msgid "Invalid errno. No error message possible."
 msgstr ""
 
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
 #: src/lib/signal.c:67
 msgid "Invalid signal number"
 msgstr ""
 
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
 #, c-format
 msgid "Bacula interrupted by signal %d: %s\n"
 msgstr ""
 
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
 #, c-format
 msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
 msgstr ""
 
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
 #, c-format
 msgid "Kaboom! exepath=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
 #, c-format
 msgid "Fork error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
 #, c-format
 msgid "Calling: %s %s %s %s\n"
 msgstr ""
 
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
 #, c-format
 msgid "execv: %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
 #, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
 msgstr ""
 
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
 #, c-format
 msgid "BA_NSIG too small (%d) should be (%d)\n"
 msgstr ""
 
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
 msgid "UNKNOWN SIGNAL"
 msgstr ""
 
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
 msgid "Hangup"
 msgstr ""
 
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
 msgid "Interrupt"
 msgstr ""
 
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
 msgid "Quit"
 msgstr ""
 
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
 msgid "Illegal instruction"
 msgstr ""
 
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
 msgid "Trace/Breakpoint trap"
 msgstr ""
 
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
 msgid "Abort"
 msgstr ""
 
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
 msgid "EMT instruction (Emulation Trap)"
 msgstr ""
 
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
 msgid "IOT trap"
 msgstr ""
 
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
 msgid "BUS error"
 msgstr ""
 
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
 msgid "Floating-point exception"
 msgstr ""
 
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
 msgid "Kill, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
 msgid "User-defined signal 1"
 msgstr ""
 
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
 msgid "Segmentation violation"
 msgstr ""
 
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
 msgid "User-defined signal 2"
 msgstr ""
 
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
 msgid "Broken pipe"
 msgstr ""
 
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
 msgid "Alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
 msgid "Termination"
 msgstr ""
 
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
 msgid "Stack fault"
 msgstr ""
 
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
 msgid "Child status has changed"
 msgstr ""
 
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
 msgid "Continue"
 msgstr ""
 
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
 msgid "Stop, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
 msgid "Keyboard stop"
 msgstr ""
 
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
 msgid "Background read from tty"
 msgstr ""
 
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
 msgid "Background write to tty"
 msgstr ""
 
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
 msgid "Urgent condition on socket"
 msgstr ""
 
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
 msgid "CPU limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
 msgid "File size limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
 msgid "Virtual alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
 msgid "Profiling alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
 msgid "Window size change"
 msgstr ""
 
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
 msgid "I/O now possible"
 msgstr ""
 
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
 msgid "Power failure restart"
 msgstr ""
 
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
 msgid "No runnable lwp"
 msgstr ""
 
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
 msgid "SIGLWP special signal used by thread library"
 msgstr ""
 
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
 msgid "Checkpoint Freeze"
 msgstr ""
 
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
 msgid "Checkpoint Thaw"
 msgstr ""
 
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
 msgid "Thread Cancellation"
 msgstr ""
 
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
 msgid "Resource Lost (e.g. record-lock lost)"
 msgstr ""
 
@@ -13363,47 +13446,47 @@ msgstr ""
 msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr "Konnte regex pattern \"%s\" nicht kompilieren ERR=%s\n"
 
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
 #, c-format
 msgid "Out of memory: ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
 msgid "Buffer overflow.\n"
 msgstr ""
 
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
 msgid "Bad errno"
 msgstr ""
 
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
 #, c-format
 msgid "Memset for %d bytes at %s:%d\n"
 msgstr ""
 
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
 #, c-format
 msgid "Cannot open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
 #, c-format
 msgid ""
 "%s is already running. pid=%d\n"
 "Check file %s\n"
 msgstr ""
 
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
 #, c-format
 msgid "Could not open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
 #, c-format
 msgid "Could not create state file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
 #, c-format
 msgid "Write final hdr error: ERR=%s\n"
 msgstr ""
@@ -13451,98 +13534,98 @@ msgstr ""
 msgid "Close of NULL file\n"
 msgstr ""
 
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
 msgid ""
 "get_char: called after EOF. You may have a open double quote without the "
 "closing double quote.\n"
 msgstr ""
 
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
 #, c-format
 msgid "Config token too long, file: %s, line %d, begins at line %d\n"
 msgstr ""
 
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
 msgid "none"
 msgstr ""
 
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
 msgid "comment"
 msgstr ""
 
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
 msgid "number"
 msgstr ""
 
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
 msgid "ip_addr"
 msgstr ""
 
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
 msgid "identifier"
 msgstr ""
 
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
 msgid "string"
 msgstr ""
 
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
 msgid "quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
 msgid "include"
 msgstr ""
 
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
 msgid "include_quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
 msgid "UTF-8 Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
 msgid "UTF-16le Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
 #, c-format
 msgid "expected a positive integer number, got: %s"
 msgstr ""
 
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
 msgid ""
 "This config file appears to be in an unsupported Unicode format (UTF-16be). "
 "Please resave as UTF-8\n"
 msgstr ""
 
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
 #, c-format
 msgid "Cannot open included config file %s: %s\n"
 msgstr ""
 
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
 #, c-format
 msgid "expected an integer or a range, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
 #, c-format
 msgid "expected an integer number, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
 #, c-format
 msgid "expected a name, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
 #, c-format
 msgid "name %s length %d too long, max is %d\n"
 msgstr ""
 
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
 #, c-format
 msgid "expected a string, got %s: %s"
 msgstr ""
@@ -14221,42 +14304,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
 msgid "NetBSD Specific Extended attribs"
 msgstr ""
 
@@ -14270,27 +14365,27 @@ msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
 msgid "Unknown include/exclude option: %c\n"
 msgstr ""
 
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
 #, c-format
 msgid "     NODUMP flag set - will not process %s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
 #, fuzzy, c-format
 msgid "Cannot stat file %s: ERR=%s\n"
 msgstr "Kann  bootstrap Datei nicht �ffnen: %s: ERR=%s\n"
 
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
 #, c-format
 msgid "%s mtime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
 #, c-format
 msgid "%s ctime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
 #, c-format
 msgid "%s size changed during backup.\n"
 msgstr ""
@@ -16116,6 +16211,11 @@ msgstr ""
 msgid " SDSocket=closed\n"
 msgstr ""
 
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
 #: src/filed/status.c:464
 msgid "2900 Bad .status command, missing argument.\n"
 msgstr ""
@@ -16144,276 +16244,276 @@ msgstr ""
 msgid "Bacula Client: Last Job had Warnings"
 msgstr ""
 
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
 #: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
 #, c-format
 msgid "Network send error to SD. ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
 #, c-format
 msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
 #, c-format
 msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
 #, fuzzy, c-format
 msgid "llistea error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
 #, fuzzy, c-format
 msgid "lgetea error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
 #, c-format
 msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
 msgstr ""
 
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
 #, c-format
 msgid "Failed to serialize extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
 #, fuzzy, c-format
 msgid "lsetea error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
 #, fuzzy, c-format
 msgid "attr_list error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
 #, fuzzy, c-format
 msgid "Received illegal xattr named %s on file \"%s\"\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
 #, fuzzy, c-format
 msgid "attr_set error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
 #, fuzzy, c-format
 msgid "llistxattr error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
 #, fuzzy, c-format
 msgid "lgetxattr error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
 #, fuzzy, c-format
 msgid "lsetxattr error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
 #, fuzzy, c-format
 msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
 #, fuzzy, c-format
 msgid "Failed to convert %d into namespace on file \"%s\"\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
 #, fuzzy, c-format
 msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
 #, fuzzy, c-format
 msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
 msgstr "<filed: Netzwerkfehler beim Holen der Attribute. ERR=%s\n"
 
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
 #, fuzzy, c-format
 msgid "Failed to convert %s into namespace on file \"%s\"\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
 #, fuzzy, c-format
 msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
 #, fuzzy, c-format
 msgid "getproplist error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
 #, fuzzy, c-format
 msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
 #, fuzzy, c-format
 msgid "setproplist error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
 #, fuzzy, c-format
 msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
 #, fuzzy, c-format
 msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
 #, fuzzy, c-format
 msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
 #, fuzzy, c-format
 msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
 msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
 
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
 #, fuzzy, c-format
 msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
 msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
 
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
 #, fuzzy, c-format
 msgid "Unable to read content of xattr %s on file \"%s\"\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
 #, fuzzy, c-format
 msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
 #, fuzzy, c-format
 msgid "Unable to open file \"%s\": ERR=%s\n"
 msgstr "Kann Datenbank=%s.nicht �ffen. ERR=%s\n"
 
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
 #, fuzzy, c-format
 msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
 #, fuzzy, c-format
 msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
 #, fuzzy, c-format
 msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
 #, fuzzy, c-format
 msgid "Unable to convert acl from text on file \"%s\"\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
 #, fuzzy, c-format
 msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
 #, fuzzy, c-format
 msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
 #, fuzzy, c-format
 msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
 #, fuzzy, c-format
 msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
 #, fuzzy, c-format
 msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
 #, fuzzy, c-format
 msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
 #, fuzzy, c-format
 msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
 #, fuzzy, c-format
 msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
 
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
 #, c-format
 msgid ""
 "Unable to restore data of xattr %s on file \"%s\": Not all data available in "
 "xattr stream\n"
 msgstr ""
 
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
 #, fuzzy, c-format
 msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
 #, fuzzy, c-format
 msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
 
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
 #, fuzzy, c-format
 msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
 #, fuzzy, c-format
 msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
 #, c-format
 msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
 #, c-format
 msgid "Failed to restore extensible attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
 #, fuzzy, c-format
 msgid "Failed to restore extended attributes on file \"%s\"\n"
 msgstr "<filed: Netzwerkfehler beim Holen der Attribute. ERR=%s\n"
 
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
 #, fuzzy, c-format
 msgid "Unable to stat file \"%s\": ERR=%s\n"
 msgstr "Kann Datenbank=%s.nicht �ffen. ERR=%s\n"
 
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
 #, c-format
 msgid ""
 "Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16567,189 +16667,189 @@ msgstr ""
 msgid "No Director resource defined in %s\n"
 msgstr ""
 
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
 #, fuzzy, c-format
 msgid "aclx_get error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
 #, fuzzy, c-format
 msgid "Unknown acl type encountered on file \"%s\": %ld\n"
 msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
 
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
 #, fuzzy, c-format
 msgid "Failed to convert acl into text on file \"%s\"\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
 #, fuzzy, c-format
 msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
 #, fuzzy, c-format
 msgid "aclx_put error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
 #, c-format
 msgid "acl_to_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
 #, fuzzy, c-format
 msgid "acl_get_file error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
 #, fuzzy, c-format
 msgid ""
 "acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
 #, c-format
 msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
 #, c-format
 msgid "acl_from_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
 #, fuzzy, c-format
 msgid "acl_valid error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
 #, fuzzy, c-format
 msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
 #, c-format
 msgid "acl_set_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
 #, fuzzy, c-format
 msgid "pathconf error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
 #, fuzzy, c-format
 msgid "getacl error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
 #, c-format
 msgid "acltostr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
 #, c-format
 msgid "strtoacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
 #, fuzzy, c-format
 msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
 #, c-format
 msgid "setacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
 #, fuzzy, c-format
 msgid "acl_get error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
 #, fuzzy, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
 "support\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
 #, fuzzy, c-format
 msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
 #, c-format
 msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
 #, fuzzy, c-format
 msgid "acl_set error on file \"%s\": ERR=%s\n"
 msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
 
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
 #, c-format
 msgid "acltotext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
 #, c-format
 msgid "aclfromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
 #, c-format
 msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
 #, fuzzy, c-format
 msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
 #, fuzzy, c-format
 msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
 #, c-format
 msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
 msgstr ""
@@ -16758,17 +16858,17 @@ msgstr ""
 msgid "Storage command not issued before Verify.\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
 #, c-format
 msgid "Record header scan error: %s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
 #, c-format
 msgid "Data record error. ERR=%s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
 #, c-format
 msgid "Actual data size %d not same as header %d\n"
 msgstr ""
@@ -16928,7 +17028,7 @@ msgstr ""
 msgid "Invalid file flags, no supported data stream type.\n"
 msgstr ""
 
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
 #, c-format
 msgid "VSS Writer (BackupComplete): %s\n"
 msgstr ""
@@ -16948,194 +17048,194 @@ msgstr ""
 msgid "Could not set Finder Info on %s\n"
 msgstr "Konnte Datenbank \"%s\" nicht �ffen.\n"
 
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
 #, fuzzy
 msgid "LZO init failed\n"
 msgstr "TLS Aushandlung gescheitert.\n"
 
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
 msgid "Unexpected cryptographic session data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
 msgid ""
 "No private decryption keys have been defined to decrypt encrypted backup "
 "data.\n"
 msgstr ""
 
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
 #, fuzzy
 msgid "Could not create digest.\n"
 msgstr "Konnte Client Eintrag nicht anlegen. ERR=%s\n"
 
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
 msgid "Missing private key required to decrypt encrypted backup data.\n"
 msgstr ""
 
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
 msgid "Decrypt of the session key failed.\n"
 msgstr ""
 
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
 #, c-format
 msgid "An error occurred while decoding encrypted session data stream: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
 #, c-format
 msgid "Missing encryption session data stream for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
 #, c-format
 msgid "Failed to initialize decryption context for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
 #, fuzzy, c-format
 msgid "Cannot open resource fork for %s.\n"
 msgstr "Kann Ausdruck\"%s\"nicht aufl�sen: ERR=%s\n"
 
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
 msgid "Unexpected cryptographic signature data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
 #, c-format
 msgid "Failed to decode message signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
 #, c-format
 msgid "Encountered %ld acl errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
 #, c-format
 msgid "Encountered %ld xattr errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
 #, c-format
 msgid ""
 "%d non-supported data streams and %d non-supported attrib streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
 #, c-format
 msgid "%d non-supported resource fork streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
 #, c-format
 msgid "%d non-supported Finder Info streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
 #, c-format
 msgid "%d non-supported acl streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
 #, c-format
 msgid "%d non-supported crypto streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
 #, c-format
 msgid "%d non-supported xattr streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
 msgid "Zlib errno"
 msgstr ""
 
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
 msgid "Zlib stream error"
 msgstr ""
 
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
 msgid "Zlib data error"
 msgstr ""
 
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
 msgid "Zlib memory error"
 msgstr ""
 
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
 msgid "Zlib buffer error"
 msgstr ""
 
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
 msgid "Zlib version error"
 msgstr ""
 
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
 #, c-format
 msgid "Missing cryptographic signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
 #, fuzzy, c-format
 msgid "Signature validation failed for file %s: ERR=%s\n"
 msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
 
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
 #, fuzzy, c-format
 msgid "Digest one file failed for file: %s\n"
 msgstr "Mehr als ein Dateiname! %s f�r Datei: %s\n"
 
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
 #, c-format
 msgid "Signature validation failed for %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
 #, fuzzy, c-format
 msgid "LZO uncompression error on file %s. ERR=%d\n"
 msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
 
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
 #, c-format
 msgid "Uncompression error on file %s. ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
 #, c-format
 msgid "Write error in Win32 Block Decomposition on %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
 msgid "Decryption error\n"
 msgstr ""
 
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
 msgid "Logic error: output file should be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
 msgid "Logic error: output file should not be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
 #, c-format
 msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
 msgid "Open File Manager paused\n"
 msgstr ""
 
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
 msgid "FAILED to pause Open File Manager\n"
 msgstr ""
 
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
 #, c-format
 msgid "Running as '%s'. Privmask=%#08x\n"
 msgstr ""
 
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
 msgid "Failed to retrieve current UserName\n"
 msgstr ""
 
@@ -17414,7 +17514,7 @@ msgid ""
 "Version: "
 msgstr ""
 
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
 #, c-format
 msgid "Failed ASSERT: %s\n"
 msgstr ""
@@ -18448,15 +18548,15 @@ msgstr ""
 msgid "At main prompt waiting for input ..."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
 msgid "At prompt waiting for input ..."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
 msgid "Command failed."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
 msgid "Director disconnected."
 msgstr ""
 
@@ -18496,6 +18596,10 @@ msgstr ""
 "\n"
 
 #, fuzzy
+#~ msgid "    Drive %d status unknown.\n"
+#~ msgstr "unbekannt"
+
+#, fuzzy
 #~ msgid ""
 #~ "Connection from unknown Director %s at %s rejected.\n"
 #~ "Please see http://www.bacula.org/en/rel-manual/Bacula_Freque_Asked_Questi."
diff --git a/po/es.po b/po/es.po
index 897b4cb..32252c8 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Bacula 3.0.2\n"
 "Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
 "PO-Revision-Date: 2009-12-01 16:04-0300\n"
 "Last-Translator: Victor Hugo dos Santos <listas.vhs at gmail.com>\n"
 "Language-Team: Bacula Spanish Team <bacula-users-es at lists.sourceforge.net>\n"
@@ -99,7 +99,7 @@ msgstr "El período actual %s de retención es: %s\n"
 msgid "Continue? (yes/mod/no): "
 msgstr "¿Continuar? (sí/mod/no):"
 
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
 msgid "mod"
 msgstr "mod"
 
@@ -119,8 +119,8 @@ msgstr "Usted tiene las siguientes opciones:\n"
 msgid "The defined Storage resources are:\n"
 msgstr "Los recursos Storage definidos son:\n"
 
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
 #: src/wx-console/wxbrestorepanel.cpp:355
 #: src/wx-console/wxbrestorepanel.cpp:479
 #: src/wx-console/wxbrestorepanel.cpp:480
@@ -141,7 +141,7 @@ msgstr "Seleccione recurso Storage"
 msgid "The defined FileSet resources are:\n"
 msgstr "Los recursos FileSet definidos son:\n"
 
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
 msgid "FileSet"
 msgstr "FileSet"
 
@@ -149,7 +149,7 @@ msgstr "FileSet"
 msgid "Select FileSet resource"
 msgstr "Seleccionar recurso FileSet"
 
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
 msgid "Could not find a Catalog resource\n"
 msgstr "No pudo encontrar un Catalogo de recursos\n"
 
@@ -176,8 +176,8 @@ msgid "The defined Job resources are:\n"
 msgstr "Los recursos Job definidos son:\n"
 
 #: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
 msgid "Job"
 msgstr "Job"
 
@@ -202,8 +202,8 @@ msgstr "Seleccione recurso Restore"
 msgid "The defined Client resources are:\n"
 msgstr "Los recursos Clientes definidos son:\n"
 
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
 #: src/wx-console/wxbrestorepanel.cpp:336
 #: src/wx-console/wxbrestorepanel.cpp:354
 #: src/wx-console/wxbrestorepanel.cpp:431
@@ -264,7 +264,7 @@ msgstr "Seleccione el Cliente"
 msgid "Could not find Pool \"%s\": ERR=%s"
 msgstr "No se pudo encontrar Pool \"%s\": ERR=%s"
 
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
 #, c-format
 msgid "Error obtaining pool ids. ERR=%s\n"
 msgstr "Error al obteniendo pool ids. ERR=%s\n"
@@ -278,12 +278,12 @@ msgid "Defined Pools:\n"
 msgstr "Pools definidos:\n"
 
 #: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
 msgid "*None*"
 msgstr "*Ninguno*"
 
 #: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
 #: src/wx-console/wxbrestorepanel.cpp:527
 #: src/wx-console/wxbrestorepanel.cpp:537
 #: src/wx-console/wxbrestorepanel.cpp:1834
@@ -429,7 +429,7 @@ msgstr ""
 msgid "Unauthorized command from this console.\n"
 msgstr "Comando no autorizado desde esta consola.\n"
 
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
 msgid "No Jobs running.\n"
 msgstr "No hay Jobs en ejecución.\n"
 
@@ -782,8 +782,8 @@ msgstr "Archivo: %s\n"
 msgid "Start Admin JobId %d, Job=%s\n"
 msgstr "Inicio Admin JobId %d, Job=%s\n"
 
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
 #, c-format
 msgid "Error getting Job record for Job report: ERR=%s"
 msgstr "Error al obtener el registro del Job para reporte de trabajo: ERR=%s"
@@ -800,8 +800,8 @@ msgstr "***Administración Error***"
 msgid "Admin Canceled"
 msgstr "Administración Cancelada"
 
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
 #, c-format
 msgid "Inappropriate term code: %c\n"
 msgstr "Inadecuado código de terminación: %c\n"
@@ -810,7 +810,7 @@ msgstr "Inadecuado código de terminación: %c\n"
 msgid "Bacula "
 msgstr "Bacula"
 
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -850,31 +850,31 @@ msgstr ""
 " -? imprimir este mensaje.\n"
 "\n"
 
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
 #: src/filed/filed.c:218 src/qt-console/main.cpp:165
 msgid "Cryptography library initialization failed.\n"
 msgstr "Inicialización de la librería de criptografía ha fallado.\n"
 
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
 #: src/filed/filed.c:223 src/qt-console/main.cpp:169
 #, c-format
 msgid "Please correct configuration file: %s\n"
 msgstr "Por favor, corrija el archivo de configuración: %s\n"
 
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
 msgid "Too many open reload requests. Request ignored.\n"
 msgstr "Demasiadas solicitudes de recarga abiertas. Solicitud ignorada.\n"
 
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
 msgid "Out of reload table entries. Giving up.\n"
 msgstr "Fuera de entradas de las tablas recargadas. Abandonando.\n"
 
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
 msgid "Resetting previous configuration.\n"
 msgstr "Restablecimiento de la configuración anterior.\n"
 
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
 #, c-format
 msgid ""
 "No Director resource defined in %s\n"
@@ -883,35 +883,35 @@ msgstr ""
 "Recurso Director no definido en %s\n"
 "Sin eso no sé quién soy :-(\n"
 
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
 #, c-format
 msgid "No Messages resource defined in %s\n"
 msgstr "Recursos de Mensajes no definidos en %s\n"
 
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
 #, c-format
 msgid "Only one Director resource permitted in %s\n"
 msgstr "Sólo un recurso Director permitido en %s\n"
 
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
 #: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
 #: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
 #: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
 msgid "TLS required but not configured in Bacula.\n"
 msgstr "Se requiere TLS pero no está configurado en Bacula.\n"
 
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
 msgstr "\"Certificado TLS\" archivo no definido para director \"%s\" en %s.\n"
 
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
 #, c-format
 msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
 msgstr "\"Clave TLS\" archivo no definido para director \"%s\" en %s.\n"
 
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -922,48 +922,48 @@ msgstr ""
 "para Director \"%s\" en %s. Al menos un almacén de certificado CA es "
 "requerido cuando se utiliza \"TLS Verify Peer\".\n"
 
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
 #, c-format
 msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
 msgstr "Fallo al inicializar contexto TLS para Director \"%s\" en %s.\n"
 
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
 #, c-format
 msgid "No Job records defined in %s\n"
 msgstr "Registros de Job no definidos en %s\n"
 
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
 #, c-format
 msgid "Hey something is wrong. p=0x%lu\n"
 msgstr "Oye, algo está mal. p=0x%lu\n"
 
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
 #, c-format
 msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
 msgstr ""
 "Directiva \"%s\" en recurso Job \"%s\" es requerida, pero no se encuentra.\n"
 
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
 msgid "Too many items in Job resource\n"
 msgstr "Demasiados elementos en el recurso Job\n"
 
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
 #, c-format
 msgid "No storage specified in Job \"%s\" nor in Pool.\n"
 msgstr "Ningún storage especificada en Job \"%s\" ni en Pool.\n"
 
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 "Archivo de \"Certificado TLS\" no definido para Console \"%s\" en %s.\n"
 
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
 #, c-format
 msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
 msgstr "Archivo de \"Llave TLS\" no definido para Console \"%s\" en %s.\n"
 
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -974,12 +974,12 @@ msgstr ""
 "para Console \"%s\" en %s. Al menos un almacén de certificado CA es "
 "requerido cuando se utiliza \"TLS Verify Peer\".\n"
 
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
 #, c-format
 msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
 msgstr "Fallo al inicializar contexto TLS para demonio File \"%s\" en %s.\n"
 
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -988,7 +988,7 @@ msgstr ""
 "Ninguno \"TLS CA Certificate\" o \"TLS CA Certificate Dir\" esta definido "
 "para demonio File \"%s\" en %s.\n"
 
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -997,32 +997,32 @@ msgstr ""
 "Ninguno \"TLS CA Certificate\" o \"TLS CA Certificate Dir\" esta definido "
 "para Storage \"%s\" en %s.\n"
 
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
 #, c-format
 msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
 msgstr "Fallo al inicializar contexto TLS para Storage \"%s\" en %s.\n"
 
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
 #, c-format
 msgid "Could not open Catalog \"%s\", database \"%s\".\n"
 msgstr "No se pudo abrir Catálogo \"%s\", base de datos \"%s\".\n"
 
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
 #, fuzzy, c-format
 msgid "Could not create storage record for %s\n"
 msgstr "No es posible crear el registro Pool. ERR=%s\n"
 
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
 #, fuzzy, c-format
 msgid "Could not update storage record for %s\n"
 msgstr "No se pudo actualizar el registro de trabajo. ERR=%s\n"
 
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
 #, c-format
 msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr "No se ha podido compilar patrón regex  \"%s\" ERR=%s\n"
@@ -1041,18 +1041,18 @@ msgstr "Esperaba una palabra clave Tipo FileSet, obtuvo: %s"
 msgid "Old style Include/Exclude not supported\n"
 msgstr "Antiguo estilo Incluir/Excluir no soportado\n"
 
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
 #, c-format
 msgid "Expecting keyword, got: %s\n"
 msgstr "Esperando palabra clave, obtuvo: %s\n"
 
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
 #: src/lib/parse_conf.c:976
 #, c-format
 msgid "expected an equals, got: %s"
 msgstr "esperaba una igual, obtuvo: %s"
 
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
 #, c-format
 msgid "Keyword %s not permitted in this resource"
 msgstr "Palabra clave %s no esta permitido en este recurso"
@@ -1105,7 +1105,7 @@ msgstr "Directiva Plugin no permitida en Exclude\n"
 msgid "Options section not permitted in Exclude\n"
 msgstr "Sección Options no permitida en Exclude\n"
 
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
 #, c-format
 msgid "Expecting open brace. Got %s"
 msgstr "Esperando abrir paréntesis. Obtuvo %s"
@@ -1302,13 +1302,13 @@ msgid ""
 msgstr ""
 "No hay más Jobs relacionados con Volumen \"%s\". Marcando el para purgar.\n"
 
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d ...\n"
 msgstr "Conectando al demonio Storage %s en %s:%d ...\n"
 
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
 msgid "Failed to connect to Storage daemon.\n"
 msgstr "Error al conectar con demonio Storage.\n"
 
@@ -1388,34 +1388,34 @@ msgstr "Error obteniendo registro Job para Job anterior: ERR=%s"
 msgid "Could not get or create the FileSet record.\n"
 msgstr "No es posible obtener o crear un registro FileSet.\n"
 
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
 #, c-format
 msgid "Error getting Client record for Job report: ERR=%s"
 msgstr "Error al obtener registro de Clientes para reporte de Job: ERR=%s"
 
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
 #, c-format
 msgid "Error getting Media record for Volume \"%s\": ERR=%s"
 msgstr "Error al obtener registro de Media para Volumen \"%s\": ERR=%s"
 
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
 msgid "Backup OK -- with warnings"
 msgstr "Respaldo OK -- con advertencias"
 
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
 msgid "Backup OK"
 msgstr "Respaldo OK"
 
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
 msgid "*** Backup Error ***"
 msgstr "***Error en Respaldo ***"
 
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
 msgid "Backup Canceled"
 msgstr "Respaldo Cancelado"
 
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -1488,64 +1488,64 @@ msgstr "Ningún Jobs Deshabilitado.\n"
 msgid "disabled"
 msgstr "deshabilitado"
 
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
 msgid "Keywords for the show command are:\n"
 msgstr "Palabras clave para el comando show son:\n"
 
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
 #, c-format
 msgid "%s resource %s not found.\n"
 msgstr "%s recurso %s no encontrado.\n"
 
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
 #, c-format
 msgid "Resource %s not found\n"
 msgstr "Recursos %s no encontrado\n"
 
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
 msgid "Hey! DB is NULL\n"
 msgstr "Hey! BD esta VACÍA\n"
 
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
 #, c-format
 msgid "Jobid %d used %d Volume(s): %s\n"
 msgstr "Jobid %d usado %d Volumen(s): %s\n"
 
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
 msgid "No Pool specified.\n"
 msgstr "Ningún Pool especificado.\n"
 
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
 #, c-format
 msgid "Pool: %s\n"
 msgstr "Pool: %s\n"
 
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
 msgid "Ignoring invalid value for days. Max is 50.\n"
 msgstr "Ignorando valor invalido para días. Máximo es 50.\n"
 
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
 #, c-format
 msgid "Unknown list keyword: %s\n"
 msgstr "Lista de palabras clave desconocida: %s\n"
 
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
 #, c-format
 msgid "%s is not a job name.\n"
 msgstr "%s no es un nombre de Job.\n"
 
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
 #, c-format
 msgid "Could not find Pool for Job %s\n"
 msgstr "No se pudo encontrar Pool para Job %s\n"
 
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
 #, c-format
 msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
 msgstr ""
 "No se pudo encontrar el siguiente Volumen para Job %s (Pool=%s, Nivel=%s).\n"
 
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
 #, c-format
 msgid ""
 "The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
@@ -1553,31 +1553,31 @@ msgstr ""
 "El próximo Volumen que se utilizará por Job \"%s\" (Pool=%s, Nivel=%s) será "
 "%s\n"
 
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
 #, c-format
 msgid "Could not find next Volume for Job %s.\n"
 msgstr "No se pudo encontrar el siguiente Volumen para Job %s.\n"
 
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
 #, c-format
 msgid "Could not open database \"%s\".\n"
 msgstr "No se puede abrir la base de datos \"%s\".\n"
 
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
 #, c-format
 msgid "Pool %s not in database. %s"
 msgstr "Pool %s no creado en la base de datos. %s"
 
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
 #, c-format
 msgid "Pool %s created in database.\n"
 msgstr "Pool %s creado en la base de datos.\n"
 
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
 msgid "You have no messages.\n"
 msgstr "Usted no tiene mensajes.\n"
 
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
 msgid "Message too long to display.\n"
 msgstr "Mensaje demasiado largo para mostrar.\n"
 
@@ -1590,89 +1590,89 @@ msgstr "No se puede usar comando %s en un runscript"
 msgid ": is an invalid command.\n"
 msgstr ": es un comando inválido.\n"
 
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
 #: src/dird/ua_restore.c:823
 #, c-format
 msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
 msgstr "No se puede obtener el registro Job para JobId=%s: ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
 #: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
 #: src/dird/job.c:1160 src/dird/job.c:1164
 msgid "unknown source"
 msgstr "fuente desconocida"
 
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d\n"
 msgstr "Conectando al demonio Storage %s en %s:%d\n"
 
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
 msgid "Connected to storage daemon\n"
 msgstr "Conectado al demonio Storage\n"
 
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
 #: src/dird/ua_status.c:397
 #, c-format
 msgid "Connecting to Client %s at %s:%d\n"
 msgstr "Conectando al Cliente %s en %s:%d\n"
 
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
 msgid "Failed to connect to Client.\n"
 msgstr "Fallo al conectar con el cliente.\n"
 
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
 #, fuzzy, c-format
 msgid "Unknown command: %s\n"
 msgstr "Comando desconocido."
 
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
 msgid "Available daemons are: \n"
 msgstr "Demonios disponible son: \n"
 
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
 msgid "Director"
 msgstr "Director"
 
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
 msgid "Select daemon type to make die"
 msgstr "Seleccione tipo de demonio para matar"
 
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
 #, fuzzy
 msgid "The Director will generate a deadlock.\n"
 msgstr "El Director tendrá una violación de segmento.\n"
 
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
 msgid "The Director will segment fault.\n"
 msgstr "El Director tendrá una violación de segmento.\n"
 
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
 msgid "Access to specified Client or FileSet not allowed.\n"
 msgstr "El acceso a determinado Cliente o FileSet no permitido.\n"
 
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
 #: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
 #: src/dird/ua_restore.c:990
 #, c-format
 msgid "Query failed: %s. ERR=%s\n"
 msgstr "Consulta fallida: %s. ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
 msgid "query keyword not found.\n"
 msgstr "consulta de palabra clave no encontrada.\n"
 
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
 #, c-format
 msgid "List MediaType failed: ERR=%s\n"
 msgstr "Fallo al listar MediaType: ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
 #, c-format
 msgid "List Media failed: ERR=%s\n"
 msgstr "Fallo al listar Media: ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
 #, c-format
 msgid "List Location failed: ERR=%s\n"
 msgstr "Fallo al listar Ubicación: ERR=%s\n"
@@ -1999,11 +1999,11 @@ msgstr "Introduzca nombre de Volumen:"
 msgid "Enter base volume name: "
 msgstr "Introduzca nombre de Volumen base:"
 
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
 msgid "Volume name too long.\n"
 msgstr "Nombre de Volumen demasiado largo.\n"
 
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
 msgid "Volume name must be at least one character long.\n"
 msgstr "Nombre de volumen debe ser de al menos un carácter de largo.\n"
 
@@ -2070,11 +2070,11 @@ msgstr "Pool %s creado.\n"
 msgid "Python interpreter restarted.\n"
 msgstr "Interprete Python reiniciado.\n"
 
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
 msgid "Nothing done.\n"
 msgstr "Nada hecho.\n"
 
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
 #, c-format
 msgid "Client \"%s\" not found.\n"
 msgstr "Cliente \"%s\" no encontrado.\n"
@@ -2101,7 +2101,7 @@ msgstr "All"
 msgid "Select daemon type to set debug level"
 msgstr "Seleccione el tipo de Demonio para establecer el nivel de depuración"
 
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
 #, c-format
 msgid "No authorization for Client \"%s\"\n"
 msgstr "No autorización para Cliente \"%s\"\n"
@@ -2110,7 +2110,7 @@ msgstr "No autorización para Cliente \"%s\"\n"
 msgid "Client name missing.\n"
 msgstr "Falta el nombre del cliente.\n"
 
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
 #, c-format
 msgid "No authorization for Job \"%s\"\n"
 msgstr "No autorización para Job \"%s\"\n"
@@ -2133,7 +2133,7 @@ msgstr "No autorización para FileSet \"%s\"\n"
 msgid "Fileset name missing.\n"
 msgstr "Falta Nombre del Fileset.\n"
 
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
 #, c-format
 msgid "Level \"%s\" not valid.\n"
 msgstr "Nivel \"%s\" no es válido.\n"
@@ -2142,23 +2142,28 @@ msgstr "Nivel \"%s\" no es válido.\n"
 msgid "Level value missing.\n"
 msgstr "Valor del nivel ausente.\n"
 
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
 msgid "Invalid value for accurate. It must be yes or no.\n"
 msgstr "Valor no válido para exacto. Debe ser sí o no.\n"
 
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+#, fuzzy
+msgid "Accurate value missing.\n"
+msgstr "Valor del nivel ausente.\n"
+
+#: src/dird/ua_cmds.c:1167
 msgid "No job specified.\n"
 msgstr "Job no especificado.\n"
 
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
 msgid "Error sending include list.\n"
 msgstr "Error al enviar lista incluir.\n"
 
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
 msgid "Error sending exclude list.\n"
 msgstr "Error al enviar lista excluir.\n"
 
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
 msgid ""
 "In general it is not a good idea to delete either a\n"
 "Pool or a Volume since they may contain data.\n"
@@ -2168,20 +2173,40 @@ msgstr ""
 "Pool o un Volumen ya que pueden contener datos.\n"
 "\n"
 
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
 msgid "Choose catalog item to delete"
 msgstr "Seleccione el ítem del catalogo para eliminar"
 
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, fuzzy, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr "Clonar JobId %d iniciado.\n"
+
+#: src/dird/ua_cmds.c:1404
 msgid "Enter JobId to delete: "
 msgstr "Introduzca jobId para eliminar:"
 
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, fuzzy, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr "¿Esta usted seguro de que desea eliminar el Pool \"%s\"? (si/no):"
+
+#: src/dird/ua_cmds.c:1450
 #, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
+#, fuzzy, c-format
+msgid "Jobid %s and associated records deleted from the catalog.\n"
 msgstr "Job %s y los registros asociados eliminados del catálogo.\n"
 
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
 #, c-format
 msgid ""
 "\n"
@@ -2192,38 +2217,38 @@ msgstr ""
 "Este comando eliminara los volúmenes %s\n"
 "y todos los Jobs guardados en este volumen desde el Catalogo\n"
 
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
 #, c-format
 msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
 msgstr "¿Estas usted seguro de que desea eliminar el Volumen \"%s\"? (si/no):"
 
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
 msgid "Can't list jobs on this volume\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
 #, c-format
 msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
 msgstr "¿Esta usted seguro de que desea eliminar el Pool \"%s\"? (si/no):"
 
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
 #, c-format
 msgid "Using Catalog name=%s DB=%s\n"
 msgstr "Utilizando Catalogo nombre=%s BD=%s\n"
 
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
 msgid "ERR: Can't open db\n"
 msgstr "ERR: No se puede abrir db\n"
 
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
 msgid "Wait on mount timed out\n"
 msgstr "Tiempo agotado en esperar mount \n"
 
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
 msgid "ERR: Job was not found\n"
 msgstr "ERR: Job no se ha encontrado\n"
 
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
 msgid ""
 "  Command       Description\n"
 "  =======       ===========\n"
@@ -2231,7 +2256,7 @@ msgstr ""
 "Comando Descripción\n"
 " ======== ==============\n"
 
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
 #, c-format
 msgid ""
 "  %-13s %s\n"
@@ -2244,12 +2269,12 @@ msgstr ""
 "Argumentos:\n"
 "\t%s\n"
 
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
 #, c-format
 msgid "  %-13s %s\n"
 msgstr " %-13s %s\n"
 
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
 #, c-format
 msgid ""
 "\n"
@@ -2260,7 +2285,7 @@ msgstr ""
 "No se puede encontrar comando %s. \n"
 "\n"
 
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
 msgid ""
 "\n"
 "When at a prompt, entering a period cancels the command.\n"
@@ -2270,22 +2295,22 @@ msgstr ""
 "Cuando en un prompt, entrando un período cancela el comando.\n"
 "\n"
 
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s %s\n"
 msgstr "%s Versión: %s (%s) %s %s %s %s\n"
 
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
 #, c-format
 msgid "No authorization for Catalog \"%s\"\n"
 msgstr "No autorización para Catalogo \"%s\"\n"
 
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
 #, c-format
 msgid "Could not open catalog database \"%s\".\n"
 msgstr "No se pudo abrir la base de datos de catálogo \"%s\".\n"
 
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
 #, c-format
 msgid "Using Catalog \"%s\"\n"
 msgstr "Usando Catalogo \"%s\"\n"
@@ -2501,57 +2526,57 @@ msgstr "1 directorio sin marcar.\n"
 msgid "%d directories unmarked.\n"
 msgstr "%d directorios sin marcar.\n"
 
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
 #: src/qt-console/tray-monitor/tray_conf.cpp:168
 #, c-format
 msgid "No %s resource defined\n"
 msgstr "Recurso %s no definido\n"
 
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
 #, c-format
 msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 msgstr "Director: nombre=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
 #, c-format
 msgid "   query_file=%s\n"
 msgstr "query_file=%s\n"
 
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
 msgid "  --> "
 msgstr "--> "
 
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
 #, c-format
 msgid "Console: name=%s SSL=%d\n"
 msgstr "Console: nombre=%s SSL=%d\n"
 
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
 #, c-format
 msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
 msgstr "Counter: nombre=%s mínimo=%d máximo=%d cur=%d wrapcntr=%s\n"
 
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
 #, c-format
 msgid "Counter: name=%s min=%d max=%d\n"
 msgstr "Counter: nombre=%s mínimo=%d máximo=%d\n"
 
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
 #, c-format
 msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
 msgstr "Cliente: nombre=%s dirección=%s FDport=%d MaxJobs=%u\n"
 
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 msgstr "JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
 #, c-format
 msgid ""
 "Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2564,7 +2589,7 @@ msgstr ""
 "%d\n"
 " poolid=%s volname=%s MediaType=%s\n"
 
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
 #, c-format
 msgid ""
 "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
@@ -2573,7 +2598,7 @@ msgstr ""
 "Storage: nombre=%s dirección=%s SDport=%d MaxJobs=%u\n"
 " DeviceName=%s MediaType=%s StorageId=%s\n"
 
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
 #, c-format
 msgid ""
 "Catalog: name=%s address=%s DBport=%d db_name=%s\n"
@@ -2582,16 +2607,16 @@ msgstr ""
 "Catálogo: nombre=%s dirección=%s DBport=%d db_nombre=%s\n"
 " db_driver=%s db_user=%s MutliDBConn=%d\n"
 
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
 #, c-format
 msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
 msgstr "%s: nombre=%s JobType=%d nivel=%s Prioridad=%d Activo=%d\n"
 
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
 msgid "JobDefs"
 msgstr "JobDefs"
 
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
 #, c-format
 msgid ""
 "     MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
@@ -2599,256 +2624,256 @@ msgid ""
 msgstr ""
 "MaxJobs=%u Resched=%d Times=%d Intervalo=%s Spool=%d WritePartAfterJob=%d\n"
 
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
 #, c-format
 msgid "     SpoolSize=%s\n"
 msgstr "SpoolSize=%s\n"
 
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
 #, c-format
 msgid "     Accurate=%d\n"
 msgstr "Preciso=%d\n"
 
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
 #, c-format
 msgid "     SelectionType=%d\n"
 msgstr "SelectionType=%d\n"
 
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
 #, c-format
 msgid "  --> Where=%s\n"
 msgstr "--> Donde=%s\n"
 
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
 #, c-format
 msgid "  --> RegexWhere=%s\n"
 msgstr "--> RegexDonde=%s\n"
 
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
 #, c-format
 msgid "  --> Bootstrap=%s\n"
 msgstr "--> Bootstrap=%s\n"
 
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
 #, c-format
 msgid "  --> WriteBootstrap=%s\n"
 msgstr "--> WriteBootstrap=%s\n"
 
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
 #, c-format
 msgid "  --> PluginOptions=%s\n"
 msgstr "--> PluginOptions=%s\n"
 
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
 #, c-format
 msgid "  --> MaxRunTime=%u\n"
 msgstr "--> MaxRunTime=%u\n"
 
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
 #, c-format
 msgid "  --> MaxWaitTime=%u\n"
 msgstr "--> MaxWaitTime=%u\n"
 
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
 #, c-format
 msgid "  --> MaxStartDelay=%u\n"
 msgstr "--> MaxStartDelay=%u\n"
 
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
 #, fuzzy, c-format
 msgid "  --> MaxRunSchedTime=%u\n"
 msgstr "--> MaxRunTime=%u\n"
 
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
 #, fuzzy, c-format
 msgid "  --> Base %s\n"
 msgstr "--> Objetivo=%s\n"
 
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
 msgid " --> RunScript\n"
 msgstr "--> EjecutarScript\n"
 
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
 #, c-format
 msgid "  --> Command=%s\n"
 msgstr "--> Comando=%s\n"
 
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
 #, c-format
 msgid "  --> Target=%s\n"
 msgstr "--> Objetivo=%s\n"
 
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
 #, c-format
 msgid "  --> RunOnSuccess=%u\n"
 msgstr "--> RunOnSuccess=%u\n"
 
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
 #, c-format
 msgid "  --> RunOnFailure=%u\n"
 msgstr "--> RunOnFailure=%u\n"
 
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
 #, c-format
 msgid "  --> FailJobOnError=%u\n"
 msgstr "--> FailJobOnError=%u\n"
 
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
 #, c-format
 msgid "  --> RunWhen=%u\n"
 msgstr "--> EjecutarCuando=%u\n"
 
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
 #, c-format
 msgid "  --> Run=%s\n"
 msgstr "--> Ejecutar=%s\n"
 
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
 #, c-format
 msgid "  --> SelectionPattern=%s\n"
 msgstr "--> SeleccionPatron=%s\n"
 
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
 #, c-format
 msgid "FileSet: name=%s\n"
 msgstr "FileSet: nombre=%s\n"
 
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
 #, c-format
 msgid "Schedule: name=%s\n"
 msgstr "Schedule: nombre=%s\n"
 
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
 #, c-format
 msgid "  --> Run Level=%s\n"
 msgstr "--> Ejecutar Nivel=%s\n"
 
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
 msgid "      hour="
 msgstr "hora="
 
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
 msgid "      mday="
 msgstr "mdia="
 
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
 msgid "      month="
 msgstr "mes="
 
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
 msgid "      wday="
 msgstr "wdia="
 
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
 msgid "      wom="
 msgstr "wom="
 
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
 msgid "      woy="
 msgstr "woy="
 
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
 #, c-format
 msgid "      mins=%d\n"
 msgstr "mins=%d\n"
 
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
 msgid "     --> "
 msgstr "--> "
 
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
 #, c-format
 msgid "Pool: name=%s PoolType=%s\n"
 msgstr "Pool: nombre=%s PoolType=%s\n"
 
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
 #, c-format
 msgid "      use_cat=%d use_once=%d cat_files=%d\n"
 msgstr "use_cat=%d use_once=%d cat_files=%d\n"
 
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
 #, c-format
 msgid "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 msgstr "max_vols=%d auto_prune=%d VolRetention=%s\n"
 
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
 #, c-format
 msgid "      VolUse=%s recycle=%d LabelFormat=%s\n"
 msgstr "VolUse=%s recycle=%d LabelFormat=%s\n"
 
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
 #, c-format
 msgid "      CleaningPrefix=%s LabelType=%d\n"
 msgstr "CleaningPrefix=%s LabelType=%d\n"
 
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
 #, c-format
 msgid "      RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
 msgstr "RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
 
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
 #, c-format
 msgid "      MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
 msgstr "MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
 
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
 #, c-format
 msgid "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 msgstr "MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
 #, fuzzy, c-format
 msgid "      JobRetention=%s FileRetention=%s\n"
 msgstr "JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
 #, c-format
 msgid "      NextPool=%s\n"
 msgstr "NextPool=%s\n"
 
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
 #, c-format
 msgid "      RecyclePool=%s\n"
 msgstr "RecyclePool=%s\n"
 
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
 #, c-format
 msgid "      ScratchPool=%s\n"
 msgstr "ScratchPool=%s\n"
 
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
 #, c-format
 msgid "      Catalog=%s\n"
 msgstr "Catálogo=%s\n"
 
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
 #, c-format
 msgid "Messages: name=%s\n"
 msgstr "Mensajes: nombre=%s\n"
 
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
 #, c-format
 msgid "      mailcmd=%s\n"
 msgstr "mailcmd=%s\n"
 
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
 #, c-format
 msgid "      opcmd=%s\n"
 msgstr "opcmd=%s\n"
 
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
 #: src/qt-console/tray-monitor/tray_conf.cpp:199
 #, c-format
 msgid "Unknown resource type %d in dump_resource.\n"
 msgstr "Tipo de recurso desconocido %d en dump_resource.\n"
 
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
 #: src/qt-console/tray-monitor/tray_conf.cpp:257
 #, c-format
 msgid "Unknown resource type %d in free_resource.\n"
 msgstr "Tipo de recurso desconocido %d en free_resource.\n"
 
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
 #: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
 #: src/console/console_conf.c:259 src/filed/filed_conf.c:361
 #: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2857,54 +2882,54 @@ msgstr "Tipo de recurso desconocido %d en free_resource.\n"
 msgid "%s item is required in %s resource, but not found.\n"
 msgstr "Ítem %s es necesario en recurso %s, pero no se encuentra.\n"
 
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
 #: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
 #, c-format
 msgid "Too many items in %s resource\n"
 msgstr "Demasiados ítem en recurso %s\n"
 
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
 #, c-format
 msgid "Cannot find Pool resource %s\n"
 msgstr "No se puede encontrar el recurso Pool %s\n"
 
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
 #, c-format
 msgid "Cannot find Console resource %s\n"
 msgstr "No se puede encontrar el recurso Console %s\n"
 
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
 #: src/filed/filed_conf.c:381
 #, c-format
 msgid "Cannot find Director resource %s\n"
 msgstr "No se puede encontrar el recurso Director %s\n"
 
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
 #, c-format
 msgid "Cannot find Storage resource %s\n"
 msgstr "No se puede encontrar el recurso Storage %s\n"
 
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
 #, c-format
 msgid "Cannot find Job resource %s\n"
 msgstr "No se puede encontrar el recurso Job %s\n"
 
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
 #, c-format
 msgid "Cannot find Counter resource %s\n"
 msgstr "No se puede encontrar el recurso Counter %s\n"
 
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
 #, c-format
 msgid "Cannot find Client resource %s\n"
 msgstr "No se puede encontrar el recurso Cliente %s\n"
 
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
 #, c-format
 msgid "Cannot find Schedule resource %s\n"
 msgstr "No se puede encontrar el recurso Schedule %s\n"
 
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
 #: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
 #: src/qt-console/tray-monitor/tray_conf.cpp:314
 #: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2912,12 +2937,12 @@ msgstr "No se puede encontrar el recurso Schedule %s\n"
 msgid "Unknown resource type %d in save_resource.\n"
 msgstr "Tipo de recurso desconocido %d en  save_resource.\n"
 
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
 #, c-format
 msgid "Name item is required in %s resource, but not found.\n"
 msgstr "Nombre del ítem se requiere en recurso %s, pero no se encuentra.\n"
 
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
 #: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
 #: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
 #: src/qt-console/bat_conf.cpp:334
@@ -2926,43 +2951,43 @@ msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
 msgstr ""
 "Segundo intento de definir recurso %s llamado \"%s\" no está permitido.\n"
 
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
 #, c-format
 msgid "Inserting %s res: %s index=%d pass=%d\n"
 msgstr "Insertando %s res: %s index=%d pass=%d\n"
 
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
 #, c-format
 msgid "Expected one of: %s, got: %s"
 msgstr "Esperaba uno de: %s, obtuvo: %s"
 
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
 #, c-format
 msgid "Expected a Migration Job Type keyword, got: %s"
 msgstr "Espera una palabra clave Tipo Job de Migración, obtuvo: %s"
 
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
 #, c-format
 msgid "Expected a Job Type keyword, got: %s"
 msgstr "Esperaba una palabra clave Tipo Job, obtuvo: %s"
 
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
 #, c-format
 msgid "Expected a Job Level keyword, got: %s"
 msgstr "Esperaba una palabra clave Tipo Level, obtuvo: %s"
 
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
 #, c-format
 msgid "Expected a Restore replacement option, got: %s"
 msgstr "Esperaba una opción de reemplazo de Restauración, obtuvo: %s"
 
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
 #: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
 #, c-format
 msgid "Expect %s, got: %s"
 msgstr "Esperaba %s, obtuvo: %s"
 
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
 #, c-format
 msgid "Could not find config Resource %s referenced on line %d : %s\n"
 msgstr ""
@@ -3108,7 +3133,7 @@ msgstr ""
 msgid "Select full restore to a specified Job date"
 msgstr "Seleccione restauración completa para una fecha especifica de Job"
 
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
 #: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
 msgid "Cancel"
 msgstr "Cancelar"
@@ -3560,49 +3585,49 @@ msgstr "Los valores deben ser ser mayor que cero.\n"
 msgid "Slot too large.\n"
 msgstr "Ranura demasiado grande.\n"
 
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
 msgid "command line"
 msgstr "línea de comandos"
 
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
 msgid "No slots in changer to scan.\n"
 msgstr "No hay ranuras en cambiador para analizar.\n"
 
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
 msgid "No Volumes found to label, or no barcodes.\n"
 msgstr "No encontraron volúmenes para etiquetar, o sin códigos de barras.\n"
 
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
 #, c-format
 msgid "Slot %d greater than max %d ignored.\n"
 msgstr "Ranura %d mayor que el máximo %d ignorado.\n"
 
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
 #, c-format
 msgid "No VolName for Slot=%d InChanger set to zero.\n"
 msgstr "Ninguno VolName para Ranura=%d InChanger establecido en cero.\n"
 
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
 #, c-format
 msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
 msgstr ""
 "Registro de catálogo para Volumen \"%s\" actualizado para referenciar ranura "
 "%d.\n"
 
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
 #, c-format
 msgid "Catalog record for Volume \"%s\" is up to date.\n"
 msgstr "Registro de catálogo para Volumen \"%s\" esta actualizado.\n"
 
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
 #, c-format
 msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
 msgstr ""
 "Volumen \"%s\" no se encuentra en el catálogo. Ranura=%d InChanger "
 "configurado para cero.\n"
 
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
 #, c-format
 msgid ""
 "Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
@@ -3611,39 +3636,39 @@ msgstr ""
 "Volumen \"%s\" hay VolStatus %s. Debe ser purgado o reciclado antes de "
 "volver a etiquetar.\n"
 
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
 msgid "Enter new Volume name: "
 msgstr "Introduzca el nuevo nombre de Volumen:"
 
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
 #, c-format
 msgid "Media record for new Volume \"%s\" already exists.\n"
 msgstr "Registro de Medios para nuevo volumen \"%s\" ya existe.\n"
 
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
 msgid "Enter slot (0 or Enter for none): "
 msgstr "Introduzca ranura (0 o Enter para ninguno):"
 
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
 #, c-format
 msgid "Delete of Volume \"%s\" failed. ERR=%s"
 msgstr "Fallo al eliminar el Volumen \"%s\". ERR=%s"
 
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
 #, c-format
 msgid "Old volume \"%s\" deleted from catalog.\n"
 msgstr "Antiguo volumen \"%s\" borrado del catalogo.\n"
 
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
 #, c-format
 msgid "Requesting to mount %s ...\n"
 msgstr "Solicitando para montar %s ...\n"
 
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
 msgid "Do not forget to mount the drive!!!\n"
 msgstr "No se olvide de montar la unidad!!!\n"
 
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
 msgid ""
 "The following Volumes will be labeled:\n"
 "Slot  Volume\n"
@@ -3653,98 +3678,98 @@ msgstr ""
 "Ranura Volumen\n"
 "==============\n"
 
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
 msgid "Do you want to label these Volumes? (yes|no): "
 msgstr "¿Quieres etiquetar estos volúmenes? (sí | no):"
 
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
 #, c-format
 msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
 msgstr "Registro de Medios para ranura %d Volumen \"%s\" ya existe.\n"
 
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
 #, c-format
 msgid "Error setting InChanger: ERR=%s"
 msgstr "Error al configurar InChanger: ERR =% s"
 
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
 #, c-format
 msgid "Maximum pool Volumes=%d reached.\n"
 msgstr "Máximo pool Volúmenes=%d alcanzado.\n"
 
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
 #, c-format
 msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
 msgstr ""
 "Registro de catálogo para la limpieza de la cinta \"%s\" ha creado "
 "correctamente.\n"
 
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
 #, c-format
 msgid "Catalog error on cleaning tape: %s"
 msgstr "Error de catálogo en la limpieza de la cinta: %s"
 
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
 #, c-format
 msgid "Illegal character \"%c\" in a volume name.\n"
 msgstr "Ilegal carácter \"%c\" en un nombre de volumen.\n"
 
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
 #, c-format
 msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
 msgstr "Enviando comando relabel desde \"%s\" para \"%s\" ...\n"
 
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
 #, c-format
 msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
 msgstr "Enviando comando relabel para Volumen \"%s\" Ranura %d ...\n"
 
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
 #, c-format
 msgid "Catalog record for Volume \"%s\", Slot %d  successfully created.\n"
 msgstr ""
 "Registro Catalogo para Volumen \"%s\", Ranura %d creado correctamente.\n"
 
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
 #, c-format
 msgid "Label command failed for Volume %s.\n"
 msgstr "Comando Label fallido para Volumen %s.\n"
 
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
 msgid "Could not open SD socket.\n"
 msgstr "No se pudo abrir socket SD.\n"
 
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
 #, c-format
 msgid "Invalid Slot number: %s\n"
 msgstr "Número de Ranura no válido:%s\n"
 
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
 #, c-format
 msgid "Invalid Volume name: %s\n"
 msgstr "Nombre de Volumen no válido:%s\n"
 
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
 #, c-format
 msgid "Device \"%s\" has %d slots.\n"
 msgstr "Dispositivo \"%s\" tiene %d ranuras.\n"
 
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
 #, c-format
 msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
 msgstr "Recurso Pool \"%s\" no encontrado para volumen \"%s\"!\n"
 
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
 msgid "No Volumes found, or no barcodes.\n"
 msgstr "Volúmenes no encontrados, o no códigos de barras.\n"
 
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
 msgid ""
 " Slot |   Volume Name    |   Status  |     Media Type       |      "
 "Pool          |\n"
 msgstr "Ranura | Nombre Volumen | Estado | Tipo de Media | Pool |\n"
 
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
 msgid ""
 "------+------------------+-----------+----------------------"
 "+--------------------|\n"
@@ -3967,15 +3992,15 @@ msgid "New Recycle flag is: %s\n"
 msgstr "Nueva Recycle flag es: %s\n"
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
 #: src/tools/dbcheck.c:1352
 msgid "yes"
 msgstr "si"
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
 msgid "no"
 msgstr "no"
 
@@ -4054,7 +4079,7 @@ msgstr "Error actualizando registro de medios ActionOnPurge: ERR=%s"
 msgid "New ActionOnPurge is: %s\n"
 msgstr "Nueva ActionOnPurge es: %s\n"
 
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
 msgid "Parameters to modify:\n"
 msgstr "Parámetros para modificar:\n"
 
@@ -4126,7 +4151,7 @@ msgstr "Action On Purge"
 msgid "Done"
 msgstr "Hecho"
 
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
 msgid "Select parameter to modify"
 msgstr "Seleccione los parámetros para modificar"
 
@@ -4358,7 +4383,7 @@ msgstr "Pool para JobId %s no esta en base de datos. ERR=%s\n"
 msgid "Pool resource \"%s\" not found.\n"
 msgstr "Recurso Pool \"%s\" no encontrado.\n"
 
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
 #, c-format
 msgid "Could not get job record for JobId %s to %s. ERR=%s"
 msgstr "No se pudo obtener el registro Job para JobId %s para %s. ERR=%s"
@@ -4373,142 +4398,142 @@ msgstr "JobId %s ya %s probablemente por otro Job. %s detenido.\n"
 msgid "Start %s JobId %s, Job=%s\n"
 msgstr "Inicio %s JobId %s, Job=%s\n"
 
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
 #, c-format
 msgid "No %s SQL selection pattern specified.\n"
 msgstr "Ninguno %s patrón de selección de SQL especificado.\n"
 
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
 #, c-format
 msgid "SQL failed. ERR=%s\n"
 msgstr "Fallo SQL. ERR=%s\n"
 
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
 #, c-format
 msgid "No Volumes found to %s.\n"
 msgstr "Volúmenes no encontrado para %s.\n"
 
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
 msgid "Invalid JobId found.\n"
 msgstr "JobId inválido encontrado.\n"
 
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
 #, c-format
 msgid "Unknown %s Selection Type.\n"
 msgstr "Tipo de selección %s desconocido.\n"
 
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
 #, c-format
 msgid "No JobIds found to %s.\n"
 msgstr "Ninguno JobIds encontrado para %s.\n"
 
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
 #, c-format
 msgid "The following %u JobId%s chosen to be %s: %s\n"
 msgstr "El siguiente %u JobId%s elegido para ser %s: %s\n"
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid " was"
 msgstr "era"
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid "s were"
 msgstr "s eran"
 
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
 #, c-format
 msgid "%s using JobId=%s Job=%s\n"
 msgstr "%s utilizando JobId=%s Job=%s\n"
 
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
 msgid "Could not start migration job.\n"
 msgstr "No se pudo arrancar el Job de migración.\n"
 
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
 #, c-format
 msgid "%s JobId %d started.\n"
 msgstr "%s JobId %d iniciado.\n"
 
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
 #, c-format
 msgid "No %s found to %s.\n"
 msgstr "Ninguno %s encontrado para %s.\n"
 
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
 #, c-format
 msgid "SQL error. Expected 1 MediaId got %d\n"
 msgstr "SQL error. Esperaba 1 MediaId, obtuvo %d\n"
 
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
 #, c-format
 msgid "No %ss found to %s.\n"
 msgstr "Ninguno %ss encontrado para %s.\n"
 
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
 msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
 msgstr ""
 "Selección del tipo 'pooluncopiedjos' sólo se aplica a Trabajos de Copia(Copy "
 "Jobs)"
 
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
 #, c-format
 msgid "SQL to get uncopied jobs failed. ERR=%s\n"
 msgstr "Fallo SQL para obtener uncopied jobs. ERR=%s\n"
 
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
 #, c-format
 msgid "No %s %s selection pattern specified.\n"
 msgstr "Ninguno %s %s patrón de selección especificados.\n"
 
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
 #, c-format
 msgid "SQL to get %s failed. ERR=%s\n"
 msgstr "Fallo SQL para obtener %s. ERR=%s\n"
 
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
 #, c-format
 msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
 msgstr "Consulta de Pool \"%s\" No regreso Jobs  para %s.\n"
 
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
 #, c-format
 msgid "Regex pattern matched no Jobs to %s.\n"
 msgstr "Patrón Regex no encontró Jobs para %s.\n"
 
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
 #, c-format
 msgid "%s OK -- with warnings"
 msgstr "%s OK -- con alertas"
 
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
 #, c-format
 msgid "%s OK"
 msgstr "%s OK"
 
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
 #, c-format
 msgid "*** %s Error ***"
 msgstr "*** %s Error ***"
 
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
 #, c-format
 msgid "%s Canceled"
 msgstr "%s Cancelado"
 
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
 #, c-format
 msgid "Inappropriate %s term code"
 msgstr "Inadecuado código de terminación %s"
 
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
 #, c-format
 msgid "%s -- no files to %s"
 msgstr "%s -- ninguno archivo para %s"
 
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -4573,17 +4598,17 @@ msgstr ""
 " Terminación: %s\n"
 "\n"
 
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
 #, c-format
 msgid "No Next Pool specification found in Pool \"%s\".\n"
 msgstr "Especificación Next Pool no encontrada en Pool \"%s\".\n"
 
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
 #, c-format
 msgid "No Storage specification found in Next Pool \"%s\".\n"
 msgstr "Especificación Storage no encontrada en Next Pool \"%s\".\n"
 
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
 msgid "Storage from Pool's NextPool resource"
 msgstr "Storage desde recurso Pool's NextPool "
 
@@ -4591,44 +4616,44 @@ msgstr "Storage desde recurso Pool's NextPool "
 msgid "Choose item to prune"
 msgstr "Elija el ítem para podar"
 
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
 #, c-format
 msgid "Cannot prune Volume \"%s\" because it is archived.\n"
 msgstr "No se puede podar Volumen \"%s\", porque el esta archivo.\n"
 
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
 msgid "Pruned Jobs from JobHisto catalog.\n"
 msgstr "Podar Jobs del catálogo JobHisto.\n"
 
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
 #, fuzzy
 msgid "Begin pruning Files.\n"
 msgstr "Comenzar poda de Archivos.\n"
 
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
 msgid "No Files found to prune.\n"
 msgstr "No se encontraron archivos para podar.\n"
 
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
 #, c-format
 msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
 msgstr "Archivos podados desde Jobs %s para el cliente %s desde el catálogo.\n"
 
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
 #, fuzzy, c-format
 msgid "Begin pruning Jobs older than %s.\n"
 msgstr "Comenzar poda de Jobs.\n"
 
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
 #, c-format
 msgid "Pruned %d %s for client %s from catalog.\n"
 msgstr "Podados %d %s para el cliente %s desde el catálogo.\n"
 
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
 msgid "Jobs"
 msgstr "Jobs"
 
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
 msgid "No Jobs found to prune.\n"
 msgstr "No encontraron Jobs para podar.\n"
 
@@ -4653,50 +4678,58 @@ msgstr "Job fallido.\n"
 msgid "Job queued. JobId=%s\n"
 msgstr "Cola de Job. JobId=%s\n"
 
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr "Respuesta no válida. Usted tiene que contestar sí o no.\n"
+
+#: src/dird/ua_run.c:207
 msgid "Job not run.\n"
 msgstr "Job no ejecutando.\n"
 
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
 msgid "Level"
 msgstr "Level"
 
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
 msgid "Restore Client"
 msgstr "Restaurar Client"
 
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
 #: src/wx-console/wxbrestorepanel.cpp:854
 #: src/wx-console/wxbrestorepanel.cpp:1918
 msgid "When"
 msgstr "Cuando "
 
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
 #: src/wx-console/wxbrestorepanel.cpp:1128
 #: src/wx-console/wxbrestorepanel.cpp:1921
 msgid "Priority"
 msgstr "Prioridad"
 
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
 msgid "Verify Job"
 msgstr "Verificar Job"
 
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
 #: src/wx-console/wxbrestorepanel.cpp:1899
 msgid "Bootstrap"
 msgstr "Bootstrap"
 
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
 #: src/wx-console/wxbrestorepanel.cpp:1104
 #: src/wx-console/wxbrestorepanel.cpp:1901
 msgid "Where"
 msgstr "Donde"
 
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
 msgid "File Relocation"
 msgstr "Reubicar Archivo"
 
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
 #: src/wx-console/wxbrestorepanel.cpp:1112
 #: src/wx-console/wxbrestorepanel.cpp:1905
 #: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4706,222 +4739,222 @@ msgstr "Reubicar Archivo"
 msgid "Replace"
 msgstr "Reemplazar"
 
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
 msgid "JobId"
 msgstr "JobId"
 
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
 msgid "Plugin Options"
 msgstr "Opciones de Plug-in"
 
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
 msgid "user selection"
 msgstr "Selección de usuario"
 
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
 msgid ""
 "Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
 msgstr ""
 "Por favor, introduzca hora de inicio deseada YYYY-MM-DD HH:MM:SS (Enter para "
 "ahora)"
 
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
 msgid "Invalid time, using current time.\n"
 msgstr "Hora inválida, usando hora actual.\n"
 
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
 msgid "Enter new Priority: "
 msgstr "Introduzca nueva prioridad:"
 
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
 msgid "Priority must be a positive integer.\n"
 msgstr "Prioridad debe ser un entero positivo.\n"
 
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
 msgid "Please enter the Bootstrap file name: "
 msgstr "Por favor, introduzca nombre de archivo Bootstrap:"
 
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
 #, c-format
 msgid "Warning cannot open %s: ERR=%s\n"
 msgstr "Advertencia no puede abrir %s: ERR=%s\n"
 
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
 #, fuzzy
 msgid "Please enter the full path prefix for restore (/ for none): "
 msgstr ""
 "Por favor, introduzca el prefijo de ruta para restaurar (/ para ninguno):"
 
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
 msgid "Replace:\n"
 msgstr "Reemplazar:\n"
 
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
 msgid "Select replace option"
 msgstr "Seleccione la opción sustituir"
 
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
 msgid ""
 "You must set the bootstrap file to NULL to be able to specify a JobId.\n"
 msgstr ""
 "Usted debe configurar el archivo bootstrap a NULL para poder especificar un "
 "jobId.\n"
 
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
 msgid "Please Plugin Options string: "
 msgstr "Por favor, cadena de Opciones de Plugin:"
 
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
 msgid "User input"
 msgstr "Entrada del usuario"
 
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
 #, c-format
 msgid "Invalid replace option: %s\n"
 msgstr "Opción replace no valida: %s\n"
 
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
 msgstr "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
 
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
 msgid "This will replace your current Where value\n"
 msgstr "Este sustituirá a su actual valor Donde\n"
 
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
 msgid "Strip prefix"
 msgstr "Eliminar prefijo"
 
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
 msgid "Add prefix"
 msgstr "Añadir prefijo"
 
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
 msgid "Add file suffix"
 msgstr "Añadir sufijo de archivo"
 
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
 msgid "Enter a regexp"
 msgstr "Introduzca una expresión regular"
 
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
 msgid "Test filename manipulation"
 msgstr "Prueba de la manipulación de nombre de archivo"
 
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
 msgid "Use this ?"
 msgstr "Usar esto ?"
 
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
 #, fuzzy
 msgid "Please enter the path prefix to strip: "
 msgstr "Por favor, introduzca la ruta de prefijo para eliminar:"
 
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
 #, fuzzy
 msgid "Please enter the path prefix to add (/ for none): "
 msgstr ""
 "Por favor, introduzca el prefijo de la ruta para añadir (/ para ninguno):"
 
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
 #, fuzzy
 msgid "Please enter the file suffix to add: "
 msgstr "Por favor, introduzca el sufijo de archivo para añadir:"
 
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
 msgid "Please enter a valid regexp (!from!to!): "
 msgstr "Por favor, introduzca una expresión regular válida (!from!to!):"
 
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
 #, c-format
 msgid "regexwhere=%s\n"
 msgstr "regexdonde=%s\n"
 
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
 msgstr "strip_prefix=%s add_prefix=%s add_suffix=%s resultado=%s\n"
 
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
 msgid "Cannot use your regexp\n"
 msgstr "No se pudo utilizar su regexp\n"
 
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
 msgid "Enter a period (.) to stop this test\n"
 msgstr ""
 
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
 msgid "Please enter filename to test: "
 msgstr "Por favor, introduzca el nombre de archivo de prueba:"
 
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
 #, c-format
 msgid "%s -> %s\n"
 msgstr "%s -> %s\n"
 
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
 msgid "Cannot use your regexp.\n"
 msgstr "No puede utilizar su expresión regular.\n"
 
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
 msgid "Levels:\n"
 msgstr "Niveles:\n"
 
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
 #: src/lib/util.c:472 src/filed/status.c:519
 msgid "Full"
 msgstr "Completo"
 
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
 #: src/filed/status.c:522
 msgid "Incremental"
 msgstr "Incremental"
 
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
 #: src/filed/status.c:525
 msgid "Differential"
 msgstr "Diferencial"
 
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
 #: src/filed/status.c:528
 msgid "Since"
 msgstr "Desde"
 
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
 msgid "VirtualFull"
 msgstr "VirtualFull"
 
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
 msgid "Select level"
 msgstr "Seleccionar Nivel"
 
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
 msgid "Initialize Catalog"
 msgstr "Iniciar Catálogo"
 
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
 #: src/filed/status.c:531
 msgid "Verify Catalog"
 msgstr "Verificar Catálogo"
 
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
 msgid "Verify Volume to Catalog"
 msgstr "Verificar volumen de catalogo"
 
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
 msgid "Verify Disk to Catalog"
 msgstr "Verificar disco de catalogo"
 
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
 msgid "Verify Volume Data (not yet implemented)"
 msgstr "Verificar volumen de datos (aún no implementado)"
 
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
 msgid "Level not appropriate for this Job. Cannot be changed.\n"
 msgstr "Nivel no adecuado para este trabajo. No se puede cambiar.\n"
 
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
 #, fuzzy, c-format
 msgid ""
 "Run Admin Job\n"
@@ -4940,7 +4973,7 @@ msgstr ""
 "Cuando: %s\n"
 "Prioridad: %d\n"
 
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
 #, fuzzy, c-format
 msgid ""
 "Run Backup job\n"
@@ -4965,12 +4998,12 @@ msgstr ""
 "Prioridad: %d\n"
 "%s%s%s"
 
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
 #, fuzzy, c-format
 msgid "Could not get job record for selected JobId. ERR=%s"
 msgstr "No se ha podido obtener el registro Job para Job anterior. ERR=%s"
 
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
 #, fuzzy, c-format
 msgid ""
 "Run Verify Job\n"
@@ -4997,11 +5030,11 @@ msgstr ""
 "Cuando: %s\n"
 "Prioridad: %d\n"
 
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
 msgid "Please enter a JobId for restore: "
 msgstr "Por favor, introduzca un JobId para restaurar:"
 
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -5032,7 +5065,7 @@ msgstr ""
 "Prioridad: %d\n"
 "Opciones de Plugin: %s\n"
 
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -5063,7 +5096,7 @@ msgstr ""
 "Prioridad: %d\n"
 "Opciones de Plugin: %s\n"
 
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -5074,17 +5107,17 @@ msgstr ""
 "JobName: %s\n"
 "Bootstrap: %s\n"
 
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
 #, c-format
 msgid "RegexWhere: %s\n"
 msgstr "RegexWhere: %s\n"
 
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
 #, c-format
 msgid "Where:      %s\n"
 msgstr "Donde: %s\n"
 
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
 #, c-format
 msgid ""
 "Replace:         %s\n"
@@ -5105,219 +5138,219 @@ msgstr ""
 "Prioridad: %d\n"
 "Opciones de Plugin: %s\n"
 
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
 msgid "Run Copy job\n"
 msgstr "Ejecutar Job de Copia\n"
 
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
 msgid "Run Migration job\n"
 msgstr "Ejecutar Job de Migración\n"
 
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
 #, c-format
 msgid "Unknown Job Type=%d\n"
 msgstr "Tipo de Job desconocido=%d\n"
 
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
 #, c-format
 msgid "Value missing for keyword %s\n"
 msgstr "Falta valor para la palabra clave %s\n"
 
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
 msgid "Job name specified twice.\n"
 msgstr "Nombre del Job especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
 msgid "JobId specified twice.\n"
 msgstr "JobId especificada dos veces.\n"
 
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
 msgid "Client specified twice.\n"
 msgstr "Cliente especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
 msgid "FileSet specified twice.\n"
 msgstr "FileSet especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
 msgid "Level specified twice.\n"
 msgstr "Level especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
 msgid "Storage specified twice.\n"
 msgstr "Storage especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
 msgid "RegexWhere or Where specified twice.\n"
 msgstr "RegexDónde o Dónde especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
 msgid "No authorization for \"regexwhere\" specification.\n"
 msgstr "Sin autorización para especificación  \"regexwhere\".\n"
 
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
 msgid "Where or RegexWhere specified twice.\n"
 msgstr "Dónde o RegexDónde especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
 msgid "No authoriztion for \"where\" specification.\n"
 msgstr "Sin autorización para especificación  \"where\".\n"
 
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
 msgid "Bootstrap specified twice.\n"
 msgstr "Bootstrap especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
 msgid "Replace specified twice.\n"
 msgstr "Replace especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
 msgid "When specified twice.\n"
 msgstr "Cuando especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
 msgid "Priority specified twice.\n"
 msgstr "Prioridad especificada dos veces.\n"
 
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
 msgid "Priority must be positive nonzero setting it to 10.\n"
 msgstr "Prioridad debe ser positivo y distinto a cero, configurando en 10.\n"
 
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
 msgid "Verify Job specified twice.\n"
 msgstr "Job Verificar especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
 msgid "Migration Job specified twice.\n"
 msgstr "Job Migración especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
 msgid "Pool specified twice.\n"
 msgstr "Pool especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
 msgid "Restore Client specified twice.\n"
 msgstr "Restaurar Cliente especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
 msgid "Plugin Options not yet implemented.\n"
 msgstr "Opciones de Plugin todavía no se ha implementado.\n"
 
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
 msgid "Plugin Options specified twice.\n"
 msgstr "Opciones de Plugin especificado dos veces.\n"
 
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
 msgid "No authoriztion for \"PluginOptions\" specification.\n"
 msgstr "Sin autorización para especificación \"PluginOptions\".\n"
 
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
 msgid "Spool flag specified twice.\n"
 msgstr "Bandera de cola especificada dos veces.\n"
 
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
 msgid "Invalid spooldata flag.\n"
 msgstr "Invalida bandera spooldata.\n"
 
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
 #, fuzzy
 msgid "IgnoreDuplicateCheck flag specified twice.\n"
 msgstr "Bandera de cola especificada dos veces.\n"
 
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
 #, fuzzy
 msgid "Invalid ignoreduplicatecheck flag.\n"
 msgstr "Invalida bandera spooldata.\n"
 
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
 #, fuzzy
 msgid "Accurate flag specified twice.\n"
 msgstr "Bandera de cola especificada dos veces.\n"
 
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
 #, fuzzy
 msgid "Invalid accurate flag.\n"
 msgstr "Invalida bandera spooldata.\n"
 
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
 #, c-format
 msgid "Invalid keyword: %s\n"
 msgstr "Palabra clave inválida: %s\n"
 
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
 #, c-format
 msgid "Catalog \"%s\" not found\n"
 msgstr "Catalogo \"%s\" no encontrado\n"
 
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
 #, c-format
 msgid "No authorization. Catalog \"%s\".\n"
 msgstr "Sin autorización. Catalogo \"%s\".\n"
 
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
 #, c-format
 msgid "Job \"%s\" not found\n"
 msgstr "Job \"%s\" no encontrado\n"
 
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
 msgid "A job name must be specified.\n"
 msgstr "Un nombre de job debe de ser especificado.\n"
 
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
 #, c-format
 msgid "No authorization. Job \"%s\".\n"
 msgstr "Sin autorización. Job \"%s\".\n"
 
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
 #, c-format
 msgid "Pool \"%s\" not found.\n"
 msgstr "Pool \"%s\" no encontrado.\n"
 
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
 #, c-format
 msgid "No authorization. Pool \"%s\".\n"
 msgstr "Sin autorización. Pool \"%s\".\n"
 
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
 #, c-format
 msgid "Storage \"%s\" not found.\n"
 msgstr "Storage \"%s\" no encontrado\n"
 
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
 msgid "No storage specified.\n"
 msgstr "Almacenamiento no especificado.\n"
 
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
 #, c-format
 msgid "No authorization. Storage \"%s\".\n"
 msgstr "Sin autorización. Storage \"%s\".\n"
 
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
 #, c-format
 msgid "No authorization. Client \"%s\".\n"
 msgstr "Sin autorización. Cliente \"%s\".\n"
 
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
 #, c-format
 msgid "Restore Client \"%s\" not found.\n"
 msgstr "Restaurar Cliente \"%s\" no encontrado.\n"
 
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
 #, c-format
 msgid "FileSet \"%s\" not found.\n"
 msgstr "FileSet \"%s\" no encontrado.\n"
 
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
 #, c-format
 msgid "No authorization. FileSet \"%s\".\n"
 msgstr "Sin autorización. FileSet \"%s\".\n"
 
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
 #, c-format
 msgid "Verify Job \"%s\" not found.\n"
 msgstr "Job Verificar \"%s\" no encontrado.\n"
 
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
 #, c-format
 msgid "Migration Job \"%s\" not found.\n"
 msgstr "Job Migración \"%s\" no encontrado.\n"
@@ -5374,25 +5407,25 @@ msgstr "Enviando información precisa.\n"
 msgid "Start Backup JobId %s, Job=%s\n"
 msgstr "Iniciar Respaldo JobId %s, Job=%s\n"
 
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
 #, c-format
 msgid "Unexpected Client Job message: %s\n"
 msgstr "Inesperado Cliente Job mensaje: %s\n"
 
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
 #, c-format
 msgid "Network error with FD during %s: ERR=%s\n"
 msgstr "Error de red con FD durante %s: ERR=%s\n"
 
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
 msgid "No Job status returned from FD.\n"
 msgstr "Estado de Job no retornado desde FD.\n"
 
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
 msgid "Backup failed -- incomplete"
 msgstr ""
 
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5465,14 +5498,14 @@ msgstr ""
 " Terminación: %s\n"
 "\n"
 
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
 #, c-format
 msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
 msgstr ""
 "No es posible obtener los parámetros de Job Volumen para actualizar el "
 "archivo Bootstrap. ERR=%s\n"
 
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
 #, c-format
 msgid ""
 "Could not open WriteBootstrap file:\n"
@@ -5481,7 +5514,7 @@ msgstr ""
 "No se pudo abrir el archivo WriteBootstrap:\n"
 "%s: ERR=%s\n"
 
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
 #, c-format
 msgid "Could not open bootstrap file %s: ERR=%s\n"
 msgstr "No se puede abrir el archivo de arranque %s: ERR=%s\n"
@@ -5496,7 +5529,7 @@ msgstr "No se pudo obtener recurso de almacenamiento '%s'.\n"
 msgid "Could not acquire read storage lock for \"%s\""
 msgstr "No se pudo obtener recurso de almacenamiento '%s'.\n"
 
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
 msgid ""
 "Cannot restore without a bootstrap file.\n"
 "You probably ran a restore job directly. All restore jobs must\n"
@@ -5507,32 +5540,32 @@ msgstr ""
 "de restauración deben\n"
 "ser ejecutadas utilizando el comando de restauración.\n"
 
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
 #, c-format
 msgid "Start Restore Job %s\n"
 msgstr "Iniciar Job Restaurar %s\n"
 
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
 msgid "Restore OK -- warning file count mismatch"
 msgstr "Restauración OK -- alerta, número de archivos desajustado."
 
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
 msgid "Restore OK"
 msgstr "Restauración OK"
 
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
 msgid "Restore OK -- with warnings"
 msgstr "Restaurar OK - con advertencias"
 
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
 msgid "*** Restore Error ***"
 msgstr "*** Error de Restauración ***"
 
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
 msgid "Restore Canceled"
 msgstr "Restauración Cancelada"
 
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5577,7 +5610,7 @@ msgstr "Estado disponible para:\n"
 msgid "Select daemon type for status"
 msgstr "Seleccione el tipo de demonio para estado"
 
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s\n"
 msgstr "%s Versión: %s (%s) %s %s %s\n"
@@ -5587,7 +5620,7 @@ msgstr "%s Versión: %s (%s) %s %s %s\n"
 msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
 msgstr "Demonio iniciado %s, %d Job ejecutando desde el inicio.\n"
 
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
 #, c-format
 msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
 msgstr "Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
@@ -5651,7 +5684,7 @@ msgstr "Ignorando valores inválidos para el día. Máximo es de 500.\n"
 msgid "No Scheduled Jobs.\n"
 msgstr "No hay Jobs Programados.\n"
 
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
 msgid ""
 "\n"
 "Running Jobs:\n"
@@ -5819,7 +5852,7 @@ msgstr "Job : %s\n"
 msgid "No Terminated Jobs.\n"
 msgstr "Jobs No Terminados.\n"
 
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
 msgid ""
 "\n"
 "Terminated Jobs:\n"
@@ -5827,7 +5860,7 @@ msgstr ""
 "\n"
 "Jobs No Terminados:\n"
 
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
 msgid " JobId  Level    Files      Bytes   Status   Finished        Name \n"
 msgstr "JobId Nivel Archivos Bytes Estado Finalizado Nombre \n"
 
@@ -5835,41 +5868,41 @@ msgstr "JobId Nivel Archivos Bytes Estado Finalizado Nombre \n"
 msgid "====================================================================\n"
 msgstr "====================================================================\n"
 
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
 #: src/filed/status.c:363
 msgid "Created"
 msgstr "Creado"
 
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
 #: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
 msgid "Error"
 msgstr "Error"
 
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
 msgid "Diffs"
 msgstr "Diferencias"
 
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
 #: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
 #: src/wx-console/wxbconfigpanel.cpp:209
 msgid "OK"
 msgstr "OK"
 
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
 #: src/lib/util.c:327
 msgid "OK -- with warnings"
 msgstr "OK - con advertencias"
 
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
 msgid "Other"
 msgstr "Otros"
 
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
 #, c-format
 msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
 msgstr "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
 
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
 #, c-format
 msgid "%6d  %-6s %8s %10s  %-7s  %-8s %s\n"
 msgstr "%6d %-6s %8s %10s %-7s %-8s %s\n"
@@ -6044,7 +6077,7 @@ msgstr "Anular Ejecutar DiffPool"
 msgid "Job DiffPool override"
 msgstr "Anular Job DiffPool"
 
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
 #, c-format
 msgid "Could not create Client record. ERR=%s\n"
 msgstr "No es posible crear el registro de clientes. ERR=%s\n"
@@ -6392,7 +6425,17 @@ msgstr "Storage daemon rechazo Job comando: %s\n"
 msgid "<stored: bad response to Job command: %s\n"
 msgstr "<stored: mala respuesta para Job comando: %s\n"
 
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr "Utilizando el dispositivo: \"%s\" para lectura.\n"
+
+#: src/dird/msgchan.c:311
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr "Utilizando el dispositivo: \"%s\" para escritura.\n"
+
+#: src/dird/msgchan.c:318
 #, c-format
 msgid ""
 "\n"
@@ -6403,7 +6446,7 @@ msgstr ""
 " Demonio Storage no aceptó Dispositivo \"%s\" porque:\n"
 " %s"
 
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
 #, c-format
 msgid ""
 "\n"
@@ -6412,17 +6455,12 @@ msgstr ""
 "\n"
 " Demonio Storage no aceptó Dispositivo \"%s\" comando.\n"
 
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr "Usando Dispositivo \"%s\"\n"
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
 #, c-format
 msgid "Cannot create message thread: %s\n"
 msgstr "No se puede crear hilo de mensaje: %s\n"
 
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
 msgid "Director's comm line to SD dropped.\n"
 msgstr ""
 
@@ -6901,26 +6939,26 @@ msgstr "Contraseñas del demonio Director y File no son los mismos.\n"
 msgid "Unable to initialize reservation lock. ERR=%s\n"
 msgstr "No se puede inicializar bloqueo de reserva. ERR=%s\n"
 
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
 #, c-format
 msgid "Hey! num_writers=%d!!!!\n"
 msgstr "Hey! num_writers=%d!!!!\n"
 
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
 msgid "3939 Could not get dcr\n"
 msgstr "3939 No se pudo obtener DCR\n"
 
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
 #, c-format
 msgid "Device reservation failed for JobId=%d: %s\n"
 msgstr "Reservación del Dispositivo fallida para JobId=%d: %s\n"
 
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
 #, c-format
 msgid "Failed command: %s\n"
 msgstr "Comando fallido: %s\n"
 
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
 #, c-format
 msgid ""
 "\n"
@@ -6931,7 +6969,7 @@ msgstr ""
 "Dispositivo \"%s\" en el cambiador \"%s\" solicitado por el DIR no se pudo "
 "abrir o no existe.\n"
 
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
 #, c-format
 msgid ""
 "\n"
@@ -6940,35 +6978,35 @@ msgstr ""
 "\n"
 "Dispositivo \"%s\" solicitado por el DIR no se pudo abrir o no existe.\n"
 
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
 #, c-format
 msgid "3926 Could not get dcr for device: %s\n"
 msgstr "3926 No se pudo obtener dcr para el dispositivo: %s\n"
 
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
 #, c-format
 msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 "3601 JobId=%u dispositivo %s está BLOQUEADO debido al desmontar por el "
 "usuario.\n"
 
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
 #, c-format
 msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
 msgstr "3602 JobId=%u dispositivo %s está ocupado (ya leyendo/escribiendo).\n"
 
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
 #, c-format
 msgid "3603 JobId=%u device %s is busy reading.\n"
 msgstr "3603 JobId=%u dispositivo %s está ocupado leyendo.\n"
 
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
 #, c-format
 msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 "3604 JobId=%u dispositivo %s está BLOQUEADO debido al desmonte de usuario.\n"
 
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
 #, c-format
 msgid ""
 "3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
@@ -6977,52 +7015,52 @@ msgstr ""
 "3608 JobId=%u requiere Pool=\"%s\", pero hay Pool=\"%s\" nreserve=%d en la "
 "unidad %s.\n"
 
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
 #, c-format
 msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
 msgstr "3609 JobId=%u Máximo trabajos simultáneos superado en la unidad %s.\n"
 
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
 #, c-format
 msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
 msgstr "3610 JobId=%u máximo volumen jobs excedido en la unidad %s.\n"
 
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
 #, c-format
 msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
 msgstr ""
 "3605 JobId=%u requiere la unidad disponible, pero el dispositivo %s está "
 "ocupado.\n"
 
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
 #, c-format
 msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
 msgstr ""
 "3606 JobId=%u prefiere unidades montadas, pero la unidad %s no tiene "
 "Volumen.\n"
 
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
 #, c-format
 msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
 msgstr ""
 "3607 JobId=%u quiere Vol=\"%s\" la unidad tiene Vol=\"%s\" en la unidad %s.\n"
 
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
 #, c-format
 msgid "Logic error!!!! JobId=%u Should not get here.\n"
 msgstr "Error lógico!! JobId=%u No debería llegar hasta aquí.\n"
 
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
 #, c-format
 msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
 msgstr ""
 "3910 JobId=%u Error de lógica!!! la unidad %s no debería llegar aquí.\n"
 
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
 msgid "Logic error!!!! Should not get here.\n"
 msgstr "Error lógico!!! No debe llegar aquí.\n"
 
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
 #, c-format
 msgid "3911 JobId=%u failed reserve drive %s.\n"
 msgstr "3911 JobId=%u fallo al reservar unidad %s.\n"
@@ -7179,7 +7217,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
 msgstr "%s Registro: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
 
 #: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
 #, c-format
 msgid "Mount Volume \"%s\" on device %s and press return when ready: "
 msgstr ""
@@ -7486,7 +7524,7 @@ msgstr "3936 Dispositivo %s está ocupado leyendo.\n"
 msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
 msgstr "3937 Dispositivo %s está ocupado con %d escritura(s).\n"
 
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
 #, c-format
 msgid ""
 "Bootstrap file error: %s\n"
@@ -7497,154 +7535,154 @@ msgstr ""
 " : Linea %d, columna %d del archivo %s\n"
 "%s\n"
 
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
 #, c-format
 msgid "Cannot open bootstrap file %s: %s\n"
 msgstr "No se puede abrir el archivo bootstrap %s: %s\n"
 
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
 #, c-format
 msgid "MediaType %s in bsr at inappropriate place.\n"
 msgstr "MediaType %s en BSR en el lugar inadecuado.\n"
 
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
 #, c-format
 msgid "Device \"%s\" in bsr at inappropriate place.\n"
 msgstr "Dispositivo %s en BSR en el lugar inadecuado.\n"
 
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
 #, c-format
 msgid "REGEX '%s' compile error. ERR=%s\n"
 msgstr "error de compilación REGEX '%s'. ERR=%s\n"
 
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
 msgid "JobType not yet implemented\n"
 msgstr "JobType aún no se han implementado\n"
 
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
 msgid "JobLevel not yet implemented\n"
 msgstr "JobLevel aún no se han implementado\n"
 
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
 #, c-format
 msgid "Slot %d in bsr at inappropriate place.\n"
 msgstr "Ranura %d en BSR en el lugar inadecuado.\n"
 
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
 #, c-format
 msgid "VolFile     : %u-%u\n"
 msgstr "VolFile : %u-%u\n"
 
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
 #, c-format
 msgid "VolBlock    : %u-%u\n"
 msgstr "VolBlock : %u-%u\n"
 
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
 #, c-format
 msgid "VolAddr    : %llu-%llu\n"
 msgstr "VolAddr : %llu-%llu\n"
 
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
 #, c-format
 msgid "FileIndex   : %u\n"
 msgstr "FileIndex : %u\n"
 
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
 #, c-format
 msgid "FileIndex   : %u-%u\n"
 msgstr "FileIndex : %u-%u\n"
 
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
 #, c-format
 msgid "JobId       : %u\n"
 msgstr "JobId : %u\n"
 
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
 #, c-format
 msgid "JobId       : %u-%u\n"
 msgstr "JobId : %u-%u\n"
 
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
 #, c-format
 msgid "SessId      : %u\n"
 msgstr "SessId : %u\n"
 
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
 #, c-format
 msgid "SessId      : %u-%u\n"
 msgstr "SessId : %u-%u\n"
 
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
 #, c-format
 msgid "VolumeName  : %s\n"
 msgstr "VolumeName : %s\n"
 
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
 #, c-format
 msgid "  MediaType : %s\n"
 msgstr "MediaType : %s\n"
 
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
 #, c-format
 msgid "  Device    : %s\n"
 msgstr "Dispositivo : %s\n"
 
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
 #, c-format
 msgid "  Slot      : %d\n"
 msgstr "Ranura : %d\n"
 
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
 #, c-format
 msgid "Client      : %s\n"
 msgstr "Cliente : %s\n"
 
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
 #, c-format
 msgid "Job          : %s\n"
 msgstr "Job : %s\n"
 
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
 #, c-format
 msgid "SessTime    : %u\n"
 msgstr "SessTime : %u\n"
 
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
 msgid "BSR is NULL\n"
 msgstr "BSR is NULL\n"
 
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
 #, c-format
 msgid "Next        : 0x%x\n"
 msgstr "Siguiente : 0x%x\n"
 
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
 #, c-format
 msgid "Root bsr    : 0x%x\n"
 msgstr "Root bsr : 0x%x\n"
 
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
 #, c-format
 msgid "count       : %u\n"
 msgstr "contado : %u\n"
 
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
 #, c-format
 msgid "found       : %u\n"
 msgstr "encontrado : %u\n"
 
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
 #, c-format
 msgid "done        : %s\n"
 msgstr "realizado : %s\n"
 
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
 #, c-format
 msgid "positioning : %d\n"
 msgstr "posicionamiento : %d\n"
 
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
 #, c-format
 msgid "fast_reject : %d\n"
 msgstr "fast_reject : %d\n"
@@ -7729,7 +7767,7 @@ msgid "Unable to set network buffer size.\n"
 msgstr "No se puede establecer el tamaño del búfer de red.\n"
 
 #: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
 msgid "NULL Volume name. This shouldn't happen!!!\n"
 msgstr "Nombre de volumen VACÍO. Esto no debería suceder!\n"
 
@@ -7844,7 +7882,7 @@ msgstr ""
 msgid "Volume on %s has bad Bacula label type: %x\n"
 msgstr "Volumen en %s tiene una malo tipo de etiqueta Bacula: %x\n"
 
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
 #, c-format
 msgid "Could not reserve volume %s on %s\n"
 msgstr "No es posible reservar volumen %s en %s\n"
@@ -7855,7 +7893,7 @@ msgid "Cannot write Volume label to block for device %s\n"
 msgstr ""
 "No se puede escribir la etiqueta de volumen para bloquear el dispositivo %s\n"
 
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
 #, c-format
 msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr "Fallo al abrir dispositivo %s Volumen \"%s\": ERR=%s\n"
@@ -8059,15 +8097,13 @@ msgstr "Fecha=%s Nivel=%c Tipo=%c Archivos=%s Bytes=%s Errores=%d Estado=%c\n"
 msgid "Used Volume status:\n"
 msgstr "Estado de Volumen Usados:\n"
 
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
 msgid ""
-"====\n"
 "\n"
+"SD Resources:\n"
 msgstr ""
-"====\n"
-"\n"
 
-#: src/stored/status.c:128
+#: src/stored/status.c:153
 msgid ""
 "\n"
 "Device status:\n"
@@ -8075,15 +8111,16 @@ msgstr ""
 "\n"
 "Estado del dispositivo:\n"
 
-#: src/stored/status.c:132
+#: src/stored/status.c:157
 #, c-format
 msgid "Autochanger \"%s\" with devices:\n"
 msgstr "Auto-cambiador \"%s\" con los dispositivos:\n"
 
-#: src/stored/status.c:150
-#, c-format
+#: src/stored/status.c:177
+#, fuzzy, c-format
 msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
 "    Volume:      %s\n"
 "    Pool:        %s\n"
 "    Media type:  %s\n"
@@ -8093,42 +8130,62 @@ msgstr ""
 " Pool: %s\n"
 " Tipo de Media: %s\n"
 
-#: src/stored/status.c:160
-#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+#: src/stored/status.c:182
+#, fuzzy
+msgid "waiting for"
+msgstr "Esperando por montaje"
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+#, fuzzy
+msgid "*unknown*"
+msgstr "desconocido"
+
+#: src/stored/status.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
 msgstr "Dispositivo %s abierto, pero volumen actual montado no es Bacula.\n"
 
-#: src/stored/status.c:171
+#: src/stored/status.c:199
 #, c-format
 msgid "    Total Bytes=%s Blocks=%s Bytes/block=%s\n"
 msgstr "Total de Bytes=%s Bloques=%s Bytes/bloques=%s\n"
 
-#: src/stored/status.c:186
+#: src/stored/status.c:214
 #, c-format
 msgid "    Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
 msgstr "Total de Bytes Leídos=%s Bloques Leídos=%s Bytes/bloque=%s\n"
 
-#: src/stored/status.c:192
+#: src/stored/status.c:220
 #, c-format
 msgid "    Positioned at File=%s Block=%s\n"
 msgstr "Situado en el archivo=%s Bloque=%s\n"
 
-#: src/stored/status.c:199
-#, c-format
-msgid "Device %s is not open.\n"
+#: src/stored/status.c:227
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s is not open.\n"
 msgstr "Dispositivo %s no está abierto.\n"
 
-#: src/stored/status.c:203
-#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+#: src/stored/status.c:231
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
 msgstr "Dispositivo \"%s\" no está abierto o no existe.\n"
 
-#: src/stored/status.c:225
+#: src/stored/status.c:255
 #, fuzzy, c-format
 msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
 msgstr "Demonio iniciado %s, %d Job ejecutando desde el inicio.\n"
 
-#: src/stored/status.c:248
+#: src/stored/status.c:293
 msgid ""
 "No DEVICE structure.\n"
 "\n"
@@ -8136,17 +8193,17 @@ msgstr ""
 "Ninguna estructura del DISPOSITIVO.\n"
 "\n"
 
-#: src/stored/status.c:254
+#: src/stored/status.c:299
 msgid "    Device is BLOCKED. User unmounted.\n"
 msgstr "Dispositivo está BLOQUEADO. Usuario desmontado.\n"
 
-#: src/stored/status.c:258
+#: src/stored/status.c:303
 msgid "    Device is BLOCKED. User unmounted during wait for media/mount.\n"
 msgstr ""
 "    Dispositivo está BLOQUEADO. Usuario desmontado durante espera por media/"
 "mount.\n"
 
-#: src/stored/status.c:270
+#: src/stored/status.c:313
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -8157,7 +8214,7 @@ msgstr ""
 " Pool: %s\n"
 " Tipo de Media: %s\n"
 
-#: src/stored/status.c:279
+#: src/stored/status.c:322
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting to create a volume for:\n"
@@ -8168,77 +8225,77 @@ msgstr ""
 " Pool: %s\n"
 " Tipo de Media: %s\n"
 
-#: src/stored/status.c:291
+#: src/stored/status.c:333
 msgid "    Device is BLOCKED waiting for media.\n"
 msgstr "Dispositivo está bloqueado esperando por medios.\n"
 
-#: src/stored/status.c:297
+#: src/stored/status.c:339
 msgid "    Device is being initialized.\n"
 msgstr "Dispositivo se está inicializando.\n"
 
-#: src/stored/status.c:301
+#: src/stored/status.c:343
 msgid "    Device is blocked labeling a Volume.\n"
 msgstr "El dispositivo está bloqueado etiquetando un volumen.\n"
 
-#: src/stored/status.c:310
-#, c-format
-msgid "    Slot %d is loaded in drive %d.\n"
+#: src/stored/status.c:352
+#, fuzzy, c-format
+msgid "    Slot %d %s loaded in drive %d.\n"
 msgstr "Ranura %d esta cargado en la unidad %d.\n"
 
-#: src/stored/status.c:314
+#: src/stored/status.c:356
 #, c-format
 msgid "    Drive %d is not loaded.\n"
 msgstr "Unidad %d no está cargada.\n"
 
-#: src/stored/status.c:317
-#, c-format
-msgid "    Drive %d status unknown.\n"
-msgstr "Unidad %d estado desconocido.\n"
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
 #, c-format
 msgid "Configured device capabilities:\n"
 msgstr "Capacidades del dispositivo configuradas:\n"
 
-#: src/stored/status.c:349
+#: src/stored/status.c:389
 msgid "Device state:\n"
 msgstr "Estado del dispositivo:\n"
 
-#: src/stored/status.c:367
-#, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+#: src/stored/status.c:405
+#, fuzzy, c-format
+msgid "  num_writers=%d reserves=%d block=%d\n"
 msgstr ""
 "num_writers=%d reservado=%d bloque=%d\n"
 "\n"
 
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:409
+#, fuzzy
+msgid "Attached Jobs: "
+msgstr ""
+"\n"
+"Scheduled Jobs:\n"
+
+#: src/stored/status.c:427 src/stored/btape.c:720
 #, c-format
 msgid "Device parameters:\n"
 msgstr "Parámetros del Dispositivo:\n"
 
-#: src/stored/status.c:374
-#, c-format
-msgid "Archive name: %s Device name: %s\n"
+#: src/stored/status.c:429
+#, fuzzy, c-format
+msgid "  Archive name: %s Device name: %s\n"
 msgstr "Nombre del archivo: %s Nombre del dispositivo: %s\n"
 
-#: src/stored/status.c:378
-#, c-format
-msgid "File=%u block=%u\n"
+#: src/stored/status.c:432
+#, fuzzy, c-format
+msgid "  File=%u block=%u\n"
 msgstr "Archivo=%u bloque=%u\n"
 
-#: src/stored/status.c:381
-#, c-format
-msgid "Min block=%u Max block=%u\n"
+#: src/stored/status.c:434
+#, fuzzy, c-format
+msgid "  Min block=%u Max block=%u\n"
 msgstr "Bloque Min=%u Bloque Max=%u\n"
 
-#: src/stored/status.c:401
+#: src/stored/status.c:455
 #, c-format
 msgid "%s Job %s waiting for Client connection.\n"
 msgstr "%s Job %s esperando por conexión de cliente.\n"
 
-#: src/stored/status.c:417
+#: src/stored/status.c:471
 #, c-format
 msgid ""
 "Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
@@ -8247,7 +8304,7 @@ msgstr ""
 "Leyendo: %s %s trabajo %s JobId=%d Volumen=\"%s\"\n"
 " pool=\"%s\" dispositivo=%s\n"
 
-#: src/stored/status.c:430
+#: src/stored/status.c:484
 #, c-format
 msgid ""
 "Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
@@ -8256,26 +8313,26 @@ msgstr ""
 "Escribiendo: %s %s trabajo %s JobId=%d Volumen=\"%s\"\n"
 " pool=\"%s\" dispositivo=%s\n"
 
-#: src/stored/status.c:441
+#: src/stored/status.c:495
 #, c-format
 msgid "    spooling=%d despooling=%d despool_wait=%d\n"
 msgstr "encolando=%d desencolando=%d despool_wait=%d\n"
 
-#: src/stored/status.c:450
-#, c-format
-msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
-msgstr "Archivos=%s Bytes=%s Bytes/sec=%s\n"
+#: src/stored/status.c:511
+#, fuzzy, c-format
+msgid "    Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
+msgstr "Archivos=%s Bytes=%s Bytes/sec=%s Errores=%d\n"
 
-#: src/stored/status.c:458
+#: src/stored/status.c:523
 #, c-format
 msgid "    FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
 msgstr " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
 
-#: src/stored/status.c:464
+#: src/stored/status.c:529
 msgid "    FDSocket closed\n"
 msgstr "FDSocket cerrado\n"
 
-#: src/stored/status.c:485
+#: src/stored/status.c:550
 msgid ""
 "\n"
 "Jobs waiting to reserve a drive:\n"
@@ -8283,65 +8340,61 @@ msgstr ""
 "\n"
 "Jobs esperando para reservar una unidad:\n"
 
-#: src/stored/status.c:516
+#: src/stored/status.c:581
 msgid "===================================================================\n"
 msgstr "===================================================================\n"
 
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
 msgid "Base"
 msgstr "Base"
 
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
 msgid "Init Catalog"
 msgstr "Catálogo de inicio"
 
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
 msgid "Volume to Catalog"
 msgstr "Volumen para Catalogo"
 
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
 msgid "Disk to Catalog"
 msgstr "Disco para Catalogo"
 
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
 msgid "Data"
 msgstr "Datos"
 
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
 msgid "Unknown Job Level"
 msgstr "Nivel del Job desconocido"
 
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
-#, c-format
-msgid "Bad .status command: %s\n"
+#: src/stored/status.c:763
+#, fuzzy, c-format
+msgid "3900 No arg in .status command: %s\n"
 msgstr "Comando .status malo: %s\n"
 
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
-msgstr "3900 Malo comando .status, falta argumentos.\n"
-
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
-msgstr "3900 Malo comando .status, argumentos incorrectos.\n"
+#: src/stored/status.c:811
+#, fuzzy, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
+msgstr "Comando .status malo: %s\n"
 
-#: src/stored/status.c:760
+#: src/stored/status.c:826
 msgid "Bacula Storage: Idle"
 msgstr "Bacula Storage: Libre"
 
-#: src/stored/status.c:771
+#: src/stored/status.c:837
 msgid "Bacula Storage: Running"
 msgstr "Bacula Storage: Ejecutando"
 
-#: src/stored/status.c:785
+#: src/stored/status.c:851
 msgid "Bacula Storage: Last Job Canceled"
 msgstr "Bacula Storage: Último Job Cancelado"
 
-#: src/stored/status.c:789
+#: src/stored/status.c:855
 msgid "Bacula Storage: Last Job Failed"
 msgstr "Bacula Storage: Último Job Fallido"
 
-#: src/stored/status.c:793
+#: src/stored/status.c:859
 msgid "Bacula Storage: Last Job had Warnings"
 msgstr "Bacula Storage: Último Job con Advertencias"
 
@@ -8460,7 +8513,7 @@ msgid "%u files restored.\n"
 msgstr "%u archivos restaurados.\n"
 
 #: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
 #, c-format
 msgid "Write error on %s: %s\n"
 msgstr "Error de escritura en %s: %s\n"
@@ -8469,7 +8522,7 @@ msgstr "Error de escritura en %s: %s\n"
 msgid "Logic error output file should be open but is not.\n"
 msgstr "Error lógico, archivo de salida debería estar abierto, pero no esta.\n"
 
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
 #, c-format
 msgid "%s stream not supported on this Client.\n"
 msgstr "flujo %s no suportado en este Cliente.\n"
@@ -8485,7 +8538,7 @@ msgid "Seek error on %s: %s\n"
 msgstr "Buscar error en %s: %s\n"
 
 #: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
 #, c-format
 msgid "Seek to %s error on %s: ERR=%s\n"
 msgstr "Tratar de %s error en %s: ERR=%s\n"
@@ -8495,16 +8548,16 @@ msgstr "Tratar de %s error en %s: ERR=%s\n"
 msgid "Uncompression error. ERR=%d\n"
 msgstr "Error de descompresión. ERR=%d\n"
 
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
 msgid "GZIP data stream found, but GZIP not configured!\n"
 msgstr "Flujo de datos GZIP encontrado, pero GZIP no está configurado!\n"
 
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
 #, c-format
 msgid "Compressed header version error. version=0x%x\n"
 msgstr ""
 
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
 #, c-format
 msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
 msgstr ""
@@ -8514,7 +8567,7 @@ msgstr ""
 msgid "LZO uncompression error. ERR=%d\n"
 msgstr "Error de descompresión. ERR=%d\n"
 
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
 #, c-format
 msgid "Compression algorithm 0x%x found, but not supported!\n"
 msgstr ""
@@ -8523,7 +8576,7 @@ msgstr ""
 msgid "Got Program Name or Data Stream. Ignored.\n"
 msgstr "Obtener Nombre de Programa o Secuencia de Datos. Ignorado.\n"
 
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
 #, c-format
 msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
 msgstr "Flujo desconocido=%d ignorado. Esto no debería suceder!\n"
@@ -8737,26 +8790,22 @@ msgstr "Puerta de la cinta está abierta\n"
 msgid "Unexpected Tape is Off-line\n"
 msgstr "Inesperado Cinta esta off-line\n"
 
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
 #, c-format
 msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
 msgstr "Adquirir leer: num_writers=%d no es cero. Empleo %d cancelado.\n"
 
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
 #, c-format
 msgid "No volumes specified for reading. Job %s canceled.\n"
 msgstr "No se especifica el volumen de lectura. Job %s cancelado.\n"
 
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
 #, c-format
 msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
 msgstr "Error logico: no hay prójimo volumen para leer. Numvol=%d Curvol=%d\n"
 
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
 #, c-format
 msgid ""
 "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
@@ -8765,101 +8814,105 @@ msgstr ""
 "Cambiando dispositivo de lectura. Media Type=\"%s\" tiene=\"%s\"\n"
 " dispositivo=%s\n"
 
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
 #, c-format
 msgid "Media Type change.  New read device %s chosen.\n"
 msgstr "Cambio Media Type. Nuevo dispositivo de lectura %s elegido.\n"
 
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
 #, c-format
 msgid "No suitable device found to read Volume \"%s\"\n"
 msgstr "No encuentra dispositivo adecuado para leer Volumen \"%s\"\n"
 
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
 #, c-format
 msgid "Job %s canceled.\n"
 msgstr "Job %s cancelado.\n"
 
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
 #, c-format
 msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr "Fallo al leer dispositivo %s abierto, Volumen \"%s\": ERR=%s\n"
 
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
 #, c-format
 msgid "Too many errors trying to mount device %s for reading.\n"
 msgstr ""
 "Demasiados errores tratando de montar el dispositivo %s para la lectura.\n"
 
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
 #, c-format
 msgid "Ready to read from volume \"%s\" on device %s.\n"
 msgstr "Listo para leer desde volumen \"%s\" en el dispositivo %s.\n"
 
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
 #, c-format
 msgid "Want to append, but device %s is busy reading.\n"
 msgstr "Esperando anexar, pero el dispositivo %s está ocupado leyendo.\n"
 
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
 #, c-format
 msgid "Could not ready device %s for append.\n"
 msgstr "Dispositivo %s puede no está listo para anexar.\n"
 
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
 #: src/stored/block.c:769 src/stored/block.c:847
 #, c-format
 msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
 msgstr "No es posible crear el registro JobMedia para Volumen=\"%s\" Job=%s\n"
 
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
 #, c-format
 msgid "Alert: %s"
 msgstr "Alerta: %s"
 
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
 #, c-format
 msgid "3997 Bad alert command: %s: ERR=%s.\n"
 msgstr "3997 Malo comando alerta: %s: ERR=%s.\n"
 
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
 #: src/lib/openssl.c:122 src/lib/openssl.c:181
 #, c-format
 msgid "Unable to init mutex: ERR=%s\n"
 msgstr "No se puede iniciar mutex: ERR=%s\n"
 
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "No se puede iniciar mutex: ERR=%s\n"
+
+#: src/stored/askdir.c:179
 msgid "Network error on bnet_recv in req_vol_info.\n"
 msgstr "Error de red en bnet_recv en req_vol_info.\n"
 
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
 #, c-format
 msgid "Error getting Volume info: %s"
 msgstr "Error al obtener Volumen información: %s"
 
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
 #, c-format
 msgid "Didn't get vol info vol=%s: ERR=%s"
 msgstr "no recibió información de volumen vol=%s: ERR=%s"
 
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
 #, c-format
 msgid "Error creating JobMedia record: ERR=%s\n"
 msgstr "Error al crear registro JobMedia: ERR=%s\n"
 
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
 #, c-format
 msgid "Error creating JobMedia record: %s\n"
 msgstr "Error al crear registro JobMedia: %s\n"
 
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
 msgstr ""
 "Job %s cancelado a la espera de montar el dispositivo Storage \"%s\".\n"
 
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
 #, fuzzy, c-format
 msgid ""
 "Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8874,30 +8927,30 @@ msgstr ""
 "Pool: %s\n"
 "Tipo de Media: %s\n"
 
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
 #, c-format
 msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
 msgstr ""
 "Tiempo máximo de espera excedido para montar dispositivo Storage %s para el "
 "Job %s\n"
 
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
 msgid "pthread error in mount_next_volume.\n"
 msgstr "pthread error en mount_next_volume.\n"
 
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
 msgid "Cannot request another volume: no volume name given.\n"
 msgstr "No puede solicitar otro volumen: nombre de volumen no entregado.\n"
 
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
 msgstr "Job %s cancelado a la espera de montar el dispositivo Storage %s.\n"
 
-#: src/stored/askdir.c:622
-#, c-format
+#: src/stored/askdir.c:624
+#, fuzzy, c-format
 msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
@@ -8909,10 +8962,10 @@ msgstr ""
 " Pool: %s\n"
 " Media type: %s\n"
 
-#: src/stored/askdir.c:628
-#, c-format
+#: src/stored/askdir.c:630
+#, fuzzy, c-format
 msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
@@ -8924,7 +8977,7 @@ msgstr ""
 " Pool: %s\n"
 " Media type: %s\n"
 
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
 msgid "pthread error in mount_volume\n"
 msgstr "pthread error en mount_volume\n"
 
@@ -9304,33 +9357,33 @@ msgstr "Intento de leer sesión no abierta.\n"
 msgid "Attempt to open read on non-open session.\n"
 msgstr "Intento de abrir leer sesión no abierta.\n"
 
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
 #, c-format
 msgid "Too many errors trying to mount device %s.\n"
 msgstr "Demasiados errores tratando de montar el dispositivo %s.\n"
 
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
 #, c-format
 msgid "Job %d canceled.\n"
 msgstr "Job %d cancelado.\n"
 
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
 #, c-format
 msgid "Volume \"%s\" previously written, moving to end of data.\n"
 msgstr "Volumen \"%s\" previamente escrito, moviendo a finales de los datos.\n"
 
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
 #, c-format
 msgid "Unable to position to end of data on device %s: ERR=%s\n"
 msgstr ""
 "No se puede posicionar al final los datos en el dispositivo %s: ERR=%s\n"
 
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
 #, c-format
 msgid "Volume \"%s\" not on device %s.\n"
 msgstr "Volumen \"%s\" no en dispositivo %s.\n"
 
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
 #, c-format
 msgid ""
 "Director wanted Volume \"%s\".\n"
@@ -9341,12 +9394,12 @@ msgstr ""
 " Volumen actual \"%s\" no es aceptable porque:\n"
 " %s"
 
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
 msgstr "Listo para anexar al final del Volumen \"%s\" parte=%d tamaño=%s\n"
 
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
 #, c-format
 msgid ""
 "Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
@@ -9355,12 +9408,12 @@ msgstr ""
 "Bacula no puedo escribir en el volumen DVD \"%s\" porque: Los tamaños no "
 "coinciden! Volumen=%s Catálogo=%s\n"
 
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
 msgstr "Listo para anexar al final del volumen \"%s\" en el archivo=%d\n"
 
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
 #, fuzzy, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -9370,12 +9423,12 @@ msgstr ""
 "Bacula no puede escribir en el Volumen de cinta \"%s\" porque:\n"
 "El número de archivos de desfasa! Volumen=%u Catalogo=%u\n"
 
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
 #, fuzzy
 msgid "Error updating Catalog\n"
 msgstr "Error abriendo archivo de datos %s\n"
 
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
 #, c-format
 msgid ""
 "Bacula cannot write on tape Volume \"%s\" because:\n"
@@ -9384,12 +9437,12 @@ msgstr ""
 "Bacula no puede escribir en el Volumen de cinta \"%s\" porque:\n"
 "El número de archivos de desfasa! Volumen=%u Catalogo=%u\n"
 
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" size=%s\n"
 msgstr "Listo para anexar al final del volumen \"%s\" tamaño=%s\n"
 
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
 #, fuzzy, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -9399,7 +9452,7 @@ msgstr ""
 "Bacula no puedo escribir en el volumen DVD \"%s\" porque: Los tamaños no "
 "coinciden! Volumen=%s Catálogo=%s\n"
 
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
 #, c-format
 msgid ""
 "Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
@@ -9408,22 +9461,22 @@ msgstr ""
 "Bacula no puede escribir en el Volumen de cinta \"%s\" porque:Los tamaños no "
 "coinciden! Volumen=%s Catalogo=%s\n"
 
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
 #, c-format
 msgid "Labeled new Volume \"%s\" on device %s.\n"
 msgstr "Etiquetada nuevo Volumen \"%s\" en el dispositivo %s.\n"
 
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
 #, c-format
 msgid "Device %s not configured to autolabel Volumes.\n"
 msgstr "Dispositivo %s no configurado para volúmenes autolabel.\n"
 
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
 #, c-format
 msgid "Marking Volume \"%s\" in Error in Catalog.\n"
 msgstr "Marcado volumen \"%s\" en Error en el Catálogo.\n"
 
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
 #, c-format
 msgid ""
 "Autochanger Volume \"%s\" not found in slot %d.\n"
@@ -9432,11 +9485,11 @@ msgstr ""
 "Volumen auto-cambiador \"%s\" no se encuentra en la ranura %d\n"
 "Estableciendo InChanger a cero en el catálogo.\n"
 
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
 msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
 msgstr "Hey !!!!! No WroteVol cero !!!!!\n"
 
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
 #, c-format
 msgid ""
 "Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
@@ -9444,7 +9497,7 @@ msgstr ""
 "Posición de la cinta no válida en el volumen \"%s\" en el dispositivo %s. "
 "Esperaba %d, obtuvo %d\n"
 
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
 #, c-format
 msgid "Cannot open Dev=%s, Vol=%s\n"
 msgstr "No se puede abrir Dev=%s, Vol=%s\n"
@@ -9538,7 +9591,7 @@ msgstr ""
 "Tiempo transcurrido desencolando = %02d:%02d:%02d, Tasa de transferencia = "
 "%s Bytes/segundo\n"
 
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
 #, c-format
 msgid "Ftruncate spool file failed: ERR=%s\n"
 msgstr "Fallo ftruncate archivo de cola: ERR=%s\n"
@@ -9569,24 +9622,33 @@ msgstr "Bloque de la cola demasiado grande. Máximo %u bytes, obtuvo %u\n"
 msgid "Spool data read error. Wanted %u bytes, got %d\n"
 msgstr "Error de lectura de datos de la cola. Esperaba %u bytes, obtuvo %d\n"
 
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, fuzzy, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr "Tamaño de cola especificada por el usuario alcanzado.\n"
+
+#: src/stored/spool.c:485
+#, fuzzy, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
 msgstr "Tamaño de cola especificada por el usuario alcanzado.\n"
 
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
 msgid "Bad return from despool in write_block.\n"
 msgstr "Malo retorno desde despool en write_block.\n"
 
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
 msgid "Spooling data again ...\n"
 msgstr "Encolando datos de nuevo ...\n"
 
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
 #, c-format
 msgid "Error writing header to spool file. ERR=%s\n"
 msgstr "Error escribiendo encabezado para archivo de cola. ERR=%s\n"
 
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
 #, c-format
 msgid ""
 "Error writing header to spool file. Disk probably full. Attempting recovery. "
@@ -9595,53 +9657,53 @@ msgstr ""
 "Error al escribir encabezado al archivo de cola. Probablemente disco lleno. "
 "Intentando recuperación. Esperaba escribir=%d tiene=%d\n"
 
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
 msgid "Fatal despooling error."
 msgstr "Error fatal desencolando."
 
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
 msgid "Retrying after header spooling error failed.\n"
 msgstr "Fallido reintento después de error encolando encabezado.\n"
 
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
 #, c-format
 msgid "Error writing data to spool file. ERR=%s\n"
 msgstr "Error escribiendo datos en archivo de cola. ERR=%s\n"
 
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
 msgid "Retrying after data spooling error failed.\n"
 msgstr "Fallido reintento después de error encolando dato.\n"
 
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
 msgid "Network error on BlastAttributes.\n"
 msgstr "Error de red en BlastAttributes.\n"
 
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
 #, c-format
 msgid "Fseek on attributes file failed: ERR=%s\n"
 msgstr "Fallo fseek en los atributos de archivo: ERR=%s\n"
 
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
 #, fuzzy, c-format
 msgid "Truncate on attributes file failed: ERR=%s\n"
 msgstr "Fallo fseek en los atributos de archivo: ERR=%s\n"
 
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
 #, c-format
 msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
 msgstr "Enviando attrs encolados al Director. Desencolando %s bytes ...\n"
 
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
 #, c-format
 msgid "fopen attr spool file %s failed: ERR=%s\n"
 msgstr "Fallo fopen en archivo %s de atributo de cola: ERR=%s\n"
 
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
 #, c-format
 msgid "pthread_cond_wait failure. ERR=%s\n"
 msgstr "pthread_cond_wait fallido. ERR=%s\n"
 
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
 msgid "unknown blocked code"
 msgstr "Código desconocido bloqueado"
 
@@ -9774,6 +9836,21 @@ msgstr ""
 msgid "Unable to init cond variable: ERR=%s\n"
 msgstr "No se puede iniciar variable cond: ERR=%s\n"
 
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "No se puede iniciar mutex: ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "No se puede iniciar mutex: ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "No se puede iniciar mutex: ERR=%s\n"
+
 #: src/stored/dev.c:416
 msgid "Illegal mode given to open dev.\n"
 msgstr "Modo ilegal dado para abrir dev.\n"
@@ -10146,7 +10223,7 @@ msgstr "SOS_LABEL: VolSessTime desajustado para JobId=%u. BD=%d Vol=%d\n"
 msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
 msgstr "SOS_LABEL: PoolId diferente para JobId=%u. BD=%d Vol=%d\n"
 
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
 msgstr "No se pudo encontrar SessId=%d SessTime=%d para registro EOS.\n"
@@ -10204,109 +10281,109 @@ msgstr "Obtuvo Stream Nombres de Programas: %s\n"
 msgid "Got Prog Data Stream record.\n"
 msgstr "Obtuvo Registro Stream Datos de Programas: %s\n"
 
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
 #, c-format
 msgid "Unknown stream type!!! stream=%d len=%i\n"
 msgstr "Tipo de flujo desconocido!!! stream=%d len=%i\n"
 
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
 #, c-format
 msgid "Could not create File Attributes record. ERR=%s\n"
 msgstr "No se pudo crear el registro de Archivos de Atributos. ERR=%s\n"
 
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
 #, c-format
 msgid "Created File record: %s\n"
 msgstr "Registro Archivo creado: %s\n"
 
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
 #, c-format
 msgid "Could not create media record. ERR=%s\n"
 msgstr "No es posible crear registro media. ERR=%s\n"
 
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
 #, c-format
 msgid "Could not update media record. ERR=%s\n"
 msgstr "No es posible actualizar registro media. ERR=%s\n"
 
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
 #, c-format
 msgid "Created Media record for Volume: %s\n"
 msgstr "Creado Registro Media para Volumen: %s\n"
 
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
 #, c-format
 msgid "Updated Media record at end of Volume: %s\n"
 msgstr "Actualizado el registro Media al final del Volumen: %s\n"
 
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
 #, c-format
 msgid "Could not create pool record. ERR=%s\n"
 msgstr "No es posible crear el registro Pool. ERR=%s\n"
 
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
 #, c-format
 msgid "Created Pool record for Pool: %s\n"
 msgstr "Creado el registro Pool para Pool: %s\n"
 
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
 #, c-format
 msgid "Could not get Client record. ERR=%s\n"
 msgstr "No se ha podido obtener el registro del cliente. ERR=%s\n"
 
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
 #, c-format
 msgid "Created Client record for Client: %s\n"
 msgstr "Creado registro Cliente para Cliente: %s\n"
 
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
 #, c-format
 msgid "Fileset \"%s\" already exists.\n"
 msgstr "Fileset \"%s\" ya existe.\n"
 
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
 #, c-format
 msgid "Could not create FileSet record \"%s\". ERR=%s\n"
 msgstr "No es posible crear registro FileSet \"%s\". ERR=%s\n"
 
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
 #, c-format
 msgid "Created FileSet record \"%s\"\n"
 msgstr "Creado registro FileSet \"%s\"\n"
 
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
 #, c-format
 msgid "Could not create JobId record. ERR=%s\n"
 msgstr "No es posible crear registro JobId. ERR=%s\n"
 
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
 #, c-format
 msgid "Could not update job start record. ERR=%s\n"
 msgstr "No se pudo actualizar el registro job de inicio. ERR=%s\n"
 
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
 #, c-format
 msgid "Created new JobId=%u record for original JobId=%u\n"
 msgstr "Creado nuevo registro JobId=%u para JobId=%u original\n"
 
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
 #, c-format
 msgid "Could not update JobId=%u record. ERR=%s\n"
 msgstr "No se puede actualizar registro JobId=%u. ERR=%s\n"
 
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
 #, c-format
 msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
 msgstr ""
 "Actualizado el registro de terminación de Job para JobId=%u Nivel=%s "
 "TermStat=%c\n"
 
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
 #, c-format
 msgid "Job Termination code: %d"
 msgstr "Código de Terminación del Job: %d"
 
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
 #, c-format
 msgid ""
 "%s\n"
@@ -10341,27 +10418,27 @@ msgstr ""
 "Terminación: %s\n"
 "\n"
 
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
 #, c-format
 msgid "Could not create JobMedia record. ERR=%s\n"
 msgstr "No es posible crear registro JobMedia. ERR=%s\n"
 
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
 #, c-format
 msgid "Created JobMedia record JobId %d, MediaId %d\n"
 msgstr "Creado registro JobMedia JobID %d, MediaID %d\n"
 
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
 msgstr "No se pudo encontrar SessId=%d SessTime=%d para registro MD5/SHA1.\n"
 
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
 #, c-format
 msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
 msgstr "No se pudo agregar MD5/SHA1 al registro File. ERR=%s\n"
 
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
 msgid "Updated MD5/SHA1 record\n"
 msgstr "Actualizado registro MD5/SHA1\n"
 
@@ -12796,40 +12873,40 @@ msgstr ""
 " Por favor vea http://www.bacula.org/en/rel-manual/"
 "Bacula_Freque_Asked_Questi.html#SECTION003760000000000000000 para ayuda.\n"
 
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
 #, c-format
 msgid "Could not open console message file %s: ERR=%s\n"
 msgstr "No puede abrir el archivo de mensajes de la consola %s: ERR=%s\n"
 
-#: src/lib/message.c:376
+#: src/lib/message.c:377
 #, c-format
 msgid "Could not get con mutex: ERR=%s\n"
 msgstr "No se pudo obtener con mutex: ERR=%s\n"
 
-#: src/lib/message.c:481
+#: src/lib/message.c:482
 msgid "Bacula Message"
 msgstr "Bacula Message"
 
-#: src/lib/message.c:485
+#: src/lib/message.c:486
 #, c-format
 msgid "open mail pipe %s failed: ERR=%s\n"
 msgstr "Fallo al abrir tubería de correo %s: ERR=%s\n"
 
-#: src/lib/message.c:553
+#: src/lib/message.c:577
 msgid "open mail pipe failed.\n"
 msgstr "Fallo al abrir tubería de correo .\n"
 
-#: src/lib/message.c:565
+#: src/lib/message.c:590
 #, c-format
 msgid "close error: ERR=%s\n"
 msgstr "Error al cerrar: ERR=%s\n"
 
-#: src/lib/message.c:576
+#: src/lib/message.c:601
 #, c-format
 msgid "Mail prog: %s"
 msgstr "Programa de Correo: %s"
 
-#: src/lib/message.c:585
+#: src/lib/message.c:610
 #, c-format
 msgid ""
 "Mail program terminated in error.\n"
@@ -12840,12 +12917,16 @@ msgstr ""
 "CMD=%s\n"
 "ERR=%s\n"
 
-#: src/lib/message.c:684
+#: src/lib/message.c:713
 #, c-format
 msgid "fopen %s failed: ERR=%s\n"
 msgstr "fopen %s ha fallado: ERR=%s\n"
 
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
 #, fuzzy, c-format
 msgid ""
 "Msg delivery error: Operator mail program terminated in error.\n"
@@ -12856,77 +12937,77 @@ msgstr ""
 "CMD=%s\n"
 "ERR=%s\n"
 
-#: src/lib/message.c:878
+#: src/lib/message.c:911
 #, fuzzy, c-format
 msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
 msgstr "fopen %s ha fallado: ERR=%s\n"
 
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
 #, c-format
 msgid "%s: ABORTING due to ERROR in %s:%d\n"
 msgstr "%s: ABORTADO debido a un ERROR en %s:%d\n"
 
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
 #, c-format
 msgid "%s: ERROR TERMINATION at %s:%d\n"
 msgstr "%s: ERROR DE TERMINACIÓN en %s:%d\n"
 
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
 #, c-format
 msgid "%s: Fatal Error because: "
 msgstr "%s: Error Fatal porque: "
 
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
 #, c-format
 msgid "%s: Fatal Error at %s:%d because:\n"
 msgstr "%s: Error Fatal en %s:%d porque:\n"
 
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
 #, c-format
 msgid "%s: ERROR: "
 msgstr "%s: ERROR: "
 
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
 #, c-format
 msgid "%s: ERROR in %s:%d "
 msgstr "%s: ERROR en %s:%d "
 
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
 #, c-format
 msgid "%s: Warning: "
 msgstr "%s: Advertencia: "
 
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
 #, c-format
 msgid "%s: Security violation: "
 msgstr "%s: Violación de seguridad: "
 
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
 #, c-format
 msgid "%s ABORTING due to ERROR\n"
 msgstr "%s: ABORTADO debido a un ERROR\n"
 
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
 #, c-format
 msgid "%s ERROR TERMINATION\n"
 msgstr "%s: ERROR DE TERMINACIÓN\n"
 
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
 #, c-format
 msgid "%s JobId %u: Fatal error: "
 msgstr "%s JobId %u: Error Fatal: "
 
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
 #, c-format
 msgid "%s JobId %u: Error: "
 msgstr "%s JobId %u: Error: "
 
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
 #, c-format
 msgid "%s JobId %u: Warning: "
 msgstr "%s JobId %u: Advertencia: "
 
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
 #, c-format
 msgid "%s JobId %u: Security violation: "
 msgstr "%s JobId %u: Violación de seguridad: "
@@ -12980,75 +13061,6 @@ msgstr "No se pudo agregar job a la cola de cliente: ERR=%s\n"
 msgid "Could not destroy client queue: ERR=%s\n"
 msgstr "No es posible destruir la cola de cliente: ERR=%s\n"
 
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr "Error de escritura en cola de atributo. ERR=%s\n"
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr "Ha fallado la conexión de inicialización TLS.\n"
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr "Negociación TLS fallida.\n"
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-"Comprobación de certificados TLS fallido. Certificado equivalente no "
-"corresponde con el commonName requerido\n"
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-"Fallo en verificación en certificado TLS de la maquina. Nombre de la maquina "
-"\"%s\" no coincide con el certificado presentado\n"
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr "TLS activado, pero no configurado.\n"
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr "TLS permitido, pero no configurado.\n"
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr "No hay problema."
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr "Respuesta autoritativa para el host no encontrado."
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr "Non-autoritativa para la maquina no encontrada, o ServerFail."
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr "Errores no recuperables, FORMERR, RECHAZADO o NOTIMP."
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr "Nombre válido, ningún registro de datos del tipo solicitado."
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr "Error desconocido."
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr "Sig desconocido %d"
-
 #: src/lib/bpipe.c:361 src/lib/bpipe.c:444
 msgid "Program killed by Bacula (timeout)\n"
 msgstr "Programa finalizado(killed) por Bacula (timeout) \n"
@@ -13500,7 +13512,7 @@ msgstr "Tipo Desconocido"
 msgid "Truncate"
 msgstr "Truncar"
 
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
 msgid "None"
 msgstr "Ninguno"
 
@@ -13550,7 +13562,7 @@ msgstr "Invalido estado de volumen"
 
 #: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
 #: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
 msgid "*none*"
 msgstr "*ninguno*"
 
@@ -13771,7 +13783,7 @@ msgstr "JCR use_count=%d JobId=%d\n"
 msgid "pthread_setspecific failed: ERR=%s\n"
 msgstr "fallo pthread_setspecific: ERR=%s\n"
 
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Storage "
@@ -13780,7 +13792,7 @@ msgstr ""
 "Watchdog envío kill después de %d segundos para hilo estancado leyendo "
 "demonio Storage.\n"
 
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
@@ -13788,7 +13800,7 @@ msgstr ""
 "Watchdog envío kill después de %d segundos para hilo estancado leyendo "
 "demonio File.\n"
 
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -13983,203 +13995,275 @@ msgstr "Niño muerto con la señal %d: %s"
 msgid "Invalid errno. No error message possible."
 msgstr "Invalido errorno. Imposible mensaje de error."
 
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr "Error de escritura en cola de atributo. ERR=%s\n"
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr "Ha fallado la conexión de inicialización TLS.\n"
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr "Negociación TLS fallida.\n"
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+"Comprobación de certificados TLS fallido. Certificado equivalente no "
+"corresponde con el commonName requerido\n"
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+"Fallo en verificación en certificado TLS de la maquina. Nombre de la maquina "
+"\"%s\" no coincide con el certificado presentado\n"
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr "TLS activado, pero no configurado.\n"
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr "TLS permitido, pero no configurado.\n"
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr "No hay problema."
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr "Respuesta autoritativa para el host no encontrado."
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr "Non-autoritativa para la maquina no encontrada, o ServerFail."
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr "Errores no recuperables, FORMERR, RECHAZADO o NOTIMP."
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr "Nombre válido, ningún registro de datos del tipo solicitado."
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr "Error desconocido."
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr "Sig desconocido %d"
+
 #: src/lib/signal.c:67
 msgid "Invalid signal number"
 msgstr "Número de la señal no válida"
 
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
 #, c-format
 msgid "Bacula interrupted by signal %d: %s\n"
 msgstr "Bacula interrumpido por señal %d: %s\n"
 
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
 #, c-format
 msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
 msgstr "Kaboom! %s, %s obtuvo la señal %d - %s. Intentando rastreo.\n"
 
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
 #, c-format
 msgid "Kaboom! exepath=%s\n"
 msgstr "Kaboom! exepath=%s\n"
 
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
 #, c-format
 msgid "Fork error: ERR=%s\n"
 msgstr "Fork error: ERR=%s\n"
 
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
 #, c-format
 msgid "Calling: %s %s %s %s\n"
 msgstr "Llamando: %s %s %s %s\n"
 
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
 #, c-format
 msgid "execv: %s failed: ERR=%s\n"
 msgstr "execv: %s ha fallado: ERR=%s\n"
 
-#: src/lib/signal.c:235
-#, c-format
-msgid "It looks like the traceback worked ...\n"
+#: src/lib/signal.c:244
+#, fuzzy, c-format
+msgid "It looks like the traceback worked...\n"
 msgstr "Parece que el rastreo trabaja ...\n"
 
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
 #, c-format
 msgid "BA_NSIG too small (%d) should be (%d)\n"
 msgstr "BA_NSIG demasiado pequeño (%d) debe ser (%d)\n"
 
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
 msgid "UNKNOWN SIGNAL"
 msgstr "SEÑAL DESCONOCIDA"
 
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
 msgid "Hangup"
 msgstr "Colgar"
 
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
 msgid "Interrupt"
 msgstr "Interrumpir"
 
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
 msgid "Quit"
 msgstr "Salir"
 
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
 msgid "Illegal instruction"
 msgstr "Instrucción ilegal"
 
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
 msgid "Trace/Breakpoint trap"
 msgstr "Trace/Trampa de Punto de Interrupción"
 
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
 msgid "Abort"
 msgstr "Anular"
 
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
 msgid "EMT instruction (Emulation Trap)"
 msgstr "Instrucción EMT (Emulación de Trampa)"
 
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
 msgid "IOT trap"
 msgstr "trampa IOT"
 
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
 msgid "BUS error"
 msgstr "BUS error"
 
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
 msgid "Floating-point exception"
 msgstr "Excepción de punto flotante"
 
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
 msgid "Kill, unblockable"
 msgstr "Matar, imbloqueable"
 
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
 msgid "User-defined signal 1"
 msgstr "Señal 1 definida por el usuario"
 
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
 msgid "Segmentation violation"
 msgstr "Violación de segmento"
 
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
 msgid "User-defined signal 2"
 msgstr "Señal definida por el usuario 2"
 
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
 msgid "Broken pipe"
 msgstr "Tuberí­a rota"
 
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
 msgid "Alarm clock"
 msgstr "Alarma"
 
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
 msgid "Termination"
 msgstr "Terminación"
 
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
 msgid "Stack fault"
 msgstr "Error de pila"
 
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
 msgid "Child status has changed"
 msgstr "El estado de hijo ha cambiado"
 
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
 msgid "Continue"
 msgstr "Continue"
 
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
 msgid "Stop, unblockable"
 msgstr "Detener, imbloqueable"
 
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
 msgid "Keyboard stop"
 msgstr "Teclado detenido"
 
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
 msgid "Background read from tty"
 msgstr "Leer en segundo plan desde tty"
 
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
 msgid "Background write to tty"
 msgstr "Escribir en segundo plan al tty"
 
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
 msgid "Urgent condition on socket"
 msgstr "Condición de urgencia en el socket"
 
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
 msgid "CPU limit exceeded"
 msgstr "Limite de CPU superado"
 
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
 msgid "File size limit exceeded"
 msgstr "Superado el límite de tamaño de archivo"
 
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
 msgid "Virtual alarm clock"
 msgstr "Despertador virtual"
 
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
 msgid "Profiling alarm clock"
 msgstr "Perfiles de alarma"
 
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
 msgid "Window size change"
 msgstr "Cambiar el tamaño de la ventana"
 
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
 msgid "I/O now possible"
 msgstr "I/O posible ahora"
 
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
 msgid "Power failure restart"
 msgstr "Fallo reiniciar energía"
 
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
 msgid "No runnable lwp"
 msgstr "LWP no ejecutable"
 
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
 msgid "SIGLWP special signal used by thread library"
 msgstr "La señal especial SIGLWP utilizado por la biblioteca del hilo"
 
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
 msgid "Checkpoint Freeze"
 msgstr "Checkpoint de Congelación"
 
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
 msgid "Checkpoint Thaw"
 msgstr "Checkpoint de Thaw"
 
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
 msgid "Thread Cancellation"
 msgstr "Cancelación de Hilo"
 
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
 msgid "Resource Lost (e.g. record-lock lost)"
 msgstr "Recurso Perdido (por ejemplo, registro de bloqueo perdido)"
 
@@ -14209,30 +14293,30 @@ msgstr "stop_btimer llamado con NULL btimer_id\n"
 msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr "No se ha podido compilar patrón regex  \"%s\" ERR=%s\n"
 
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
 #, c-format
 msgid "Out of memory: ERR=%s\n"
 msgstr "Fuera de memoria: ERR=%s\n"
 
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
 msgid "Buffer overflow.\n"
 msgstr "Desbordamiento de búfer.\n"
 
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
 msgid "Bad errno"
 msgstr "Malo errno"
 
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
 #, c-format
 msgid "Memset for %d bytes at %s:%d\n"
 msgstr "Memset para %d bytes en %s:%d\n"
 
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
 #, c-format
 msgid "Cannot open pid file. %s ERR=%s\n"
 msgstr "No se puede abrir el archivo pid. %s ERR=%s\n"
 
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
 #, c-format
 msgid ""
 "%s is already running. pid=%d\n"
@@ -14241,17 +14325,17 @@ msgstr ""
 "%s ya está en ejecución. pid=%d\n"
 "Compruebe el archivo %s\n"
 
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
 #, c-format
 msgid "Could not open pid file. %s ERR=%s\n"
 msgstr "No se pudo abrir el archivo pid. %s ERR=%s\n"
 
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
 #, c-format
 msgid "Could not create state file. %s ERR=%s\n"
 msgstr "No es posible crear el archivo de estado. %s ERR=%s\n"
 
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
 #, c-format
 msgid "Write final hdr error: ERR=%s\n"
 msgstr "Error de escritura HDR final: ERR=%s\n"
@@ -14303,7 +14387,7 @@ msgstr "Error de configuración: %s\n"
 msgid "Close of NULL file\n"
 msgstr "Cierre de archivo NULL\n"
 
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
 msgid ""
 "get_char: called after EOF. You may have a open double quote without the "
 "closing double quote.\n"
@@ -14311,63 +14395,63 @@ msgstr ""
 "get_char: llamado después de EOF. Usted puede tener una comilla doble "
 "abierta sin el cierre de comillas dobles.\n"
 
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
 #, c-format
 msgid "Config token too long, file: %s, line %d, begins at line %d\n"
 msgstr ""
 "Configuración de señal demasiado largo, archivo: %s, línea %d, se inicia en "
 "la línea %d\n"
 
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
 msgid "none"
 msgstr "ninguno"
 
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
 msgid "comment"
 msgstr "comentario"
 
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
 msgid "number"
 msgstr "numero"
 
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
 msgid "ip_addr"
 msgstr "ip_addr"
 
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
 msgid "identifier"
 msgstr "identificar"
 
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
 msgid "string"
 msgstr "cadena"
 
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
 msgid "quoted_string"
 msgstr "quoted_string"
 
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
 msgid "include"
 msgstr "incluir"
 
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
 msgid "include_quoted_string"
 msgstr "include_quoted_string"
 
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
 msgid "UTF-8 Byte Order Mark"
 msgstr "Marca de Orden de UTF-8 Byte"
 
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
 msgid "UTF-16le Byte Order Mark"
 msgstr "Marca de Orden de UTF-16le Byte"
 
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
 #, c-format
 msgid "expected a positive integer number, got: %s"
 msgstr "esperaba un numero entero positivo, obtuvo: %s"
 
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
 msgid ""
 "This config file appears to be in an unsupported Unicode format (UTF-16be). "
 "Please resave as UTF-8\n"
@@ -14375,32 +14459,32 @@ msgstr ""
 "Este archivo de configuración parece estar en un formato no compatible con "
 "Unicode (UTF-16be). Por favor, vuelva a guardar como UTF-8\n"
 
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
 #, c-format
 msgid "Cannot open included config file %s: %s\n"
 msgstr "No se puede abrir el archivo de configuración incluido %s: %s\n"
 
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
 #, c-format
 msgid "expected an integer or a range, got %s: %s"
 msgstr "esperaba un numero entero o un rango, obtuvo %s: %s"
 
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
 #, c-format
 msgid "expected an integer number, got %s: %s"
 msgstr "esperaba un numero entero, obtuvo %s: %s"
 
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
 #, c-format
 msgid "expected a name, got %s: %s"
 msgstr "esperaba un nombre, obtuvo %s: %s"
 
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
 #, c-format
 msgid "name %s length %d too long, max is %d\n"
 msgstr "nombre %s longitud %d demasiado largo, el máximo es %d\n"
 
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
 #, c-format
 msgid "expected a string, got %s: %s"
 msgstr "esperaba una cadena, obtuvo %s: %s"
@@ -15095,46 +15179,61 @@ msgstr "Atributos ACL de acceso específicos de FreeBSD"
 
 #: src/findlib/bfile.c:191
 #, fuzzy
+msgid "GNU Hurd Specific Default ACL attribs"
+msgstr "Atributos ACL por defecto específicos de Irix"
+
+#: src/findlib/bfile.c:193
+#, fuzzy
+msgid "GNU Hurd Specific Access ACL attribs"
+msgstr "Atributos ACL de acceso específicos de Irix"
+
+#: src/findlib/bfile.c:195
+#, fuzzy
+msgid "GNU Hurd Specific Extended attribs"
+msgstr "Atributos Extendidos Específicos de Linux"
+
+#: src/findlib/bfile.c:197
+#, fuzzy
 msgid "IRIX Specific Extended attribs"
 msgstr "Atributos Extendidos Específicos de Linux"
 
-#: src/findlib/bfile.c:193
+#: src/findlib/bfile.c:199
 #, fuzzy
 msgid "TRU64 Specific Extended attribs"
 msgstr "Atributos Extendidos Específicos de Linux"
 
-#: src/findlib/bfile.c:195
+#: src/findlib/bfile.c:201
 #, fuzzy
 msgid "AIX Specific Extended attribs"
 msgstr "Atributos Extendidos Específicos de Linux"
 
-#: src/findlib/bfile.c:197
+#: src/findlib/bfile.c:203
 msgid "OpenBSD Specific Extended attribs"
 msgstr "Atributos Extendidos específicos de OpenBSD"
 
-#: src/findlib/bfile.c:199
+#: src/findlib/bfile.c:205
 msgid "Solaris Specific Extensible attribs or System Extended attribs"
 msgstr ""
 "Atributos extensible específicos de Solaris o atributos de Sistema de "
 "Extensión"
 
-#: src/findlib/bfile.c:201
+#: src/findlib/bfile.c:207
 msgid "Solaris Specific Extended attribs"
 msgstr "Atributos Extendidos Específicos de Solaris"
 
-#: src/findlib/bfile.c:203
+#: src/findlib/bfile.c:209
 msgid "Darwin Specific Extended attribs"
 msgstr "Atributos Extendidos Específicos de Darwin"
 
-#: src/findlib/bfile.c:205
+#: src/findlib/bfile.c:211
 msgid "FreeBSD Specific Extended attribs"
 msgstr "Atributos Extendidos Específicos de FreeBSD"
 
-#: src/findlib/bfile.c:207
+#: src/findlib/bfile.c:213
 msgid "Linux Specific Extended attribs"
 msgstr "Atributos Extendidos Específicos de Linux"
 
-#: src/findlib/bfile.c:209
+#: src/findlib/bfile.c:215
 msgid "NetBSD Specific Extended attribs"
 msgstr "Atributos Extendidos Específicos de NetBSD"
 
@@ -15148,27 +15247,27 @@ msgstr "Plugin=%s no encontrado.\n"
 msgid "Unknown include/exclude option: %c\n"
 msgstr "Opción incluir/excluir desconocida: %c\n"
 
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
 #, c-format
 msgid "     NODUMP flag set - will not process %s\n"
 msgstr "Indicador NODUMP establecido - no procesará %s\n"
 
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
 #, c-format
 msgid "Cannot stat file %s: ERR=%s\n"
 msgstr "No puede stat archivo %s: ERR=%s\n"
 
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
 #, c-format
 msgid "%s mtime changed during backup.\n"
 msgstr "%s mtime cambiado durante la copia de seguridad.\n"
 
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
 #, c-format
 msgid "%s ctime changed during backup.\n"
 msgstr "%s ctime cambiado durante la copia de seguridad.\n"
 
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
 #, c-format
 msgid "%s size changed during backup.\n"
 msgstr "%s tamaño cambiado durante la copia de seguridad.\n"
@@ -17168,6 +17267,11 @@ msgstr "====\n"
 msgid " SDSocket=closed\n"
 msgstr "SDSocket cerrado.\n"
 
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr "Comando .status malo: %s\n"
+
 #: src/filed/status.c:464
 msgid "2900 Bad .status command, missing argument.\n"
 msgstr "2900 Malo comando .status, falta argumento.\n"
@@ -17196,233 +17300,233 @@ msgstr "Bacula Cliente: Ultimo Job Fallido"
 msgid "Bacula Client: Last Job had Warnings"
 msgstr "Bacula Cliente: Ultimo Job con Advertencias"
 
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
 #: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
 #, c-format
 msgid "Network send error to SD. ERR=%s\n"
 msgstr "Error de red al enviar para SD. ERR=%s\n"
 
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
 #, c-format
 msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
 msgstr "Flujo xattr ilegal, no hay XATTR_MAGIC en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
 #, fuzzy, c-format
 msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
 msgstr ""
 "Ilegal flujo xattr, fallo al analizar flujo xattr en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
 #, fuzzy, c-format
 msgid "llistea error on file \"%s\": ERR=%s\n"
 msgstr "error de llistxattr en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
 #, fuzzy, c-format
 msgid "lgetea error on file \"%s\": ERR=%s\n"
 msgstr "error de getacl en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
 #, c-format
 msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
 msgstr "Flujo Xattr en el archivo \"%s\" excede el máximo tamaño de %d bytes\n"
 
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
 #, c-format
 msgid "Failed to serialize extended attributes on file \"%s\"\n"
 msgstr "No se pudo serializar los atributos extendidos en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
 #, fuzzy, c-format
 msgid "lsetea error on file \"%s\": ERR=%s\n"
 msgstr "setacl error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
 #, fuzzy, c-format
 msgid "attr_list error on file \"%s\": ERR=%s\n"
 msgstr "error de extattr_list_link en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
 #, fuzzy, c-format
 msgid "Received illegal xattr named %s on file \"%s\"\n"
 msgstr "Flujo xattr ilegal, no hay XATTR_MAGIC en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
 #, fuzzy, c-format
 msgid "attr_set error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_set en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
 #, c-format
 msgid "llistxattr error on file \"%s\": ERR=%s\n"
 msgstr "error de llistxattr en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
 #, c-format
 msgid "lgetxattr error on file \"%s\": ERR=%s\n"
 msgstr "error de lgetxattr en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
 #, c-format
 msgid "lsetxattr error on file \"%s\": ERR=%s\n"
 msgstr "error de lsetxattr en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
 #, c-format
 msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
 msgstr "error de extattr_list_link en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
 #, c-format
 msgid "Failed to convert %d into namespace on file \"%s\"\n"
 msgstr "No se pudo convertir %d al namespace en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
 #, c-format
 msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
 msgstr "error de extattr_get_link en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
 #, c-format
 msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
 msgstr ""
 "No se ha podido separar %s en el namespace y parte del nombre en el archivo "
 "\"%s\"\n"
 
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
 #, c-format
 msgid "Failed to convert %s into namespace on file \"%s\"\n"
 msgstr "No se pudo convertir %s al namespace en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
 #, c-format
 msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
 msgstr "error de extattr_set_link en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
 #, fuzzy, c-format
 msgid "getproplist error on file \"%s\": ERR=%s\n"
 msgstr "error de getacl en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
 #, fuzzy, c-format
 msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
 msgstr "No es posible leer el contenido de xattr %s en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
 #, fuzzy, c-format
 msgid "setproplist error on file \"%s\": ERR=%s\n"
 msgstr "strtoacl error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
 #, c-format
 msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede obtener acl en xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
 #, c-format
 msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 "No se puede obtener acl texto en xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
 #, c-format
 msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede obtener estado en xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
 #, c-format
 msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
 msgstr "No se puede abrir xattr %s en \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
 #, c-format
 msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
 msgstr "No se puede leer symlin %s en \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
 #, c-format
 msgid "Unable to read content of xattr %s on file \"%s\"\n"
 msgstr "No es posible leer el contenido de xattr %s en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
 #, c-format
 msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
 msgstr "No se puede chdir a xattr espacio de archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
 #, c-format
 msgid "Unable to open file \"%s\": ERR=%s\n"
 msgstr "No se puede abrir el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
 #, c-format
 msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede abrir espacio xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
 #, c-format
 msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
 msgstr "No se puede chdir a xattr espacio en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
 #, c-format
 msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
 msgstr "No se puede listar el xattr espacio en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
 #, c-format
 msgid "Unable to convert acl from text on file \"%s\"\n"
 msgstr "No se puede convertir acl de texto en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
 #, c-format
 msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede restablecer acl de xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
 #, c-format
 msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
 msgstr "No se puede abrir xattr espacio en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
 #, c-format
 msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede abrir xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
 #, c-format
 msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede chdir a xattr espacio de %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
 #, c-format
 msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede mkfifo xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
 #, c-format
 msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede mknode xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
 #, c-format
 msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede mkdir xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
 #, c-format
 msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede link xattr %s para %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
 #, c-format
 msgid ""
 "Unable to restore data of xattr %s on file \"%s\": Not all data available in "
@@ -17431,53 +17535,53 @@ msgstr ""
 "No se puede restaurar los datos de xattr %s en el archivo \"%s\": No todos "
 "los datos disponibles en flujo xattr\n"
 
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
 #, c-format
 msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 "No se puede restaurar los datos de xattr %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
 #, c-format
 msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr "No se puede symlink xattr %s para %s en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
 #, c-format
 msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 "No es posible restablecer el propietario de xattr %s en el archivo \"%s\": "
 "ERR=%s\n"
 
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
 #, c-format
 msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 "No es posible restablecer filetimes de xattr %s en el archivo \"%s\": ERR="
 "%s\n"
 
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
 #, c-format
 msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
 msgstr ""
 "Ilegal flujo xattr, fallo al analizar flujo xattr en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
 #, c-format
 msgid "Failed to restore extensible attributes on file \"%s\"\n"
 msgstr "Fallo al restablecer atributos extensible en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
 #, c-format
 msgid "Failed to restore extended attributes on file \"%s\"\n"
 msgstr "Fallo al restablecer atributos extendidos en el archivo \"%s\"\n"
 
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
 #, fuzzy, c-format
 msgid "Unable to stat file \"%s\": ERR=%s\n"
 msgstr "No se puede abrir el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
 #, c-format
 msgid ""
 "Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -17649,24 +17753,24 @@ msgstr ""
 msgid "No Director resource defined in %s\n"
 msgstr "Recurso Director no definido en %s\n"
 
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
 #, fuzzy, c-format
 msgid "aclx_get error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_get en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
 #, fuzzy, c-format
 msgid "Unknown acl type encountered on file \"%s\": %ld\n"
 msgstr ""
 "codificación errónea del tipo de ACL en el flujo de ACL en el archivo \"%s"
 "\" \n"
 
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
 #, fuzzy, c-format
 msgid "Failed to convert acl into text on file \"%s\"\n"
 msgstr "No se puede convertir acl de texto en el archivo \"%s\"\n"
 
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
 #, fuzzy, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
@@ -17675,7 +17779,7 @@ msgstr ""
 "Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
 "soporte a acl\n"
 
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
 #, fuzzy, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
@@ -17684,64 +17788,64 @@ msgstr ""
 "Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
 "soporte a acl\n"
 
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
 #, fuzzy, c-format
 msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_set en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
 #, fuzzy, c-format
 msgid "aclx_put error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_get en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
 #, c-format
 msgid "acl_to_text error on file \"%s\": ERR=%s\n"
 msgstr "acl_to_text error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
 #, c-format
 msgid "acl_get_file error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_get_file en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
 #, fuzzy, c-format
 msgid ""
 "acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr "acl_delete_def_file error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
 #, c-format
 msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
 msgstr "acl_delete_def_file error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
 #, c-format
 msgid "acl_from_text error on file \"%s\": ERR=%s\n"
 msgstr "acl_from_text error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
 #, c-format
 msgid "acl_valid error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_valid en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
 #, fuzzy, c-format
 msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr "acl_set_file error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
 #, c-format
 msgid "acl_set_file error on file \"%s\": ERR=%s\n"
 msgstr "acl_set_file error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
 #, c-format
 msgid "pathconf error on file \"%s\": ERR=%s\n"
 msgstr "error de pathconf en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
 #, fuzzy, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
@@ -17749,39 +17853,39 @@ msgstr ""
 "Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
 "soporte a acl\n"
 
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
 #, c-format
 msgid "getacl error on file \"%s\": ERR=%s\n"
 msgstr "error de getacl en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
 #, c-format
 msgid "acltostr error on file \"%s\": ERR=%s\n"
 msgstr "altostr error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
 #, c-format
 msgid "strtoacl error on file \"%s\": ERR=%s\n"
 msgstr "strtoacl error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
 #, fuzzy, c-format
 msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 "Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
 "soporte a acl\n"
 
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
 #, c-format
 msgid "setacl error on file \"%s\": ERR=%s\n"
 msgstr "setacl error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
 #, c-format
 msgid "acl_get error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_get en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without acl support\n"
@@ -17789,7 +17893,7 @@ msgstr ""
 "Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
 "soporte a acl\n"
 
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
 #, fuzzy, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
@@ -17798,7 +17902,7 @@ msgstr ""
 "Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
 "soporte a acl aclent\n"
 
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
 #, fuzzy, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
@@ -17807,49 +17911,49 @@ msgstr ""
 "Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
 "soporte a acl ace\n"
 
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
 #, c-format
 msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_fromtext en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
 #, c-format
 msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
 msgstr ""
 "codificación errónea del tipo de ACL en el flujo de ACL en el archivo \"%s"
 "\" \n"
 
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
 #, c-format
 msgid "acl_set error on file \"%s\": ERR=%s\n"
 msgstr "error de acl_set en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
 #, c-format
 msgid "acltotext error on file \"%s\": ERR=%s\n"
 msgstr "acltotext error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
 #, c-format
 msgid "aclfromtext error on file \"%s\": ERR=%s\n"
 msgstr "aclfromtext error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
 #, c-format
 msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
 msgstr "acl(SETACL) error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
 #, fuzzy, c-format
 msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
 msgstr "acl(SETACL) error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
 #, fuzzy, c-format
 msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
 msgstr "acl(SETACL) error en el archivo \"%s\": ERR=%s\n"
 
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
 #, c-format
 msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
 msgstr ""
@@ -17859,17 +17963,17 @@ msgstr ""
 msgid "Storage command not issued before Verify.\n"
 msgstr "Comando Storage no publicado antes de Verificar.\n"
 
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
 #, c-format
 msgid "Record header scan error: %s\n"
 msgstr "Error analizando registro de cabecera: %s\n"
 
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
 #, c-format
 msgid "Data record error. ERR=%s\n"
 msgstr "Error de registro de datos. ERR=%s\n"
 
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
 #, c-format
 msgid "Actual data size %d not same as header %d\n"
 msgstr "Tamaño actual de los datos %d no igual a cabecera %d\n"
@@ -18031,7 +18135,7 @@ msgstr "Error de relleno de cifrado\n"
 msgid "Invalid file flags, no supported data stream type.\n"
 msgstr "Invalidas banderas de archivo, tipo de flujo de datos no soportado.\n"
 
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
 #, c-format
 msgid "VSS Writer (BackupComplete): %s\n"
 msgstr "VSS Writer (BackupComplete): %s\n"
@@ -18052,16 +18156,16 @@ msgstr "Longitud no válida de Buscador de Información (obtuvo %d, no 32)\n"
 msgid "Could not set Finder Info on %s\n"
 msgstr "No se pudo establecer Finder Info en %s\n"
 
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
 #, fuzzy
 msgid "LZO init failed\n"
 msgstr "Negociación TLS fallida\n"
 
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
 msgid "Unexpected cryptographic session data stream.\n"
 msgstr "Inesperado flujo de datos de sesión criptográfica.\n"
 
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
 msgid ""
 "No private decryption keys have been defined to decrypt encrypted backup "
 "data.\n"
@@ -18069,62 +18173,62 @@ msgstr ""
 "Ninguna claves privadas de descifrado se ha definido para descifrar los "
 "datos cifrados de las copia de seguridad.\n"
 
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
 msgid "Could not create digest.\n"
 msgstr "No es posible crear sumario.\n"
 
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
 msgid "Missing private key required to decrypt encrypted backup data.\n"
 msgstr ""
 "Falta la clave privada requerida para descifrar los datos del respaldo "
 "cifrado.\n"
 
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
 msgid "Decrypt of the session key failed.\n"
 msgstr "Fallo al descifrar la clave de sesión.\n"
 
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
 #, c-format
 msgid "An error occurred while decoding encrypted session data stream: %s\n"
 msgstr ""
 "Se produjo un error al descodificar flujo de datos de sesión encriptados: "
 "%s\n"
 
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
 #, c-format
 msgid "Missing encryption session data stream for %s\n"
 msgstr "Falta cifrado de flujo de datos de sesión para %s\n"
 
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
 #, c-format
 msgid "Failed to initialize decryption context for %s\n"
 msgstr "Fallo al inicializar el contexto de descifrado para %s\n"
 
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
 #, c-format
 msgid "Cannot open resource fork for %s.\n"
 msgstr "No se puede abrir recursos fork para %s.\n"
 
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
 msgid "Unexpected cryptographic signature data stream.\n"
 msgstr "Inesperado signatura de datos de sesión criptográfica.\n"
 
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
 #, c-format
 msgid "Failed to decode message signature for %s\n"
 msgstr "No se ha podido descifrar la firma del mensaje para %s\n"
 
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
 #, c-format
 msgid "Encountered %ld acl errors while doing restore\n"
 msgstr "Detectado %ld errores de acl mientras que hace restaurar\n"
 
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
 #, c-format
 msgid "Encountered %ld xattr errors while doing restore\n"
 msgstr "Detectado %ld errores de xattr al hacer restauración\n"
 
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
 #, c-format
 msgid ""
 "%d non-supported data streams and %d non-supported attrib streams ignored.\n"
@@ -18132,121 +18236,121 @@ msgstr ""
 "%d incompatible flujos de datos y %d incompatible atributos de flujos "
 "ignorados.\n"
 
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
 #, c-format
 msgid "%d non-supported resource fork streams ignored.\n"
 msgstr "%d incompatible flujo de recurso fork ignorado.\n"
 
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
 #, c-format
 msgid "%d non-supported Finder Info streams ignored.\n"
 msgstr "%d incompatible flujo Finder Info ignorado.\n"
 
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
 #, c-format
 msgid "%d non-supported acl streams ignored.\n"
 msgstr "%d incompatible flujo de acl ignorado.\n"
 
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
 #, c-format
 msgid "%d non-supported crypto streams ignored.\n"
 msgstr "%d incompatible flujo de cifrado ignorado.\n"
 
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
 #, c-format
 msgid "%d non-supported xattr streams ignored.\n"
 msgstr "ignorado %d no soportado flujo xattr.\n"
 
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
 msgid "Zlib errno"
 msgstr "Zlib error"
 
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
 msgid "Zlib stream error"
 msgstr "Zlib error de stream"
 
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
 msgid "Zlib data error"
 msgstr "Zlib error de datos"
 
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
 msgid "Zlib memory error"
 msgstr "Zlib error de memoria"
 
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
 msgid "Zlib buffer error"
 msgstr "Zlib error de buffer"
 
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
 msgid "Zlib version error"
 msgstr "Zlib error de version"
 
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
 #, c-format
 msgid "Missing cryptographic signature for %s\n"
 msgstr "Falta la firma criptográfica para %s\n"
 
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
 #, c-format
 msgid "Signature validation failed for file %s: ERR=%s\n"
 msgstr "Validación de la firma fallida para el archivo %s: ERR=%s\n"
 
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
 #, c-format
 msgid "Digest one file failed for file: %s\n"
 msgstr "Digest de un archivo fallido para el archivo: %s\n"
 
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
 #, c-format
 msgid "Signature validation failed for %s: %s\n"
 msgstr "Validación de la firma fallida para  %s: %s\n"
 
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
 #, fuzzy, c-format
 msgid "LZO uncompression error on file %s. ERR=%d\n"
 msgstr "Error de descompresión en el archivo %s. ERR=%s\n"
 
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
 #, c-format
 msgid "Uncompression error on file %s. ERR=%s\n"
 msgstr "Error de descompresión en el archivo %s. ERR=%s\n"
 
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
 #, c-format
 msgid "Write error in Win32 Block Decomposition on %s: %s\n"
 msgstr "Error de escritura en Bloque de Descomposición Win32 en %s: %s\n"
 
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
 msgid "Decryption error\n"
 msgstr "Error de descifrado\n"
 
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
 msgid "Logic error: output file should be open\n"
 msgstr "Error lógico: el archivo de salida debe estar abierto\n"
 
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
 msgid "Logic error: output file should not be open\n"
 msgstr "Error lógica: archivo de salida no debe estar abierto\n"
 
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
 #, c-format
 msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
 msgstr "Error de descifrado. buf_len=%d decrypt_len=%d en el archivo %s\n"
 
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
 msgid "Open File Manager paused\n"
 msgstr "Administrador Open File pausado\n"
 
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
 msgid "FAILED to pause Open File Manager\n"
 msgstr "Fallo al pausar Administrador Open File\n"
 
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
 #, c-format
 msgid "Running as '%s'. Privmask=%#08x\n"
 msgstr "Ejecutando como '%s'. Privmask=%#08x\n"
 
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
 msgid "Failed to retrieve current UserName\n"
 msgstr "Fallo al recuperar UserName actual\n"
 
@@ -18532,7 +18636,7 @@ msgid ""
 "Version: "
 msgstr ""
 
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
 #, c-format
 msgid "Failed ASSERT: %s\n"
 msgstr "Fallo ASSERT: %s\n"
@@ -19574,15 +19678,15 @@ msgstr "Procesando comando ..."
 msgid "At main prompt waiting for input ..."
 msgstr "En prompt principal esperando por una entrada..."
 
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
 msgid "At prompt waiting for input ..."
 msgstr "En prompt esperando por una entrada..."
 
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
 msgid "Command failed."
 msgstr "Comando fallido."
 
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
 msgid "Director disconnected."
 msgstr "Director desconectado."
 
@@ -19617,6 +19721,28 @@ msgstr ""
 " -? imprimir este mensaje.\n"
 "\n"
 
+#~ msgid "Using Device \"%s\"\n"
+#~ msgstr "Usando Dispositivo \"%s\"\n"
+
+#~ msgid ""
+#~ "====\n"
+#~ "\n"
+#~ msgstr ""
+#~ "====\n"
+#~ "\n"
+
+#~ msgid "    Drive %d status unknown.\n"
+#~ msgstr "Unidad %d estado desconocido.\n"
+
+#~ msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
+#~ msgstr "Archivos=%s Bytes=%s Bytes/sec=%s\n"
+
+#~ msgid "3900 Bad .status command, missing argument.\n"
+#~ msgstr "3900 Malo comando .status, falta argumentos.\n"
+
+#~ msgid "3900 Bad .status command, wrong argument.\n"
+#~ msgstr "3900 Malo comando .status, argumentos incorrectos.\n"
+
 #~ msgid "Device switch. New device %s chosen.\n"
 #~ msgstr "Cambiar Dispositivo. Seleccione nuevo dispositivo %s.\n"
 
diff --git a/po/fr.po b/po/fr.po
index 75bf093..b295d5f 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Bacula 1.38\n"
 "Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
 "PO-Revision-Date: 2009-10-18 14:04+0000\n"
 "Last-Translator: Eric Bollengier <eric at eb.homelinux.org>\n"
 "Language-Team: French <bacula-devel-fr at lists.sourceforge.net>\n"
@@ -93,7 +93,7 @@ msgstr "La période de rétention courante %s est : %s\n"
 msgid "Continue? (yes/mod/no): "
 msgstr "Continuer ? (oui/mod/non) : "
 
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
 msgid "mod"
 msgstr "mod"
 
@@ -113,8 +113,8 @@ msgstr "Vous avez les choix suivants :\n"
 msgid "The defined Storage resources are:\n"
 msgstr "Les ressources de Stockage définies sont :\n"
 
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
 #: src/wx-console/wxbrestorepanel.cpp:355
 #: src/wx-console/wxbrestorepanel.cpp:479
 #: src/wx-console/wxbrestorepanel.cpp:480
@@ -135,7 +135,7 @@ msgstr "Sélectionnez la ressource de Stockage"
 msgid "The defined FileSet resources are:\n"
 msgstr "Les FileSet définis sont :\n"
 
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
 msgid "FileSet"
 msgstr "FileSet"
 
@@ -143,7 +143,7 @@ msgstr "FileSet"
 msgid "Select FileSet resource"
 msgstr "Sélectionnez le FileSet"
 
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
 msgid "Could not find a Catalog resource\n"
 msgstr "Impossible de trouver un Catalogue\n"
 
@@ -168,8 +168,8 @@ msgid "The defined Job resources are:\n"
 msgstr "Les Job définis sont :\n"
 
 #: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
 msgid "Job"
 msgstr "Job"
 
@@ -194,8 +194,8 @@ msgstr "Sélectionnez le Job de restauration"
 msgid "The defined Client resources are:\n"
 msgstr "Les clients définis sont :\n"
 
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
 #: src/wx-console/wxbrestorepanel.cpp:336
 #: src/wx-console/wxbrestorepanel.cpp:354
 #: src/wx-console/wxbrestorepanel.cpp:431
@@ -256,7 +256,7 @@ msgstr "Sélectionnez le client"
 msgid "Could not find Pool \"%s\": ERR=%s"
 msgstr "Impossible de trouver le Pool \"%s\" : ERR=%s"
 
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
 #, c-format
 msgid "Error obtaining pool ids. ERR=%s\n"
 msgstr "Erreur pendant lors de la récupération du pool. ERR=%s\n"
@@ -271,12 +271,12 @@ msgid "Defined Pools:\n"
 msgstr "Pools définis :\n"
 
 #: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
 msgid "*None*"
 msgstr ""
 
 #: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
 #: src/wx-console/wxbrestorepanel.cpp:527
 #: src/wx-console/wxbrestorepanel.cpp:537
 #: src/wx-console/wxbrestorepanel.cpp:1834
@@ -420,7 +420,7 @@ msgstr "Attention le Job %s n'est pas en cours. Continuons quand même...\n"
 msgid "Unauthorized command from this console.\n"
 msgstr "Commande interdite depuis cette console.\n"
 
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
 msgid "No Jobs running.\n"
 msgstr "Pas de job en cours.\n"
 
@@ -770,8 +770,8 @@ msgstr "Fichier : %s\n"
 msgid "Start Admin JobId %d, Job=%s\n"
 msgstr ""
 
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
 #, fuzzy, c-format
 msgid "Error getting Job record for Job report: ERR=%s"
 msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
@@ -788,8 +788,8 @@ msgstr "*** Admin en Erreur ***"
 msgid "Admin Canceled"
 msgstr "Admin Annulé"
 
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
 #, c-format
 msgid "Inappropriate term code: %c\n"
 msgstr ""
@@ -798,7 +798,7 @@ msgstr ""
 msgid "Bacula "
 msgstr "Bacula "
 
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -836,66 +836,66 @@ msgstr ""
 "      -?             affiche ce message.\n"
 "\n"
 
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
 #: src/filed/filed.c:218 src/qt-console/main.cpp:165
 msgid "Cryptography library initialization failed.\n"
 msgstr ""
 
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
 #: src/filed/filed.c:223 src/qt-console/main.cpp:169
 #, c-format
 msgid "Please correct configuration file: %s\n"
 msgstr "Merci de corriger le fichier de configuration : %s\n"
 
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
 msgid "Too many open reload requests. Request ignored.\n"
 msgstr ""
 
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
 msgid "Out of reload table entries. Giving up.\n"
 msgstr ""
 
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
 msgid "Resetting previous configuration.\n"
 msgstr "Retour à la dernière configuration.\n"
 
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
 #, c-format
 msgid ""
 "No Director resource defined in %s\n"
 "Without that I don't know who I am :-(\n"
 msgstr ""
 
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
 #, c-format
 msgid "No Messages resource defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
 #, c-format
 msgid "Only one Director resource permitted in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
 #: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
 #: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
 #: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
 msgid "TLS required but not configured in Bacula.\n"
 msgstr ""
 
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
 #, c-format
 msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -903,46 +903,46 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
 #, c-format
 msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
 #, c-format
 msgid "No Job records defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
 #, c-format
 msgid "Hey something is wrong. p=0x%lu\n"
 msgstr ""
 
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
 #, c-format
 msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
 msgstr ""
 
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
 msgid "Too many items in Job resource\n"
 msgstr ""
 
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
 #, c-format
 msgid "No storage specified in Job \"%s\" nor in Pool.\n"
 msgstr "Pas de Storage spécifié dans le job \"%s\" ni dans le Pool.\n"
 
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
 #, c-format
 msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -950,52 +950,52 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
 #, c-format
 msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
 #, c-format
 msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
 #, c-format
 msgid "Could not open Catalog \"%s\", database \"%s\".\n"
 msgstr ""
 "Impossible d'ouvrir le catalogue \"%s\", sur la base de données \"%s\".\n"
 
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
 #, fuzzy, c-format
 msgid "Could not create storage record for %s\n"
 msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
 
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
 #, fuzzy, c-format
 msgid "Could not update storage record for %s\n"
 msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
 
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
 #, fuzzy, c-format
 msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr "Impossible d'ouvrir %s : ERR=%s\n"
@@ -1014,18 +1014,18 @@ msgstr "Attendait une option de FileSet, eu : %s:"
 msgid "Old style Include/Exclude not supported\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
 #, c-format
 msgid "Expecting keyword, got: %s\n"
 msgstr "Attendait un mot clef, eu : %s\n"
 
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
 #: src/lib/parse_conf.c:976
 #, c-format
 msgid "expected an equals, got: %s"
 msgstr "attendait un égale, eu : %s"
 
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
 #, c-format
 msgid "Keyword %s not permitted in this resource"
 msgstr ""
@@ -1077,7 +1077,7 @@ msgstr ""
 msgid "Options section not permitted in Exclude\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
 #, c-format
 msgid "Expecting open brace. Got %s"
 msgstr "Attendait {, eu : %s"
@@ -1271,13 +1271,13 @@ msgid ""
 msgstr ""
 "Il n'y a plus de job associé avec le volume \"%s\". Il est marqué purgé.\n"
 
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d ...\n"
 msgstr "Connexion au Storage Daemon %s (%s:%d)...\n"
 
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
 msgid "Failed to connect to Storage daemon.\n"
 msgstr "Impossible de se connecter au Storage daemon.\n"
 
@@ -1360,34 +1360,34 @@ msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
 msgid "Could not get or create the FileSet record.\n"
 msgstr "Impossible de créer la structure BSOCK cliente.\n"
 
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
 #, fuzzy, c-format
 msgid "Error getting Client record for Job report: ERR=%s"
 msgstr "Impossible de mettre à jour les informations du Volume : ERR=%s"
 
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
 #, c-format
 msgid "Error getting Media record for Volume \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
 msgid "Backup OK -- with warnings"
 msgstr "Backup OK -- avec des erreurs"
 
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
 msgid "Backup OK"
 msgstr "Backup OK"
 
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
 msgid "*** Backup Error ***"
 msgstr "*** Backup en erreur ***"
 
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
 msgid "Backup Canceled"
 msgstr "Backup annulé"
 
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -1466,93 +1466,93 @@ msgstr "Pas de job programmé.\n"
 msgid "disabled"
 msgstr "est bloqué"
 
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
 msgid "Keywords for the show command are:\n"
 msgstr ""
 
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
 #, c-format
 msgid "%s resource %s not found.\n"
 msgstr "%s ressource %s introuvable.\n"
 
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
 #, c-format
 msgid "Resource %s not found\n"
 msgstr "Ressource %s introuvable\n"
 
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
 msgid "Hey! DB is NULL\n"
 msgstr ""
 
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
 #, c-format
 msgid "Jobid %d used %d Volume(s): %s\n"
 msgstr "JobId %d a utilisé %d volume(s) : %s\n"
 
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
 msgid "No Pool specified.\n"
 msgstr "Pas de Pool spécifié.\n"
 
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
 #, c-format
 msgid "Pool: %s\n"
 msgstr "Pool : %s\n"
 
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
 msgid "Ignoring invalid value for days. Max is 50.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
 #, c-format
 msgid "Unknown list keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
 #, c-format
 msgid "%s is not a job name.\n"
 msgstr "%s n'est pas un nom de job.\n"
 
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
 #, fuzzy, c-format
 msgid "Could not find Pool for Job %s\n"
 msgstr "Impossible d'ouvrir le device %s\n"
 
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
 #, fuzzy, c-format
 msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
 msgstr "Impossible de trouver le prochain Volume pour le Job %s (%s, %s).\n"
 
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
 #, fuzzy, c-format
 msgid ""
 "The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
 msgstr "Le prochain Volume utilisé par le Job \"%s\" (%s, %s) sera %s\n"
 
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
 #, c-format
 msgid "Could not find next Volume for Job %s.\n"
 msgstr "Impossible de trouver le prochain volume pour le Job %s.\n"
 
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
 #, c-format
 msgid "Could not open database \"%s\".\n"
 msgstr "Impossible d'ouvrir la base de données \"%s\".\n"
 
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
 #, c-format
 msgid "Pool %s not in database. %s"
 msgstr "Pool %s introuvable en base. %s"
 
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
 #, c-format
 msgid "Pool %s created in database.\n"
 msgstr "Pool %s créé en base.\n"
 
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
 msgid "You have no messages.\n"
 msgstr "Vous n'avez pas de messages.\n"
 
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
 msgid "Message too long to display.\n"
 msgstr ""
 
@@ -1565,89 +1565,89 @@ msgstr ""
 msgid ": is an invalid command.\n"
 msgstr ": est une commande invalide.\n"
 
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
 #: src/dird/ua_restore.c:823
 #, c-format
 msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
 msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
 #: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
 #: src/dird/job.c:1160 src/dird/job.c:1164
 msgid "unknown source"
 msgstr "source inconnue"
 
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d\n"
 msgstr "Connexion au Storage Daemon %s (%s:%d)\n"
 
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
 msgid "Connected to storage daemon\n"
 msgstr "Connecté au Storage Daemon\n"
 
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
 #: src/dird/ua_status.c:397
 #, c-format
 msgid "Connecting to Client %s at %s:%d\n"
 msgstr "Connexion au client %s (%s:%d)\n"
 
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
 msgid "Failed to connect to Client.\n"
 msgstr "Impossible de se connecter au Client.\n"
 
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
 #, fuzzy, c-format
 msgid "Unknown command: %s\n"
 msgstr "Erreur inconnue."
 
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
 msgid "Available daemons are: \n"
 msgstr "Les démons disponibles sont :\n"
 
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
 msgid "Director"
 msgstr "Director"
 
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
 msgid "Select daemon type to make die"
 msgstr "Sélectionnez le composant a tuer"
 
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
 msgid "The Director will generate a deadlock.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
 msgid "The Director will segment fault.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
 msgid "Access to specified Client or FileSet not allowed.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
 #: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
 #: src/dird/ua_restore.c:990
 #, c-format
 msgid "Query failed: %s. ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
 #, fuzzy
 msgid "query keyword not found.\n"
 msgstr "%s ressource %s introuvable.\n"
 
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
 #, fuzzy, c-format
 msgid "List MediaType failed: ERR=%s\n"
 msgstr "fopen %s en erreur : ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
 #, fuzzy, c-format
 msgid "List Media failed: ERR=%s\n"
 msgstr "fopen %s en erreur : ERR=%s\n"
 
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
 #, fuzzy, c-format
 msgid "List Location failed: ERR=%s\n"
 msgstr "Erreur sur l'ouverture du périphérique. ERR=%s\n"
@@ -2000,11 +2000,11 @@ msgstr "Entrez le nom du Volume : "
 msgid "Enter base volume name: "
 msgstr "Entrez le nom de base du volume : "
 
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
 msgid "Volume name too long.\n"
 msgstr "Nom de Volume trop long.\n"
 
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
 msgid "Volume name must be at least one character long.\n"
 msgstr "Le nom du volume doit comporter au moins un caractère\n"
 
@@ -2065,11 +2065,11 @@ msgstr "Pool %s créé.\n"
 msgid "Python interpreter restarted.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
 msgid "Nothing done.\n"
 msgstr "Rien de fait.\n"
 
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
 #, c-format
 msgid "Client \"%s\" not found.\n"
 msgstr "le client \"%s\" est introuvable.\n"
@@ -2096,7 +2096,7 @@ msgstr ""
 msgid "Select daemon type to set debug level"
 msgstr "Sélectionnez le composant a mettre à jour"
 
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
 #, fuzzy, c-format
 msgid "No authorization for Client \"%s\"\n"
 msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
@@ -2105,7 +2105,7 @@ msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
 msgid "Client name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
 #, c-format
 msgid "No authorization for Job \"%s\"\n"
 msgstr ""
@@ -2128,7 +2128,7 @@ msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
 msgid "Fileset name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
 #, fuzzy, c-format
 msgid "Level \"%s\" not valid.\n"
 msgstr "Le type %s est invalide.\n"
@@ -2137,24 +2137,29 @@ msgstr "Le type %s est invalide.\n"
 msgid "Level value missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
 #, fuzzy
 msgid "Invalid value for accurate. It must be yes or no.\n"
 msgstr "Saisie invalide. Veuillez répondre oui ou non.\n"
 
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+#, fuzzy
+msgid "Accurate value missing.\n"
+msgstr "La valeur actuelle est : %s\n"
+
+#: src/dird/ua_cmds.c:1167
 msgid "No job specified.\n"
 msgstr "Pas de job sélectionné.\n"
 
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
 msgid "Error sending include list.\n"
 msgstr "Erreur pendant l'envoi de la liste d'inclusion.\n"
 
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
 msgid "Error sending exclude list.\n"
 msgstr "Erreur pendant l'envoi de la liste d'exclusion.\n"
 
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
 msgid ""
 "In general it is not a good idea to delete either a\n"
 "Pool or a Volume since they may contain data.\n"
@@ -2164,21 +2169,41 @@ msgstr ""
 "n'est pas une bonne idée car ils peuvent contenir des données.\n"
 "\n"
 
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
 msgid "Choose catalog item to delete"
 msgstr "Choisissez l'objet du catalogue à supprimer"
 
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
 msgid "Enter JobId to delete: "
 msgstr "Saisissez le JobId à supprimer : "
 
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, fuzzy, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr "Êtes vous certain de vouloir supprimer ce Pool ? (oui/non) : "
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
 #, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
+#, fuzzy, c-format
+msgid "Jobid %s and associated records deleted from the catalog.\n"
 msgstr ""
 "Le Job %s et les enregistrements associés ont été supprimés du catalogue.\n"
 
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
 #, c-format
 msgid ""
 "\n"
@@ -2189,38 +2214,38 @@ msgstr ""
 "Cette commande va supprimer le Volume %s\n"
 "et tous les Jobs sauvegardés sur celui-ci du Catalogue\n"
 
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
 #, fuzzy, c-format
 msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
 msgstr "Êtes vous certain de vouloir supprimer ce Volume ? (oui/non) : "
 
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
 msgid "Can't list jobs on this volume\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
 #, fuzzy, c-format
 msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
 msgstr "Êtes vous certain de vouloir supprimer ce Pool ? (oui/non) : "
 
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
 #, c-format
 msgid "Using Catalog name=%s DB=%s\n"
 msgstr "Utilisation du Catalogue name=%s DB=%s\n"
 
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
 msgid "ERR: Can't open db\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
 msgid "Wait on mount timed out\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
 msgid "ERR: Job was not found\n"
 msgstr "ERR: Job %s non trouvé\n"
 
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
 #, fuzzy
 msgid ""
 "  Command       Description\n"
@@ -2229,7 +2254,7 @@ msgstr ""
 "  Commande   Description\n"
 "  ========   ===========\n"
 
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
 #, c-format
 msgid ""
 "  %-13s %s\n"
@@ -2238,12 +2263,12 @@ msgid ""
 "\t%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
 #, fuzzy, c-format
 msgid "  %-13s %s\n"
 msgstr "  %-10s %s\n"
 
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -2251,7 +2276,7 @@ msgid ""
 "\n"
 msgstr ": est une commande invalide.\n"
 
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
 msgid ""
 "\n"
 "When at a prompt, entering a period cancels the command.\n"
@@ -2260,22 +2285,22 @@ msgstr ""
 "\n"
 "Sur une question, tapez un point (.) pour annuler la commande en cours.\n"
 
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
 #, c-format
 msgid "No authorization for Catalog \"%s\"\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
 #, c-format
 msgid "Could not open catalog database \"%s\".\n"
 msgstr "Impossible d'ouvrir le catalogue \"%s\".\n"
 
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
 #, c-format
 msgid "Using Catalog \"%s\"\n"
 msgstr "Utilisation du Catalogue \"%s\"\n"
@@ -2494,57 +2519,57 @@ msgstr "1 répertoire dé-sélectionné\n"
 msgid "%d directories unmarked.\n"
 msgstr "%d répertoires dé-sélectionnés.\n"
 
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
 #: src/qt-console/tray-monitor/tray_conf.cpp:168
 #, c-format
 msgid "No %s resource defined\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
 #, c-format
 msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
 #, c-format
 msgid "   query_file=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
 msgid "  --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
 #, c-format
 msgid "Console: name=%s SSL=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
 #, c-format
 msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
 #, c-format
 msgid "Counter: name=%s min=%d max=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
 #, c-format
 msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
 #, c-format
 msgid ""
 "Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2553,286 +2578,286 @@ msgid ""
 "      poolid=%s volname=%s MediaType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
 #, c-format
 msgid ""
 "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
 "      DeviceName=%s MediaType=%s StorageId=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
 #, c-format
 msgid ""
 "Catalog: name=%s address=%s DBport=%d db_name=%s\n"
 "      db_driver=%s db_user=%s MutliDBConn=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
 #, c-format
 msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
 msgid "JobDefs"
 msgstr "JobDefs"
 
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
 #, c-format
 msgid ""
 "     MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
 "%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
 #, c-format
 msgid "     SpoolSize=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
 #, c-format
 msgid "     Accurate=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
 #, c-format
 msgid "     SelectionType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
 #, c-format
 msgid "  --> Where=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
 #, c-format
 msgid "  --> RegexWhere=%s\n"
 msgstr "  --> RegexWhere=%s\n"
 
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
 #, c-format
 msgid "  --> Bootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
 #, c-format
 msgid "  --> WriteBootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
 #, fuzzy, c-format
 msgid "  --> PluginOptions=%s\n"
 msgstr "  --> RunOnSuccess=%u\n"
 
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
 #, c-format
 msgid "  --> MaxRunTime=%u\n"
 msgstr "  --> MaxRunTime=%u\n"
 
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
 #, c-format
 msgid "  --> MaxWaitTime=%u\n"
 msgstr "  --> MaxWaitTime=%u\n"
 
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
 #, c-format
 msgid "  --> MaxStartDelay=%u\n"
 msgstr "  --> MaxStartDelay=%u\n"
 
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
 #, fuzzy, c-format
 msgid "  --> MaxRunSchedTime=%u\n"
 msgstr "  --> MaxRunTime=%u\n"
 
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
 #, fuzzy, c-format
 msgid "  --> Base %s\n"
 msgstr "  --> Target=%s\n"
 
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
 msgid " --> RunScript\n"
 msgstr " --> RunScript\n"
 
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
 #, c-format
 msgid "  --> Command=%s\n"
 msgstr "  --> Command=%s\n"
 
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
 #, c-format
 msgid "  --> Target=%s\n"
 msgstr "  --> Target=%s\n"
 
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
 #, c-format
 msgid "  --> RunOnSuccess=%u\n"
 msgstr "  --> RunOnSuccess=%u\n"
 
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
 #, c-format
 msgid "  --> RunOnFailure=%u\n"
 msgstr "  --> RunOnFailure=%u\n"
 
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
 #, c-format
 msgid "  --> FailJobOnError=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
 #, c-format
 msgid "  --> RunWhen=%u\n"
 msgstr "  --> RunWhen=%u\n"
 
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
 #, c-format
 msgid "  --> Run=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
 #, c-format
 msgid "  --> SelectionPattern=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
 #, c-format
 msgid "FileSet: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
 #, c-format
 msgid "Schedule: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
 #, c-format
 msgid "  --> Run Level=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
 msgid "      hour="
 msgstr ""
 
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
 msgid "      mday="
 msgstr ""
 
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
 msgid "      month="
 msgstr ""
 
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
 msgid "      wday="
 msgstr ""
 
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
 msgid "      wom="
 msgstr ""
 
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
 msgid "      woy="
 msgstr ""
 
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
 #, c-format
 msgid "      mins=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
 msgid "     --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
 #, c-format
 msgid "Pool: name=%s PoolType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
 #, c-format
 msgid "      use_cat=%d use_once=%d cat_files=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
 #, c-format
 msgid "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
 #, c-format
 msgid "      VolUse=%s recycle=%d LabelFormat=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
 #, c-format
 msgid "      CleaningPrefix=%s LabelType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
 #, c-format
 msgid "      RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
 #, c-format
 msgid "      MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
 #, c-format
 msgid "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
 #, c-format
 msgid "      NextPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
 #, c-format
 msgid "      RecyclePool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
 #, fuzzy, c-format
 msgid "      ScratchPool=%s\n"
 msgstr "Utilisation du Catalogue \"%s\"\n"
 
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
 #, fuzzy, c-format
 msgid "      Catalog=%s\n"
 msgstr "Utilisation du Catalogue \"%s\"\n"
 
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
 #, c-format
 msgid "Messages: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
 #, c-format
 msgid "      mailcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
 #, c-format
 msgid "      opcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
 #: src/qt-console/tray-monitor/tray_conf.cpp:199
 #, c-format
 msgid "Unknown resource type %d in dump_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
 #: src/qt-console/tray-monitor/tray_conf.cpp:257
 #, c-format
 msgid "Unknown resource type %d in free_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
 #: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
 #: src/console/console_conf.c:259 src/filed/filed_conf.c:361
 #: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2841,54 +2866,54 @@ msgstr ""
 msgid "%s item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
 #: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
 #, c-format
 msgid "Too many items in %s resource\n"
 msgstr "Trop d'élément dans la ressource %s\n"
 
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
 #, c-format
 msgid "Cannot find Pool resource %s\n"
 msgstr "Impossible de trouver la ressource Pool \"%s\"\n"
 
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
 #, c-format
 msgid "Cannot find Console resource %s\n"
 msgstr "Impossible de trouver la ressource Console \"%s\"\n"
 
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
 #: src/filed/filed_conf.c:381
 #, c-format
 msgid "Cannot find Director resource %s\n"
 msgstr "Impossible de trouver la ressource Director \"%s\"\n"
 
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
 #, c-format
 msgid "Cannot find Storage resource %s\n"
 msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
 
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
 #, c-format
 msgid "Cannot find Job resource %s\n"
 msgstr "Impossible de trouver la ressource Job \"%s\"\n"
 
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
 #, c-format
 msgid "Cannot find Counter resource %s\n"
 msgstr "Impossible de trouver la ressource Counter \"%s\"\n"
 
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
 #, c-format
 msgid "Cannot find Client resource %s\n"
 msgstr "Impossible de trouver la ressource Client \"%s\"\n"
 
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
 #, c-format
 msgid "Cannot find Schedule resource %s\n"
 msgstr "Impossible de trouver la ressource Schedule \"%s\"\n"
 
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
 #: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
 #: src/qt-console/tray-monitor/tray_conf.cpp:314
 #: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2896,12 +2921,12 @@ msgstr "Impossible de trouver la ressource Schedule \"%s\"\n"
 msgid "Unknown resource type %d in save_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
 #, c-format
 msgid "Name item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
 #: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
 #: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
 #: src/qt-console/bat_conf.cpp:334
@@ -2909,43 +2934,43 @@ msgstr ""
 msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
 #, c-format
 msgid "Inserting %s res: %s index=%d pass=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
 #, fuzzy, c-format
 msgid "Expected one of: %s, got: %s"
 msgstr "Attendait %s, a pas : %s"
 
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
 #, c-format
 msgid "Expected a Migration Job Type keyword, got: %s"
 msgstr "Attendait un type de Job de Migration, eu : %s"
 
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
 #, c-format
 msgid "Expected a Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
 #, c-format
 msgid "Expected a Job Level keyword, got: %s"
 msgstr "Attendait un niveau de sauvegarde, eu : %s"
 
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
 #, c-format
 msgid "Expected a Restore replacement option, got: %s"
 msgstr "Attendait un niveau de remplacement, eu : %s"
 
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
 #: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
 #, c-format
 msgid "Expect %s, got: %s"
 msgstr "Attendait %s, a pas : %s"
 
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
 #, c-format
 msgid "Could not find config Resource %s referenced on line %d : %s\n"
 msgstr ""
@@ -3083,7 +3108,7 @@ msgid "Select full restore to a specified Job date"
 msgstr ""
 "Sélectionner la dernière sauvegarde pour un client avant une certaine date"
 
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
 #: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
 msgid "Cancel"
 msgstr "Annulé"
@@ -3518,48 +3543,48 @@ msgstr "Les valeurs doivent être supérieurs à zéro.\n"
 msgid "Slot too large.\n"
 msgstr "Slot trop grand.\n"
 
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
 msgid "command line"
 msgstr ""
 
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
 msgid "No slots in changer to scan.\n"
 msgstr "Pas de slot dans le magasin à scanner.\n"
 
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
 msgid "No Volumes found to label, or no barcodes.\n"
 msgstr "Pas de volume à labéliser ou pas de codebar.\n"
 
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
 #, c-format
 msgid "Slot %d greater than max %d ignored.\n"
 msgstr "Le slot %d est ignoré car il est supérieur au maximum %d.\n"
 
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
 #, c-format
 msgid "No VolName for Slot=%d InChanger set to zero.\n"
 msgstr "Pas de volume sur le Slot %d. Mise à zéro de InChanger.\n"
 
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
 #, c-format
 msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
 msgstr ""
 "Mise à jour des informations du volume \"%s\" dans le catalogue (Slot=%d).\n"
 
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
 #, c-format
 msgid "Catalog record for Volume \"%s\" is up to date.\n"
 msgstr "Le volume \"%s\" est à jour dans le catalogue.\n"
 
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
 #, c-format
 msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
 msgstr ""
 "Volume \"%s\" absent du catalogue. mise à zéro de InChanger pour le Slot="
 "%d.\n"
 
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
 #, c-format
 msgid ""
 "Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
@@ -3568,39 +3593,39 @@ msgstr ""
 "Le volume \"%s\" (VolStatus) a le statut \"%s\". Il doit être purgé ou bien\n"
 "recyclé avant de pouvoir le re-labéliser.\n"
 
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
 msgid "Enter new Volume name: "
 msgstr "Saisissez le nouveau nom du Volume : "
 
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
 #, c-format
 msgid "Media record for new Volume \"%s\" already exists.\n"
 msgstr "Le nouveau volume \"%s\" existe déjà en base.\n"
 
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
 msgid "Enter slot (0 or Enter for none): "
 msgstr "Saisissez le slot (0 ou Entrée pour aucun) : "
 
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
 #, c-format
 msgid "Delete of Volume \"%s\" failed. ERR=%s"
 msgstr "Impossible de supprimer le volume \"%s\". ERR=%s"
 
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
 #, c-format
 msgid "Old volume \"%s\" deleted from catalog.\n"
 msgstr "L'ancien volume \"%s\" a été supprimé du catalogue.\n"
 
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
 #, c-format
 msgid "Requesting to mount %s ...\n"
 msgstr "Demande pour monter %s...\n"
 
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
 msgid "Do not forget to mount the drive!!!\n"
 msgstr "N'oubliez pas de monter le lecteur.\n"
 
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
 msgid ""
 "The following Volumes will be labeled:\n"
 "Slot  Volume\n"
@@ -3610,99 +3635,99 @@ msgstr ""
 "Slot  Volume\n"
 "==============\n"
 
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
 #, fuzzy
 msgid "Do you want to label these Volumes? (yes|no): "
 msgstr ""
 "\n"
 "Voulez vous restaurer tous les fichiers ? (oui|non) : "
 
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
 #, c-format
 msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
 #, c-format
 msgid "Error setting InChanger: ERR=%s"
 msgstr "Impossible de positionner le flag InChanger : ERR=%s"
 
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
 #, c-format
 msgid "Maximum pool Volumes=%d reached.\n"
 msgstr "Le nombre maximum de volume (%d) pour ce pool est atteint.\n"
 
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
 #, c-format
 msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
 #, c-format
 msgid "Catalog error on cleaning tape: %s"
 msgstr ""
 
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
 #, c-format
 msgid "Illegal character \"%c\" in a volume name.\n"
 msgstr "Caractères « %c » interdits dans le nom d'un volume.\n"
 
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
 #, c-format
 msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
 msgstr "Envoie de la commande pour re-labéliser de \"%s\" à \"%s\"...\n"
 
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
 #, c-format
 msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
 msgstr "Demande de labélisation du volume \"%s\" Slot %d...\n"
 
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
 #, c-format
 msgid "Catalog record for Volume \"%s\", Slot %d  successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
 #, c-format
 msgid "Label command failed for Volume %s.\n"
 msgstr "Impossible de labéliser le volume %s.\n"
 
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
 msgid "Could not open SD socket.\n"
 msgstr "Impossible d'ouvrir la socket avec le SD.\n"
 
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
 #, c-format
 msgid "Invalid Slot number: %s\n"
 msgstr "Numéro de slot invalide : %s\n"
 
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
 #, c-format
 msgid "Invalid Volume name: %s\n"
 msgstr "Nom de Volume invalide : %s\n"
 
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
 #, c-format
 msgid "Device \"%s\" has %d slots.\n"
 msgstr "Le Device \"%s\" a %d slots.\n"
 
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
 #, c-format
 msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
 msgstr "La ressource Pool \"%s\" est introuvable pour le volume \"%s\"\n"
 
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
 #, fuzzy
 msgid "No Volumes found, or no barcodes.\n"
 msgstr "Pas de volume à labéliser ou pas de codebar.\n"
 
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
 msgid ""
 " Slot |   Volume Name    |   Status  |     Media Type       |      "
 "Pool          |\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
 msgid ""
 "------+------------------+-----------+----------------------"
 "+--------------------|\n"
@@ -3924,15 +3949,15 @@ msgid "New Recycle flag is: %s\n"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
 #: src/tools/dbcheck.c:1352
 msgid "yes"
 msgstr "oui"
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
 msgid "no"
 msgstr "non"
 
@@ -4011,7 +4036,7 @@ msgstr "Impossible de mettre à jour les informations du Volume : ERR=%s"
 msgid "New ActionOnPurge is: %s\n"
 msgstr "La nouvelle durée d'utilisation est : %s\n"
 
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
 msgid "Parameters to modify:\n"
 msgstr "Paramètre à modifier :\n"
 
@@ -4083,7 +4108,7 @@ msgstr ""
 msgid "Done"
 msgstr "Fin"
 
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
 msgid "Select parameter to modify"
 msgstr "Sélectionnez le paramètre à modifier"
 
@@ -4322,7 +4347,7 @@ msgstr ""
 msgid "Pool resource \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
 #, fuzzy, c-format
 msgid "Could not get job record for JobId %s to %s. ERR=%s"
 msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
@@ -4337,141 +4362,141 @@ msgstr ""
 msgid "Start %s JobId %s, Job=%s\n"
 msgstr "Démarrage du backup JobId %s, Job=%s\n"
 
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
 #, fuzzy, c-format
 msgid "No %s SQL selection pattern specified.\n"
 msgstr "Pas de storage sélectionné.\n"
 
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
 #, fuzzy, c-format
 msgid "SQL failed. ERR=%s\n"
 msgstr "fopen %s en erreur : ERR=%s\n"
 
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
 #, fuzzy, c-format
 msgid "No Volumes found to %s.\n"
 msgstr "Aucun volume trouvé pour la restauration.\n"
 
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
 #, fuzzy
 msgid "Invalid JobId found.\n"
 msgstr "Période invalide.\n"
 
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
 #, fuzzy, c-format
 msgid "Unknown %s Selection Type.\n"
 msgstr "Job du Type=%d inconnu\n"
 
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
 #, fuzzy, c-format
 msgid "No JobIds found to %s.\n"
 msgstr "Pas de job trouvé pour : %s.\n"
 
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
 #, fuzzy, c-format
 msgid "The following %u JobId%s chosen to be %s: %s\n"
 msgstr "Les fichiers suivants sont absents :\n"
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid " was"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid "s were"
 msgstr ""
 
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
 #, fuzzy, c-format
 msgid "%s using JobId=%s Job=%s\n"
 msgstr "Migration utilisant JobId=%s Job=%s\n"
 
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
 msgid "Could not start migration job.\n"
 msgstr ""
 
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
 #, fuzzy, c-format
 msgid "%s JobId %d started.\n"
 msgstr "Le job %d est annulé.\n"
 
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
 #, fuzzy, c-format
 msgid "No %s found to %s.\n"
 msgstr "Aucun volume trouvé pour la restauration.\n"
 
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
 #, c-format
 msgid "SQL error. Expected 1 MediaId got %d\n"
 msgstr ""
 
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
 #, fuzzy, c-format
 msgid "No %ss found to %s.\n"
 msgstr "Aucun volume trouvé pour la restauration.\n"
 
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
 msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
 msgstr ""
 
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
 #, fuzzy, c-format
 msgid "SQL to get uncopied jobs failed. ERR=%s\n"
 msgstr "fopen %s en erreur : ERR=%s\n"
 
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
 #, fuzzy, c-format
 msgid "No %s %s selection pattern specified.\n"
 msgstr "Pas de storage sélectionné.\n"
 
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
 #, fuzzy, c-format
 msgid "SQL to get %s failed. ERR=%s\n"
 msgstr "fopen %s en erreur : ERR=%s\n"
 
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
 #, c-format
 msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
 #, c-format
 msgid "Regex pattern matched no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
 #, c-format
 msgid "%s OK -- with warnings"
 msgstr "%s OK -- avec des avertissements"
 
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
 #, c-format
 msgid "%s OK"
 msgstr ""
 
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
 #, c-format
 msgid "*** %s Error ***"
 msgstr "*** %s Erreur ***"
 
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
 #, c-format
 msgid "%s Canceled"
 msgstr "%s Annulé"
 
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
 #, c-format
 msgid "Inappropriate %s term code"
 msgstr ""
 
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
 #, fuzzy, c-format
 msgid "%s -- no files to %s"
 msgstr "Aucun volume trouvé pour la restauration.\n"
 
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -4535,17 +4560,17 @@ msgstr ""
 "  Statut de fin du SD :    %s\n"
 "  Statut de fin :          %s\n"
 
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
 #, c-format
 msgid "No Next Pool specification found in Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
 #, c-format
 msgid "No Storage specification found in Next Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
 #, fuzzy
 msgid "Storage from Pool's NextPool resource"
 msgstr "Sélectionnez le Pool"
@@ -4554,46 +4579,46 @@ msgstr "Sélectionnez le Pool"
 msgid "Choose item to prune"
 msgstr "Que voulez vous purger du catalogue (prune)"
 
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
 #, c-format
 msgid "Cannot prune Volume \"%s\" because it is archived.\n"
 msgstr "Impossible de pruner le Volume \"%s\" car il est archivé.\n"
 
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
 #, fuzzy
 msgid "Pruned Jobs from JobHisto catalog.\n"
 msgstr "Purge du catalogue (prune) de %d %s du client %s.\n"
 
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
 #, fuzzy
 msgid "Begin pruning Files.\n"
 msgstr "Début de purge des fichiers du catalogue (prune).\n"
 
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
 msgid "No Files found to prune.\n"
 msgstr "Pas de fichier trouvé pour la purge du catalogue (prune).\n"
 
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
 #, c-format
 msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
 msgstr ""
 "Purge du catalogue des fichiers (prune) de %s Jobs pour le client %s.\n"
 
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
 #, fuzzy, c-format
 msgid "Begin pruning Jobs older than %s.\n"
 msgstr "Début de purge des Jobs du catalogue (prune).\n"
 
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
 #, c-format
 msgid "Pruned %d %s for client %s from catalog.\n"
 msgstr "Purge du catalogue (prune) de %d %s du client %s.\n"
 
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
 msgid "Jobs"
 msgstr "Jobs"
 
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
 msgid "No Jobs found to prune.\n"
 msgstr "Pas de job trouvé pour la purge du catalogue (prune).\n"
 
@@ -4618,51 +4643,59 @@ msgstr "Job échoué.\n"
 msgid "Job queued. JobId=%s\n"
 msgstr "Job mis en queue. JobId=%s\n"
 
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr "Réponse invalide. Vous devez répondre oui ou non.\n"
+
+#: src/dird/ua_run.c:207
 msgid "Job not run.\n"
 msgstr "Job non lancé.\n"
 
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
 msgid "Level"
 msgstr "Type"
 
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
 #, fuzzy
 msgid "Restore Client"
 msgstr "Restauration annulée"
 
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
 #: src/wx-console/wxbrestorepanel.cpp:854
 #: src/wx-console/wxbrestorepanel.cpp:1918
 msgid "When"
 msgstr "Quand"
 
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
 #: src/wx-console/wxbrestorepanel.cpp:1128
 #: src/wx-console/wxbrestorepanel.cpp:1921
 msgid "Priority"
 msgstr "Priorité"
 
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
 msgid "Verify Job"
 msgstr "Job de vérification"
 
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
 #: src/wx-console/wxbrestorepanel.cpp:1899
 msgid "Bootstrap"
 msgstr "Bootstrap"
 
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
 #: src/wx-console/wxbrestorepanel.cpp:1104
 #: src/wx-console/wxbrestorepanel.cpp:1901
 msgid "Where"
 msgstr "Destination"
 
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
 msgid "File Relocation"
 msgstr ""
 
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
 #: src/wx-console/wxbrestorepanel.cpp:1112
 #: src/wx-console/wxbrestorepanel.cpp:1905
 #: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4672,221 +4705,221 @@ msgstr ""
 msgid "Replace"
 msgstr "Écrasement"
 
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
 msgid "JobId"
 msgstr "JobId"
 
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
 msgid "Plugin Options"
 msgstr ""
 
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
 msgid "user selection"
 msgstr ""
 
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
 msgid ""
 "Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
 msgstr ""
 "Saisissez la date de lancement (YYYY-MM-DD HH:MM:SS) (ou maintenant) : "
 
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
 msgid "Invalid time, using current time.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
 msgid "Enter new Priority: "
 msgstr "Saisissez la nouvelle priorité : "
 
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
 msgid "Priority must be a positive integer.\n"
 msgstr "La priorité doit être un entier positif.\n"
 
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
 msgid "Please enter the Bootstrap file name: "
 msgstr "Saisissez le nom du fichier Bootstrap : "
 
 # Impossible d'ouvrir %s : ERR=%s
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
 #, c-format
 msgid "Warning cannot open %s: ERR=%s\n"
 msgstr "Impossible d'ouvrir %s : ERR=%s\n"
 
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
 #, fuzzy
 msgid "Please enter the full path prefix for restore (/ for none): "
 msgstr "Saisissez le chemin (prefix) pour la restauration (/ pour aucun) : "
 
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
 msgid "Replace:\n"
 msgstr "Écrasement :\n"
 
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
 msgid "Select replace option"
 msgstr "Saisissez l'option d'écrasement"
 
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
 msgid ""
 "You must set the bootstrap file to NULL to be able to specify a JobId.\n"
 msgstr ""
 "Vous ne devez pas spécifié de fichier bootstrap pour pouvoir utiliser un "
 "JobId.\n"
 
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
 #, fuzzy
 msgid "Please Plugin Options string: "
 msgstr "Saisissez le début du chemin (prefix) à enlever : "
 
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
 msgid "User input"
 msgstr ""
 
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
 #, c-format
 msgid "Invalid replace option: %s\n"
 msgstr "Option d'écrasement (Replace) invalide : %s\n"
 
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
 msgid "This will replace your current Where value\n"
 msgstr ""
 
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
 msgid "Strip prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
 msgid "Add prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
 msgid "Add file suffix"
 msgstr ""
 
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
 msgid "Enter a regexp"
 msgstr ""
 
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
 msgid "Test filename manipulation"
 msgstr ""
 
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
 msgid "Use this ?"
 msgstr ""
 
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
 #, fuzzy
 msgid "Please enter the path prefix to strip: "
 msgstr "Saisissez le début du chemin (prefix) à enlever : "
 
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
 #, fuzzy
 msgid "Please enter the path prefix to add (/ for none): "
 msgstr "Saisissez le chemin (prefix) à ajouter (/ pour aucun) : "
 
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
 #, fuzzy
 msgid "Please enter the file suffix to add: "
 msgstr "Saisissez une extention à ajouter aux fichiers : "
 
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
 msgid "Please enter a valid regexp (!from!to!): "
 msgstr "Saisissez une regexp valide (!rechercher!remplacer!) : "
 
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
 #, c-format
 msgid "regexwhere=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
 msgid "Cannot use your regexp\n"
 msgstr "Impossible d'utiliser votre regexp\n"
 
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
 msgid "Enter a period (.) to stop this test\n"
 msgstr ""
 
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
 msgid "Please enter filename to test: "
 msgstr "Saisissez un nom de fichier à tester : "
 
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
 #, c-format
 msgid "%s -> %s\n"
 msgstr "%s -> %s\n"
 
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
 msgid "Cannot use your regexp.\n"
 msgstr "Impossible d'utiliser votre regexp.\n"
 
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
 msgid "Levels:\n"
 msgstr "Types :\n"
 
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
 #: src/lib/util.c:472 src/filed/status.c:519
 msgid "Full"
 msgstr "Full"
 
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
 #: src/filed/status.c:522
 msgid "Incremental"
 msgstr "Incrémental"
 
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
 #: src/filed/status.c:525
 msgid "Differential"
 msgstr "Différentiel"
 
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
 #: src/filed/status.c:528
 msgid "Since"
 msgstr "Depuis"
 
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
 msgid "VirtualFull"
 msgstr ""
 
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
 msgid "Select level"
 msgstr "Saisissez le type"
 
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
 msgid "Initialize Catalog"
 msgstr "Initialisez le catalogue"
 
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
 #: src/filed/status.c:531
 msgid "Verify Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
 msgid "Verify Volume to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
 msgid "Verify Disk to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
 msgid "Verify Volume Data (not yet implemented)"
 msgstr "Vérification des données sur le volume (pas encore implémenté)"
 
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
 msgid "Level not appropriate for this Job. Cannot be changed.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
 #, fuzzy, c-format
 msgid ""
 "Run Admin Job\n"
@@ -4905,7 +4938,7 @@ msgstr ""
 "Quand    : %s\n"
 "Priorité : %d\n"
 
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
 #, fuzzy, c-format
 msgid ""
 "Run Backup job\n"
@@ -4929,12 +4962,12 @@ msgstr ""
 "Quand    : %s\n"
 "Priorité : %d\n"
 
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
 #, fuzzy, c-format
 msgid "Could not get job record for selected JobId. ERR=%s"
 msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
 
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
 #, fuzzy, c-format
 msgid ""
 "Run Verify Job\n"
@@ -4961,11 +4994,11 @@ msgstr ""
 "Quand      : %s\n"
 "Priorité   : %d\n"
 
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
 msgid "Please enter a JobId for restore: "
 msgstr "Saisissez le JobId pour la restauration : "
 
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
 #, fuzzy, c-format
 msgid ""
 "Run Restore job\n"
@@ -4995,7 +5028,7 @@ msgstr ""
 "Catalogue :       %s\n"
 "Priorité :        %d\n"
 
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -5026,7 +5059,7 @@ msgstr ""
 "Priorité :       %d\n"
 "Options Plugins: %s\n"
 
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -5037,17 +5070,17 @@ msgstr ""
 "JobName :    %s\n"
 "Bootstrap :  %s\n"
 
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
 #, c-format
 msgid "RegexWhere: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
 #, c-format
 msgid "Where:      %s\n"
 msgstr "Where :     %s\n"
 
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
 #, c-format
 msgid ""
 "Replace:         %s\n"
@@ -5068,230 +5101,230 @@ msgstr ""
 "Priorité :        %d\n"
 "Options Plugins : %s\n"
 
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
 #, fuzzy
 msgid "Run Copy job\n"
 msgstr "Sélectionnez le Job de restauration"
 
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
 #, fuzzy
 msgid "Run Migration job\n"
 msgstr "Sélectionnez le Job de restauration"
 
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
 #, c-format
 msgid "Unknown Job Type=%d\n"
 msgstr "Job du Type=%d inconnu\n"
 
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
 #, c-format
 msgid "Value missing for keyword %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
 msgid "Job name specified twice.\n"
 msgstr "Le job est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
 msgid "JobId specified twice.\n"
 msgstr "Le JobId est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
 msgid "Client specified twice.\n"
 msgstr "Le client est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
 msgid "FileSet specified twice.\n"
 msgstr "Le FileSet est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
 msgid "Level specified twice.\n"
 msgstr "Le type (Level) est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
 msgid "Storage specified twice.\n"
 msgstr "Le Storage est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
 msgid "RegexWhere or Where specified twice.\n"
 msgstr "RegexWhere ou Where est déjà spécifiée.\n"
 
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
 #, fuzzy
 msgid "No authorization for \"regexwhere\" specification.\n"
 msgstr "La destination (Where) est déjà spécifiée.\n"
 
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
 msgid "Where or RegexWhere specified twice.\n"
 msgstr "RegexWhere ou Where est déjà spécifiée.\n"
 
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
 #, fuzzy
 msgid "No authoriztion for \"where\" specification.\n"
 msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
 
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
 msgid "Bootstrap specified twice.\n"
 msgstr "Le bootstrap est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
 msgid "Replace specified twice.\n"
 msgstr "L'option d'écrasement (Replace) est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
 msgid "When specified twice.\n"
 msgstr "La planification (When) est déjà spécifiée.\n"
 
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
 msgid "Priority specified twice.\n"
 msgstr "La priorité (Priority) est déjà spécifiée.\n"
 
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
 msgid "Priority must be positive nonzero setting it to 10.\n"
 msgstr ""
 "La priorité doit être supérieure à zéro. Utilisation d'une priorité de 10.\n"
 
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
 msgid "Verify Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
 msgid "Migration Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
 msgid "Pool specified twice.\n"
 msgstr "Le pool est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
 #, fuzzy
 msgid "Restore Client specified twice.\n"
 msgstr "Le client est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
 #, fuzzy
 msgid "Plugin Options not yet implemented.\n"
 msgstr "Le client est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
 #, fuzzy
 msgid "Plugin Options specified twice.\n"
 msgstr "Le client est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
 #, fuzzy
 msgid "No authoriztion for \"PluginOptions\" specification.\n"
 msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
 
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
 #, fuzzy
 msgid "Spool flag specified twice.\n"
 msgstr "Le pool est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
 #, fuzzy
 msgid "Invalid spooldata flag.\n"
 msgstr "Période invalide.\n"
 
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
 #, fuzzy
 msgid "IgnoreDuplicateCheck flag specified twice.\n"
 msgstr "Le pool est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
 #, fuzzy
 msgid "Invalid ignoreduplicatecheck flag.\n"
 msgstr "Période invalide.\n"
 
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
 #, fuzzy
 msgid "Accurate flag specified twice.\n"
 msgstr "Le pool est déjà spécifié.\n"
 
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
 #, fuzzy
 msgid "Invalid accurate flag.\n"
 msgstr "Période invalide.\n"
 
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
 #, c-format
 msgid "Invalid keyword: %s\n"
 msgstr "Argument invalide : %s\n"
 
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
 #, c-format
 msgid "Catalog \"%s\" not found\n"
 msgstr "Le catalogue \"%s\" est introuvable\n"
 
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
 #, c-format
 msgid "No authorization. Catalog \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
 #, c-format
 msgid "Job \"%s\" not found\n"
 msgstr "Le job \"%s\" est introuvable\n"
 
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
 msgid "A job name must be specified.\n"
 msgstr "Un nom de Job doit être spécifié.\n"
 
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
 #, c-format
 msgid "No authorization. Job \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
 #, c-format
 msgid "Pool \"%s\" not found.\n"
 msgstr "Le pool  \"%s\" est introuvable.\n"
 
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
 #, c-format
 msgid "No authorization. Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
 #, c-format
 msgid "Storage \"%s\" not found.\n"
 msgstr "Le Storage \"%s\" est introuvable.\n"
 
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
 msgid "No storage specified.\n"
 msgstr "Pas de storage sélectionné.\n"
 
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
 #, c-format
 msgid "No authorization. Storage \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
 #, c-format
 msgid "No authorization. Client \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
 #, fuzzy, c-format
 msgid "Restore Client \"%s\" not found.\n"
 msgstr "le client \"%s\" est introuvable.\n"
 
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
 #, c-format
 msgid "FileSet \"%s\" not found.\n"
 msgstr "Le FileSet \"%s\" est introuvable.\n"
 
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
 #, c-format
 msgid "No authorization. FileSet \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
 #, c-format
 msgid "Verify Job \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
 #, c-format
 msgid "Migration Job \"%s\" not found.\n"
 msgstr ""
@@ -5349,25 +5382,25 @@ msgstr ""
 msgid "Start Backup JobId %s, Job=%s\n"
 msgstr "Démarrage du backup JobId %s, Job=%s\n"
 
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
 #, c-format
 msgid "Unexpected Client Job message: %s\n"
 msgstr ""
 
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
 #, c-format
 msgid "Network error with FD during %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
 msgid "No Job status returned from FD.\n"
 msgstr "Impossible de récupérer le statut du Job depuis le FD.\n"
 
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
 msgid "Backup failed -- incomplete"
 msgstr ""
 
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5440,12 +5473,12 @@ msgstr ""
 "  Statut de fin :          %s\n"
 "\n"
 
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
 #, c-format
 msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
 #, c-format
 msgid ""
 "Could not open WriteBootstrap file:\n"
@@ -5454,7 +5487,7 @@ msgstr ""
 "Impossible d'ouvrir le fichier bootstrap (WriteBootstrap) :\n"
 "%s : ERR=%s\n"
 
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
 #, c-format
 msgid "Could not open bootstrap file %s: ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier bootstrap %s : ERR=%s\n"
@@ -5469,40 +5502,40 @@ msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
 msgid "Could not acquire read storage lock for \"%s\""
 msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
 
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
 msgid ""
 "Cannot restore without a bootstrap file.\n"
 "You probably ran a restore job directly. All restore jobs must\n"
 "be run using the restore command.\n"
 msgstr ""
 
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
 #, c-format
 msgid "Start Restore Job %s\n"
 msgstr "Démarrage du Job de restauration %s\n"
 
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
 msgid "Restore OK -- warning file count mismatch"
 msgstr "Restauration Ok -- attention le nombre de fichier ne correspond pas"
 
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
 msgid "Restore OK"
 msgstr "Restauration OK"
 
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
 #, fuzzy
 msgid "Restore OK -- with warnings"
 msgstr "Backup OK -- avec des erreurs"
 
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
 msgid "*** Restore Error ***"
 msgstr "*** Restauration en erreur ***"
 
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
 msgid "Restore Canceled"
 msgstr "Restauration annulée"
 
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
 #, fuzzy, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5546,7 +5579,7 @@ msgstr "Statut disponible pour :\n"
 msgid "Select daemon type for status"
 msgstr "Saisissez le composant à afficher"
 
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s\n"
 msgstr "%s Version : %s (%s) %s %s %s\n"
@@ -5556,7 +5589,7 @@ msgstr "%s Version : %s (%s) %s %s %s\n"
 msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
 msgstr "Démon démarré depuis %s, %d jobs lancés depuis cette date.\n"
 
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
 #, fuzzy, c-format
 msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
 msgstr " Heap: bytes=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
@@ -5621,7 +5654,7 @@ msgstr ""
 msgid "No Scheduled Jobs.\n"
 msgstr "Pas de job programmé.\n"
 
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
 msgid ""
 "\n"
 "Running Jobs:\n"
@@ -5795,7 +5828,7 @@ msgstr ""
 msgid "No Terminated Jobs.\n"
 msgstr "Pas de job terminé.\n"
 
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
 msgid ""
 "\n"
 "Terminated Jobs:\n"
@@ -5803,7 +5836,7 @@ msgstr ""
 "\n"
 "Job terminés :\n"
 
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
 msgid " JobId  Level    Files      Bytes   Status   Finished        Name \n"
 msgstr " JobId  Type     Fichiers   Octets   Statut  Terminé         Nom\n"
 
@@ -5811,41 +5844,41 @@ msgstr " JobId  Type     Fichiers   Octets   Statut  Terminé         Nom\n"
 msgid "====================================================================\n"
 msgstr "=====================================================================\n"
 
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
 #: src/filed/status.c:363
 msgid "Created"
 msgstr "Crée"
 
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
 #: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
 msgid "Error"
 msgstr "Erreur"
 
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
 msgid "Diffs"
 msgstr ""
 
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
 #: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
 #: src/wx-console/wxbconfigpanel.cpp:209
 msgid "OK"
 msgstr "OK"
 
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
 #: src/lib/util.c:327
 msgid "OK -- with warnings"
 msgstr "OK -- avec des avertissements"
 
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
 msgid "Other"
 msgstr "Autre"
 
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
 #, fuzzy, c-format
 msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
 msgstr "%6d  %-6s %8s %10s %-7s  %-8s %s\n"
 
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
 #, c-format
 msgid "%6d  %-6s %8s %10s  %-7s  %-8s %s\n"
 msgstr "%6d  %-6s %8s %10s %-7s  %-8s %s\n"
@@ -6021,7 +6054,7 @@ msgstr ""
 msgid "Job DiffPool override"
 msgstr ""
 
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
 #, c-format
 msgid "Could not create Client record. ERR=%s\n"
 msgstr ""
@@ -6367,7 +6400,17 @@ msgstr ""
 msgid "<stored: bad response to Job command: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr "Using Device \"%s\"\n"
+
+#: src/dird/msgchan.c:311
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr "Using Device \"%s\"\n"
+
+#: src/dird/msgchan.c:318
 #, c-format
 msgid ""
 "\n"
@@ -6375,24 +6418,19 @@ msgid ""
 "     %s"
 msgstr ""
 
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
 #, c-format
 msgid ""
 "\n"
 "     Storage daemon didn't accept Device \"%s\" command.\n"
 msgstr ""
 
-#: src/dird/msgchan.c:321
-#, fuzzy, c-format
-msgid "Using Device \"%s\"\n"
-msgstr "Using Device \"%s\"\n"
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
 #, c-format
 msgid "Cannot create message thread: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
 msgid "Director's comm line to SD dropped.\n"
 msgstr ""
 
@@ -6892,27 +6930,27 @@ msgstr ""
 msgid "Unable to initialize reservation lock. ERR=%s\n"
 msgstr "Impossible d'initialiser le verrou sur la base. ERR=%s\n"
 
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
 #, c-format
 msgid "Hey! num_writers=%d!!!!\n"
 msgstr ""
 
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
 #, fuzzy
 msgid "3939 Could not get dcr\n"
 msgstr "Impossible de créer la structure BSOCK cliente.\n"
 
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
 #, fuzzy, c-format
 msgid "Device reservation failed for JobId=%d: %s\n"
 msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
 
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
 #, c-format
 msgid "Failed command: %s\n"
 msgstr "Erreur sur la commande : %s\n"
 
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
 #, c-format
 msgid ""
 "\n"
@@ -6920,42 +6958,42 @@ msgid ""
 "does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
 #, c-format
 msgid ""
 "\n"
 "     Device \"%s\" requested by DIR could not be opened or does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
 #, c-format
 msgid "3926 Could not get dcr for device: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
 #, c-format
 msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 "3601 JobId=%u device %s est BLOQUÉ car il a été demonté par l'utilisateur.\n"
 
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
 #, c-format
 msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
 msgstr "3602 JobId=%u device %s est occupé (à lire ou écrire).\n"
 
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
 #, c-format
 msgid "3603 JobId=%u device %s is busy reading.\n"
 msgstr "3603 JobId=%u device %s est occupé en lecture.\n"
 
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
 #, c-format
 msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 "3604 JobId=%u device %s est bloqué car il a été démonté par l'utilisateur "
 "(unmount).\n"
 
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
 #, fuzzy, c-format
 msgid ""
 "3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
@@ -6964,53 +7002,53 @@ msgstr ""
 "3608 JobId=%u voulait le Pool=\"%s\", mais c'est le Pool=\"%s\" qui est dans "
 "le drive %s.\n"
 
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
 #, fuzzy, c-format
 msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
 msgstr ""
 "3607 JobId=%u voulait Vol=\"%s\", c'est le Vol=\"%s\" qui est dans le drive "
 "%s.\n"
 
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
 #, fuzzy, c-format
 msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
 msgstr ""
 "3607 JobId=%u voulait Vol=\"%s\", c'est le Vol=\"%s\" qui est dans le drive "
 "%s.\n"
 
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
 #, c-format
 msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
 msgstr ""
 "3605 JobId=%u voulait libérer le lecteur, mais le device %s est occupé.\n"
 
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
 #, c-format
 msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
 msgstr "3606 JobId=%u voulait un lecteur monté, mais le lecteur %s est vide.\n"
 
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
 #, c-format
 msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
 msgstr ""
 "3607 JobId=%u voulait Vol=\"%s\", c'est le Vol=\"%s\" qui est dans le drive "
 "%s.\n"
 
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
 #, c-format
 msgid "Logic error!!!! JobId=%u Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
 #, c-format
 msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
 msgid "Logic error!!!! Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
 #, c-format
 msgid "3911 JobId=%u failed reserve drive %s.\n"
 msgstr ""
@@ -7158,7 +7196,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
 msgstr ""
 
 #: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
 #, c-format
 msgid "Mount Volume \"%s\" on device %s and press return when ready: "
 msgstr ""
@@ -7464,7 +7502,7 @@ msgstr "3936 Device %s est occupé en lecture.\n"
 msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
 msgstr "3937 Device %s est occupé avec %d flux en écriture.\n"
 
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
 #, c-format
 msgid ""
 "Bootstrap file error: %s\n"
@@ -7472,154 +7510,154 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
 #, c-format
 msgid "Cannot open bootstrap file %s: %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
 #, c-format
 msgid "MediaType %s in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
 #, c-format
 msgid "Device \"%s\" in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
 #, fuzzy, c-format
 msgid "REGEX '%s' compile error. ERR=%s\n"
 msgstr "erreur de fermeture : ERR=%s\n"
 
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
 msgid "JobType not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
 msgid "JobLevel not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
 #, c-format
 msgid "Slot %d in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
 #, c-format
 msgid "VolFile     : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
 #, c-format
 msgid "VolBlock    : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
 #, c-format
 msgid "VolAddr    : %llu-%llu\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
 #, c-format
 msgid "FileIndex   : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
 #, c-format
 msgid "FileIndex   : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
 #, c-format
 msgid "JobId       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
 #, c-format
 msgid "JobId       : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
 #, c-format
 msgid "SessId      : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
 #, c-format
 msgid "SessId      : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
 #, c-format
 msgid "VolumeName  : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
 #, c-format
 msgid "  MediaType : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
 #, c-format
 msgid "  Device    : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
 #, c-format
 msgid "  Slot      : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
 #, c-format
 msgid "Client      : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
 #, c-format
 msgid "Job          : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
 #, c-format
 msgid "SessTime    : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
 msgid "BSR is NULL\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
 #, c-format
 msgid "Next        : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
 #, c-format
 msgid "Root bsr    : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
 #, c-format
 msgid "count       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
 #, c-format
 msgid "found       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
 #, c-format
 msgid "done        : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
 #, c-format
 msgid "positioning : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
 #, c-format
 msgid "fast_reject : %d\n"
 msgstr ""
@@ -7704,7 +7742,7 @@ msgid "Unable to set network buffer size.\n"
 msgstr ""
 
 #: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
 msgid "NULL Volume name. This shouldn't happen!!!\n"
 msgstr ""
 
@@ -7814,7 +7852,7 @@ msgstr ""
 msgid "Volume on %s has bad Bacula label type: %x\n"
 msgstr "Le volume sur %s possède un mauvais label Bacula : %x\n"
 
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
 #, fuzzy, c-format
 msgid "Could not reserve volume %s on %s\n"
 msgstr "Impossible de trouver le prochain volume pour le Job %s.\n"
@@ -7824,7 +7862,7 @@ msgstr "Impossible de trouver le prochain volume pour le Job %s.\n"
 msgid "Cannot write Volume label to block for device %s\n"
 msgstr "Impossible d'écrire le label du Volume sur le Device %s\n"
 
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
 #, fuzzy, c-format
 msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr "Impossible de supprimer le volume \"%s\". ERR=%s"
@@ -7994,15 +8032,13 @@ msgstr ""
 msgid "Used Volume status:\n"
 msgstr "Volume en cours d'utilisation :\n"
 
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
 msgid ""
-"====\n"
 "\n"
+"SD Resources:\n"
 msgstr ""
-"====\n"
-"\n"
 
-#: src/stored/status.c:128
+#: src/stored/status.c:153
 msgid ""
 "\n"
 "Device status:\n"
@@ -8010,15 +8046,16 @@ msgstr ""
 "\n"
 "Statut du Device :\n"
 
-#: src/stored/status.c:132
+#: src/stored/status.c:157
 #, c-format
 msgid "Autochanger \"%s\" with devices:\n"
 msgstr "Autochangeur \"%s\" avec les Devices :\n"
 
-#: src/stored/status.c:150
-#, c-format
+#: src/stored/status.c:177
+#, fuzzy, c-format
 msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
 "    Volume:      %s\n"
 "    Pool:        %s\n"
 "    Media type:  %s\n"
@@ -8028,58 +8065,78 @@ msgstr ""
 "    Pool :          %s\n"
 "    Type du Media : %s\n"
 
-#: src/stored/status.c:160
-#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+#: src/stored/status.c:182
+#, fuzzy
+msgid "waiting for"
+msgstr "En attente d'un montage"
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+#, fuzzy
+msgid "*unknown*"
+msgstr "inconnu"
+
+#: src/stored/status.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
 msgstr "Le Device %s est ouvert, mais il n'y a pas de Volume Bacula monté.\n"
 
-#: src/stored/status.c:171
+#: src/stored/status.c:199
 #, c-format
 msgid "    Total Bytes=%s Blocks=%s Bytes/block=%s\n"
 msgstr "    Total Octets=%s Blocs=%s Octets/Bloc=%s\n"
 
-#: src/stored/status.c:186
+#: src/stored/status.c:214
 #, c-format
 msgid "    Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
 msgstr "    Total des Octets lu=%s Blocs lu=%s Octets/Bloc=%s\n"
 
-#: src/stored/status.c:192
+#: src/stored/status.c:220
 #, c-format
 msgid "    Positioned at File=%s Block=%s\n"
 msgstr "    Positionné sur Fichier=%s Bloc=%s\n"
 
-#: src/stored/status.c:199
-#, c-format
-msgid "Device %s is not open.\n"
+#: src/stored/status.c:227
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s is not open.\n"
 msgstr "Le Device %s n'est pas ouvert.\n"
 
-#: src/stored/status.c:203
-#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+#: src/stored/status.c:231
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
 msgstr "Le Device \"%s\" n'est pas ouvert ou il n'existe pas.\n"
 
-#: src/stored/status.c:225
+#: src/stored/status.c:255
 #, fuzzy, c-format
 msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
 msgstr "Démon démarré depuis %s, %d jobs lancés depuis cette date.\n"
 
-#: src/stored/status.c:248
+#: src/stored/status.c:293
 msgid ""
 "No DEVICE structure.\n"
 "\n"
 msgstr ""
 
-#: src/stored/status.c:254
+#: src/stored/status.c:299
 msgid "    Device is BLOCKED. User unmounted.\n"
 msgstr "    Le Device est BLOQUÉ. Démonté par l'utilisateur.\n"
 
-#: src/stored/status.c:258
+#: src/stored/status.c:303
 msgid "    Device is BLOCKED. User unmounted during wait for media/mount.\n"
 msgstr ""
 "    Le Device est BLOQUÉ. Démonté par l'utilisateur à cause d'un chargement "
 "de média.\n"
 
-#: src/stored/status.c:270
+#: src/stored/status.c:313
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -8090,7 +8147,7 @@ msgstr ""
 "        Pool :       %s\n"
 "        Media type : %s\n"
 
-#: src/stored/status.c:279
+#: src/stored/status.c:322
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting to create a volume for:\n"
@@ -8101,75 +8158,75 @@ msgstr ""
 "        Pool :       %s\n"
 "        Media type : %s\n"
 
-#: src/stored/status.c:291
+#: src/stored/status.c:333
 msgid "    Device is BLOCKED waiting for media.\n"
 msgstr "    Le Device est BLOQUÉ en attente d'un média.\n"
 
-#: src/stored/status.c:297
+#: src/stored/status.c:339
 msgid "    Device is being initialized.\n"
 msgstr "    Le Device est en cours d'initialisation.\n"
 
-#: src/stored/status.c:301
+#: src/stored/status.c:343
 msgid "    Device is blocked labeling a Volume.\n"
 msgstr "    Le Device est occupé à labéliser un Volume.\n"
 
-#: src/stored/status.c:310
-#, c-format
-msgid "    Slot %d is loaded in drive %d.\n"
+#: src/stored/status.c:352
+#, fuzzy, c-format
+msgid "    Slot %d %s loaded in drive %d.\n"
 msgstr "    Le slot %d est chargé dans le lecteur %d.\n"
 
-#: src/stored/status.c:314
+#: src/stored/status.c:356
 #, c-format
 msgid "    Drive %d is not loaded.\n"
 msgstr "    Le lecteur %d n'est pas chargé.\n"
 
-#: src/stored/status.c:317
-#, c-format
-msgid "    Drive %d status unknown.\n"
-msgstr "    Le statut du lecteur %d est inconnu.\n"
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
 #, c-format
 msgid "Configured device capabilities:\n"
 msgstr ""
 
-#: src/stored/status.c:349
+#: src/stored/status.c:389
 msgid "Device state:\n"
 msgstr ""
 
-#: src/stored/status.c:367
+#: src/stored/status.c:405
 #, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid "  num_writers=%d reserves=%d block=%d\n"
 msgstr ""
 
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:409
+#, fuzzy
+msgid "Attached Jobs: "
+msgstr ""
+"\n"
+"Jobs planifiés :\n"
+
+#: src/stored/status.c:427 src/stored/btape.c:720
 #, c-format
 msgid "Device parameters:\n"
 msgstr ""
 
-#: src/stored/status.c:374
+#: src/stored/status.c:429
 #, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid "  Archive name: %s Device name: %s\n"
 msgstr ""
 
-#: src/stored/status.c:378
-#, c-format
-msgid "File=%u block=%u\n"
+#: src/stored/status.c:432
+#, fuzzy, c-format
+msgid "  File=%u block=%u\n"
 msgstr "Fichier=%u bloc=%u\n"
 
-#: src/stored/status.c:381
-#, c-format
-msgid "Min block=%u Max block=%u\n"
+#: src/stored/status.c:434
+#, fuzzy, c-format
+msgid "  Min block=%u Max block=%u\n"
 msgstr "Min bloc=%u Max bloc=%u\n"
 
-#: src/stored/status.c:401
+#: src/stored/status.c:455
 #, c-format
 msgid "%s Job %s waiting for Client connection.\n"
 msgstr "%s Job %s est en attente de la connexion du Client.\n"
 
-#: src/stored/status.c:417
+#: src/stored/status.c:471
 #, c-format
 msgid ""
 "Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
@@ -8178,7 +8235,7 @@ msgstr ""
 "Lecture : %s %s job %s JobId=%d Volume=\"%s\"\n"
 "   pool=\"%s\" device=%s\n"
 
-#: src/stored/status.c:430
+#: src/stored/status.c:484
 #, fuzzy, c-format
 msgid ""
 "Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
@@ -8187,26 +8244,26 @@ msgstr ""
 "Ecriture : %s %s job %s JobId=%d Volume=\"%s\"\n"
 "   pool=\"%s\" device=%s\n"
 
-#: src/stored/status.c:441
+#: src/stored/status.c:495
 #, c-format
 msgid "    spooling=%d despooling=%d despool_wait=%d\n"
 msgstr "    spooling=%d despooling=%d despool_wait=%d\n"
 
-#: src/stored/status.c:450
-#, c-format
-msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
-msgstr "    Fichiers=%s Octets=%s Octets/sec=%s\n"
+#: src/stored/status.c:511
+#, fuzzy, c-format
+msgid "    Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
+msgstr "    Fichiers=%s Octets=%s Octets/sec=%s Erreurs=%d\n"
 
-#: src/stored/status.c:458
+#: src/stored/status.c:523
 #, c-format
 msgid "    FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
 msgstr ""
 
-#: src/stored/status.c:464
+#: src/stored/status.c:529
 msgid "    FDSocket closed\n"
 msgstr ""
 
-#: src/stored/status.c:485
+#: src/stored/status.c:550
 msgid ""
 "\n"
 "Jobs waiting to reserve a drive:\n"
@@ -8214,65 +8271,61 @@ msgstr ""
 "\n"
 "Jobs en attente de réservation de lecteur :\n"
 
-#: src/stored/status.c:516
+#: src/stored/status.c:581
 msgid "===================================================================\n"
 msgstr "===================================================================\n"
 
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
 msgid "Base"
 msgstr "Base"
 
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
 msgid "Init Catalog"
 msgstr ""
 
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
 msgid "Volume to Catalog"
 msgstr ""
 
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
 msgid "Disk to Catalog"
 msgstr ""
 
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
 msgid "Data"
 msgstr ""
 
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
 msgid "Unknown Job Level"
 msgstr ""
 
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
-#, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
-msgstr ""
+#: src/stored/status.c:763
+#, fuzzy, c-format
+msgid "3900 No arg in .status command: %s\n"
+msgstr "3909 Erreur pendant la lecture de la commande de montage : %s\n"
 
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
-msgstr ""
+#: src/stored/status.c:811
+#, fuzzy, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
+msgstr "Erreur inconnue."
 
-#: src/stored/status.c:760
+#: src/stored/status.c:826
 msgid "Bacula Storage: Idle"
 msgstr "Bacula Storage : En attente"
 
-#: src/stored/status.c:771
+#: src/stored/status.c:837
 msgid "Bacula Storage: Running"
 msgstr "Bacula Storage : En cours"
 
-#: src/stored/status.c:785
+#: src/stored/status.c:851
 msgid "Bacula Storage: Last Job Canceled"
 msgstr "Bacula Storage : Dernier Job annulé"
 
-#: src/stored/status.c:789
+#: src/stored/status.c:855
 msgid "Bacula Storage: Last Job Failed"
 msgstr "Bacula Storage : Dernier Job en erreur"
 
-#: src/stored/status.c:793
+#: src/stored/status.c:859
 msgid "Bacula Storage: Last Job had Warnings"
 msgstr "Bacula Storage : Le dernier Job avait des erreurs"
 
@@ -8389,7 +8442,7 @@ msgid "%u files restored.\n"
 msgstr "%u fichiers restaurés.\n"
 
 #: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
 #, c-format
 msgid "Write error on %s: %s\n"
 msgstr ""
@@ -8398,7 +8451,7 @@ msgstr ""
 msgid "Logic error output file should be open but is not.\n"
 msgstr ""
 
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
 #, c-format
 msgid "%s stream not supported on this Client.\n"
 msgstr ""
@@ -8414,7 +8467,7 @@ msgid "Seek error on %s: %s\n"
 msgstr ""
 
 #: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
 #, c-format
 msgid "Seek to %s error on %s: ERR=%s\n"
 msgstr ""
@@ -8424,16 +8477,16 @@ msgstr ""
 msgid "Uncompression error. ERR=%d\n"
 msgstr "Erreur de décompression. ERR=%d\n"
 
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
 msgid "GZIP data stream found, but GZIP not configured!\n"
 msgstr ""
 
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
 #, c-format
 msgid "Compressed header version error. version=0x%x\n"
 msgstr ""
 
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
 #, c-format
 msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
 msgstr ""
@@ -8443,7 +8496,7 @@ msgstr ""
 msgid "LZO uncompression error. ERR=%d\n"
 msgstr "Erreur de décompression. ERR=%d\n"
 
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
 #, c-format
 msgid "Compression algorithm 0x%x found, but not supported!\n"
 msgstr ""
@@ -8452,7 +8505,7 @@ msgstr ""
 msgid "Got Program Name or Data Stream. Ignored.\n"
 msgstr ""
 
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
 #, c-format
 msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
 msgstr ""
@@ -8657,26 +8710,22 @@ msgstr ""
 msgid "Unexpected Tape is Off-line\n"
 msgstr ""
 
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
 #, c-format
 msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
 #, c-format
 msgid "No volumes specified for reading. Job %s canceled.\n"
 msgstr "Pas de volume spécifié pour la lecture. Abandon du job %s.\n"
 
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
 #, c-format
 msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
 msgstr ""
 
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
 #, c-format
 msgid ""
 "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
@@ -8685,101 +8734,105 @@ msgstr ""
 "Changement du Device de lecture. Want Media Type=\"%s\" have=\"%s\"\n"
 "  device=%s\n"
 
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
 #, c-format
 msgid "Media Type change.  New read device %s chosen.\n"
 msgstr ""
 
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
 #, c-format
 msgid "No suitable device found to read Volume \"%s\"\n"
 msgstr ""
 
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
 #, fuzzy, c-format
 msgid "Job %s canceled.\n"
 msgstr "Le job %s est annulé.\n"
 
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
 #, c-format
 msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
 #, c-format
 msgid "Too many errors trying to mount device %s for reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
 #, c-format
 msgid "Ready to read from volume \"%s\" on device %s.\n"
 msgstr "Prêt à lire les données du volume \"%s\" depuis le device %s.\n"
 
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
 #, c-format
 msgid "Want to append, but device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
 #, c-format
 msgid "Could not ready device %s for append.\n"
 msgstr ""
 
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
 #: src/stored/block.c:769 src/stored/block.c:847
 #, c-format
 msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
 msgstr "Impossible de créer un JobMedia en base pour le Volume=%s Job=%s\n"
 
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
 #, c-format
 msgid "Alert: %s"
 msgstr "Alert: %s"
 
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
 #, c-format
 msgid "3997 Bad alert command: %s: ERR=%s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
 #: src/lib/openssl.c:122 src/lib/openssl.c:181
 #, c-format
 msgid "Unable to init mutex: ERR=%s\n"
 msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
 
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
+
+#: src/stored/askdir.c:179
 msgid "Network error on bnet_recv in req_vol_info.\n"
 msgstr ""
 
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
 #, c-format
 msgid "Error getting Volume info: %s"
 msgstr "Erreur pendant la récupération des informations sur un Volume : %s"
 
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
 #, c-format
 msgid "Didn't get vol info vol=%s: ERR=%s"
 msgstr ""
 
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
 #, c-format
 msgid "Error creating JobMedia record: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
 #, c-format
 msgid "Error creating JobMedia record: %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
 msgstr ""
 "Le job %s a été annulé alors qu'il attendait un montage sur le Storage "
 "Device \"%s\".\n"
 
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
 #, fuzzy, c-format
 msgid ""
 "Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8794,30 +8847,30 @@ msgstr ""
 "    Type du Media : %s\n"
 "    Pool :          %s\n"
 
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
 #, c-format
 msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
 msgid "pthread error in mount_next_volume.\n"
 msgstr ""
 
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
 msgid "Cannot request another volume: no volume name given.\n"
 msgstr ""
 
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
 msgstr ""
 "Le Job %s a été annulé pendant qu'il attendait le montage sur le Storage "
 "Device %s.\n"
 
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
 #, fuzzy, c-format
 msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
@@ -8829,10 +8882,10 @@ msgstr ""
 "    Type du Media : %s\n"
 "    Pool :          %s\n"
 
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
 #, fuzzy, c-format
 msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
@@ -8844,7 +8897,7 @@ msgstr ""
 "    Type du Media : %s\n"
 "    Pool :          %s\n"
 
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
 msgid "pthread error in mount_volume\n"
 msgstr ""
 
@@ -9203,33 +9256,33 @@ msgstr ""
 msgid "Attempt to open read on non-open session.\n"
 msgstr ""
 
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
 #, c-format
 msgid "Too many errors trying to mount device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
 #, c-format
 msgid "Job %d canceled.\n"
 msgstr "Le job %d est annulé.\n"
 
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
 #, c-format
 msgid "Volume \"%s\" previously written, moving to end of data.\n"
 msgstr "Le volume \"%s\" contient des données, re-positionnement à la fin.\n"
 
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
 #, c-format
 msgid "Unable to position to end of data on device %s: ERR=%s\n"
 msgstr ""
 "Impossible de se positionner à la fin du média sur le device %s : ERR=%s\n"
 
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
 #, c-format
 msgid "Volume \"%s\" not on device %s.\n"
 msgstr "Le volume \"%s\" n'est pas dans le device %s.\n"
 
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
 #, c-format
 msgid ""
 "Director wanted Volume \"%s\".\n"
@@ -9240,14 +9293,14 @@ msgstr ""
 "    Le volume courant \"%s\" n'est pas utilisable car :\n"
 "    %s"
 
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
 msgstr ""
 "Prêt à ajouter des données à la fin du volume \"%s\" part=%d size=%s\n"
 "\n"
 
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
 #, fuzzy, c-format
 msgid ""
 "Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
@@ -9256,12 +9309,12 @@ msgstr ""
 "Impossible d'écrire sur le volume \"%s\" car :\n"
 "Les tailles ne correspondent pas. Volume=%s Catalogue=%s\n"
 
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
 msgstr "Prêt à ajouter des données à la fin du volume \"%s\" file=%d.\n"
 
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
 #, fuzzy, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -9271,12 +9324,12 @@ msgstr ""
 "Impossible d'écrire sur le volume \"%s\" \n"
 "car le nombre de fichiers ne correspond pas. Volume=%u Catalogue=%u\n"
 
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
 #, fuzzy
 msgid "Error updating Catalog\n"
 msgstr "Impossible d'ouvrir le fichier de données %s.\n"
 
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
 #, fuzzy, c-format
 msgid ""
 "Bacula cannot write on tape Volume \"%s\" because:\n"
@@ -9285,14 +9338,14 @@ msgstr ""
 "Impossible d'écrire sur le volume \"%s\" \n"
 "car le nombre de fichiers ne correspond pas. Volume=%u Catalogue=%u\n"
 
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
 #, fuzzy, c-format
 msgid "Ready to append to end of Volume \"%s\" size=%s\n"
 msgstr ""
 "Prêt à ajouter des données à la fin du volume \"%s\" part=%d size=%s\n"
 "\n"
 
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
 #, fuzzy, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -9302,7 +9355,7 @@ msgstr ""
 "Impossible d'écrire sur le volume \"%s\" car :\n"
 "Les tailles ne correspondent pas. Volume=%s Catalogue=%s\n"
 
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
 #, fuzzy, c-format
 msgid ""
 "Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
@@ -9311,35 +9364,35 @@ msgstr ""
 "Impossible d'écrire sur le volume \"%s\" car :\n"
 "Les tailles ne correspondent pas. Volume=%s Catalogue=%s\n"
 
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
 #, c-format
 msgid "Labeled new Volume \"%s\" on device %s.\n"
 msgstr "Le nouveau volume \"%s\" a été labélisé sur le device %s.\n"
 
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
 #, fuzzy, c-format
 msgid "Device %s not configured to autolabel Volumes.\n"
 msgstr ""
 "Attention, le device %s n'est pas configuré pour labéliser automatiquement "
 "les volumes.\n"
 
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
 #, c-format
 msgid "Marking Volume \"%s\" in Error in Catalog.\n"
 msgstr "Le volume \"%s\" est marqué en Erreur dans le catalogue.\n"
 
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
 #, c-format
 msgid ""
 "Autochanger Volume \"%s\" not found in slot %d.\n"
 "    Setting InChanger to zero in catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
 msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
 msgstr ""
 
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
 #, fuzzy, c-format
 msgid ""
 "Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
@@ -9347,7 +9400,7 @@ msgstr ""
 "Fin du volume \"%s\" à %u:%u sur le device %s. Ecriture de %u octets, eu "
 "%d.\n"
 
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
 #, c-format
 msgid "Cannot open Dev=%s, Vol=%s\n"
 msgstr ""
@@ -9439,7 +9492,7 @@ msgstr ""
 "Temps du transfert des données spoolées = %02d:%02d:%02d, Taux de transfert "
 "= %s o/s\n"
 
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
 #, c-format
 msgid "Ftruncate spool file failed: ERR=%s\n"
 msgstr ""
@@ -9469,81 +9522,90 @@ msgstr ""
 msgid "Spool data read error. Wanted %u bytes, got %d\n"
 msgstr ""
 
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, fuzzy, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
 msgstr "Taille du spool spécifiée par l'utlisateur atteinte.\n"
 
-#: src/stored/spool.c:489
+#: src/stored/spool.c:485
+#, fuzzy, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
+msgstr "Taille du spool spécifiée par l'utlisateur atteinte.\n"
+
+#: src/stored/spool.c:492
 msgid "Bad return from despool in write_block.\n"
 msgstr ""
 
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
 msgid "Spooling data again ...\n"
 msgstr "Reprise du spool des données...\n"
 
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
 #, c-format
 msgid "Error writing header to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
 #, c-format
 msgid ""
 "Error writing header to spool file. Disk probably full. Attempting recovery. "
 "Wanted to write=%d got=%d\n"
 msgstr ""
 
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
 msgid "Fatal despooling error."
 msgstr ""
 
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
 msgid "Retrying after header spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
 #, c-format
 msgid "Error writing data to spool file. ERR=%s\n"
 msgstr ""
 "Erreur pendant l'écriture des données vers le fichier de spool. ERR=%s\n"
 
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
 msgid "Retrying after data spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
 msgid "Network error on BlastAttributes.\n"
 msgstr ""
 
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
 #, c-format
 msgid "Fseek on attributes file failed: ERR=%s\n"
 msgstr ""
 
 # Impossible d'ouvrir le fichier de spool des attributs : ERR=%s
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
 #, fuzzy, c-format
 msgid "Truncate on attributes file failed: ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier de spool des attributs %s : ERR=%s\n"
 
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
 #, c-format
 msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
 msgstr ""
 "Transfert des attributs spoolés au Director. Transfert de %s octets...\n"
 
 # Impossible d'ouvrir le fichier de spool des attributs : ERR=%s
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
 #, c-format
 msgid "fopen attr spool file %s failed: ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier de spool des attributs %s : ERR=%s\n"
 
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
 #, fuzzy, c-format
 msgid "pthread_cond_wait failure. ERR=%s\n"
 msgstr "Erreur sur l'ouverture du périphérique. ERR=%s\n"
 
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
 #, fuzzy
 msgid "unknown blocked code"
 msgstr "source inconnue"
@@ -9668,6 +9730,21 @@ msgstr ""
 msgid "Unable to init cond variable: ERR=%s\n"
 msgstr ""
 
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
+
 #: src/stored/dev.c:416
 msgid "Illegal mode given to open dev.\n"
 msgstr ""
@@ -10032,7 +10109,7 @@ msgstr ""
 msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
 msgstr ""
 
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
 msgstr ""
@@ -10090,107 +10167,107 @@ msgstr ""
 msgid "Got Prog Data Stream record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
 #, c-format
 msgid "Unknown stream type!!! stream=%d len=%i\n"
 msgstr ""
 
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
 #, c-format
 msgid "Could not create File Attributes record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
 #, c-format
 msgid "Created File record: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
 #, c-format
 msgid "Could not create media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
 #, c-format
 msgid "Could not update media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
 #, c-format
 msgid "Created Media record for Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
 #, c-format
 msgid "Updated Media record at end of Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
 #, c-format
 msgid "Could not create pool record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
 #, c-format
 msgid "Created Pool record for Pool: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
 #, fuzzy, c-format
 msgid "Could not get Client record. ERR=%s\n"
 msgstr "Impossible d'initialiser la queue cliente : ERR=%s\n"
 
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
 #, c-format
 msgid "Created Client record for Client: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
 #, c-format
 msgid "Fileset \"%s\" already exists.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
 #, c-format
 msgid "Could not create FileSet record \"%s\". ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
 #, c-format
 msgid "Created FileSet record \"%s\"\n"
 msgstr ""
 
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
 #, c-format
 msgid "Could not create JobId record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
 #, c-format
 msgid "Could not update job start record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
 #, c-format
 msgid "Created new JobId=%u record for original JobId=%u\n"
 msgstr ""
 
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
 #, c-format
 msgid "Could not update JobId=%u record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
 #, c-format
 msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
 msgstr ""
 
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
 #, c-format
 msgid "Job Termination code: %d"
 msgstr ""
 
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
 #, c-format
 msgid ""
 "%s\n"
@@ -10210,27 +10287,27 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
 #, c-format
 msgid "Could not create JobMedia record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
 #, c-format
 msgid "Created JobMedia record JobId %d, MediaId %d\n"
 msgstr ""
 
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
 #, c-format
 msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
 msgid "Updated MD5/SHA1 record\n"
 msgstr ""
 
@@ -12373,40 +12450,40 @@ msgstr ""
 "Vous trouverez de l'aide sur\n"
 "http://www.bacula.org/rel-manual/faq.html#AuthorizationErrors\n"
 
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
 #, c-format
 msgid "Could not open console message file %s: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:376
+#: src/lib/message.c:377
 #, c-format
 msgid "Could not get con mutex: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:481
+#: src/lib/message.c:482
 msgid "Bacula Message"
 msgstr "Message de Bacula"
 
-#: src/lib/message.c:485
+#: src/lib/message.c:486
 #, c-format
 msgid "open mail pipe %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:553
+#: src/lib/message.c:577
 msgid "open mail pipe failed.\n"
 msgstr ""
 
-#: src/lib/message.c:565
+#: src/lib/message.c:590
 #, c-format
 msgid "close error: ERR=%s\n"
 msgstr "erreur de fermeture : ERR=%s\n"
 
-#: src/lib/message.c:576
+#: src/lib/message.c:601
 #, c-format
 msgid "Mail prog: %s"
 msgstr ""
 
-#: src/lib/message.c:585
+#: src/lib/message.c:610
 #, c-format
 msgid ""
 "Mail program terminated in error.\n"
@@ -12417,12 +12494,16 @@ msgstr ""
 "CMD=%s\n"
 "ERR=%s\n"
 
-#: src/lib/message.c:684
+#: src/lib/message.c:713
 #, c-format
 msgid "fopen %s failed: ERR=%s\n"
 msgstr "fopen %s en erreur : ERR=%s\n"
 
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
 #, fuzzy, c-format
 msgid ""
 "Msg delivery error: Operator mail program terminated in error.\n"
@@ -12433,77 +12514,77 @@ msgstr ""
 "CMD=%s\n"
 "ERR=%s\n"
 
-#: src/lib/message.c:878
+#: src/lib/message.c:911
 #, fuzzy, c-format
 msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
 msgstr "fopen %s en erreur : ERR=%s\n"
 
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
 #, c-format
 msgid "%s: ABORTING due to ERROR in %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
 #, c-format
 msgid "%s: ERROR TERMINATION at %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
 #, c-format
 msgid "%s: Fatal Error because: "
 msgstr "%s : Erreur Fatale car : "
 
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
 #, c-format
 msgid "%s: Fatal Error at %s:%d because:\n"
 msgstr "%s : Erreur Fatale à %s:%d car :\n"
 
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
 #, c-format
 msgid "%s: ERROR: "
 msgstr "%s : ERREUR : "
 
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
 #, c-format
 msgid "%s: ERROR in %s:%d "
 msgstr "%s : ERREUR dans %s:%d "
 
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
 #, c-format
 msgid "%s: Warning: "
 msgstr "%s : Attention : "
 
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
 #, c-format
 msgid "%s: Security violation: "
 msgstr ""
 
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
 #, c-format
 msgid "%s ABORTING due to ERROR\n"
 msgstr ""
 
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
 #, c-format
 msgid "%s ERROR TERMINATION\n"
 msgstr ""
 
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
 #, fuzzy, c-format
 msgid "%s JobId %u: Fatal error: "
 msgstr "%s : %s Erreur fatale : "
 
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
 #, fuzzy, c-format
 msgid "%s JobId %u: Error: "
 msgstr "%s : %s Erreur : "
 
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
 #, fuzzy, c-format
 msgid "%s JobId %u: Warning: "
 msgstr "%s : Attention : "
 
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
 #, c-format
 msgid "%s JobId %u: Security violation: "
 msgstr ""
@@ -12557,71 +12638,6 @@ msgstr "Impossible d'ajouter le job à la queue cliente : ERR=%s\n"
 msgid "Could not destroy client queue: ERR=%s\n"
 msgstr "Impossible de détruire la queue cliente : ERR=%s\n"
 
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr "Erreur pendant l'écriture des attributs dans le spool. ERR=%s\n"
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr "Initialisation de la connexion TLS échouée.\n"
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr "Négociation TLS échouée.\n"
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr "TLS activé mais non configuré.\n"
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr "TLS actif mais non configuré.\n"
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr "Pas de problème."
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr "Erreur inconnue."
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr "sig inconnu %d"
-
 #: src/lib/bpipe.c:361 src/lib/bpipe.c:444
 msgid "Program killed by Bacula (timeout)\n"
 msgstr ""
@@ -13085,7 +13101,7 @@ msgstr ""
 msgid "Truncate"
 msgstr ""
 
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
 msgid "None"
 msgstr ""
 
@@ -13138,7 +13154,7 @@ msgstr "Nom de Volume invalide : %s\n"
 
 #: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
 #: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
 msgid "*none*"
 msgstr ""
 
@@ -13351,7 +13367,7 @@ msgstr "JCR use_count=%d JobId=%d\n"
 msgid "pthread_setspecific failed: ERR=%s\n"
 msgstr "Erreur sur l'ouverture du périphérique. ERR=%s\n"
 
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Storage "
@@ -13360,7 +13376,7 @@ msgstr ""
 "Le watchdog a envoyé un signal après %d secs au thread bloqué en écoute du "
 "SD.\n"
 
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
@@ -13368,7 +13384,7 @@ msgstr ""
 "Le watchdog a envoyé un signal après %d secs au thread bloqué en écoute du "
 "FD.\n"
 
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -13557,204 +13573,272 @@ msgstr "Le processus fils est mort par le signal %d : %s"
 msgid "Invalid errno. No error message possible."
 msgstr ""
 
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr "Erreur pendant l'écriture des attributs dans le spool. ERR=%s\n"
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr "Initialisation de la connexion TLS échouée.\n"
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr "Négociation TLS échouée.\n"
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr "TLS activé mais non configuré.\n"
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr "TLS actif mais non configuré.\n"
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr "Pas de problème."
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr "Erreur inconnue."
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr "sig inconnu %d"
+
 #: src/lib/signal.c:67
 msgid "Invalid signal number"
 msgstr ""
 
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
 #, c-format
 msgid "Bacula interrupted by signal %d: %s\n"
 msgstr "Bacula a reçu le signal %d : %s\n"
 
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
 #, c-format
 msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
 msgstr ""
 "Kaboom ! %s, %s a reçu le signal %d - %s. Tentative de dump des traces.\n"
 
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
 #, c-format
 msgid "Kaboom! exepath=%s\n"
 msgstr "Kaboom ! exepath=%s\n"
 
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
 #, c-format
 msgid "Fork error: ERR=%s\n"
 msgstr "Fork en erreur : ERR=%s\n"
 
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
 #, fuzzy, c-format
 msgid "Calling: %s %s %s %s\n"
 msgstr "Exécution : %s %s %s\n"
 
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
 #, c-format
 msgid "execv: %s failed: ERR=%s\n"
 msgstr "execv : %s en échec : ERR=%s\n"
 
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
+#, c-format
+msgid "It looks like the traceback worked...\n"
+msgstr ""
+
+#: src/lib/signal.c:246
 #, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "The btraceback call returned %d\n"
 msgstr ""
 
-#: src/lib/signal.c:289
+#: src/lib/signal.c:306
 #, c-format
 msgid "BA_NSIG too small (%d) should be (%d)\n"
 msgstr "BA_NSIG trop petit (%d) devrait être (%d)\n"
 
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
 msgid "UNKNOWN SIGNAL"
 msgstr "SIGNAL INCONNU"
 
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
 msgid "Hangup"
 msgstr "Hangup"
 
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
 msgid "Interrupt"
 msgstr ""
 
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
 msgid "Quit"
 msgstr "Quit"
 
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
 msgid "Illegal instruction"
 msgstr ""
 
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
 msgid "Trace/Breakpoint trap"
 msgstr ""
 
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
 msgid "Abort"
 msgstr "Abort"
 
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
 msgid "EMT instruction (Emulation Trap)"
 msgstr ""
 
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
 msgid "IOT trap"
 msgstr "IOT trap"
 
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
 msgid "BUS error"
 msgstr "BUS error"
 
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
 msgid "Floating-point exception"
 msgstr ""
 
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
 msgid "Kill, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
 msgid "User-defined signal 1"
 msgstr ""
 
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
 msgid "Segmentation violation"
 msgstr "Erreur de segmentation"
 
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
 msgid "User-defined signal 2"
 msgstr ""
 
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
 msgid "Broken pipe"
 msgstr "Tube brisé"
 
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
 msgid "Alarm clock"
 msgstr "Alarm clock"
 
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
 msgid "Termination"
 msgstr ""
 
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
 msgid "Stack fault"
 msgstr ""
 
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
 msgid "Child status has changed"
 msgstr ""
 
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
 msgid "Continue"
 msgstr "Continue"
 
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
 msgid "Stop, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
 msgid "Keyboard stop"
 msgstr ""
 
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
 msgid "Background read from tty"
 msgstr ""
 
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
 msgid "Background write to tty"
 msgstr ""
 
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
 msgid "Urgent condition on socket"
 msgstr ""
 
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
 msgid "CPU limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
 msgid "File size limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
 msgid "Virtual alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
 msgid "Profiling alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
 msgid "Window size change"
 msgstr ""
 
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
 msgid "I/O now possible"
 msgstr ""
 
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
 msgid "Power failure restart"
 msgstr ""
 
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
 msgid "No runnable lwp"
 msgstr ""
 
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
 msgid "SIGLWP special signal used by thread library"
 msgstr ""
 
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
 msgid "Checkpoint Freeze"
 msgstr ""
 
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
 msgid "Checkpoint Thaw"
 msgstr ""
 
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
 msgid "Thread Cancellation"
 msgstr ""
 
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
 msgid "Resource Lost (e.g. record-lock lost)"
 msgstr ""
 
@@ -13784,47 +13868,47 @@ msgstr ""
 msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr "Impossible d'ouvrir %s : ERR=%s\n"
 
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
 #, c-format
 msgid "Out of memory: ERR=%s\n"
 msgstr "Plus de mémoire : ERR=%s\n"
 
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
 msgid "Buffer overflow.\n"
 msgstr "Buffer overflow.\n"
 
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
 msgid "Bad errno"
 msgstr "Mauvais errno"
 
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
 #, c-format
 msgid "Memset for %d bytes at %s:%d\n"
 msgstr ""
 
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
 #, c-format
 msgid "Cannot open pid file. %s ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier contenant le pid. %s ERR=%s\n"
 
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
 #, c-format
 msgid ""
 "%s is already running. pid=%d\n"
 "Check file %s\n"
 msgstr ""
 
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
 #, c-format
 msgid "Could not open pid file. %s ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier pid. %s ERR=%s\n"
 
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
 #, c-format
 msgid "Could not create state file. %s ERR=%s\n"
 msgstr "Impossible de créer le fichier d'état. %s ERR=%s\n"
 
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
 #, c-format
 msgid "Write final hdr error: ERR=%s\n"
 msgstr ""
@@ -13878,101 +13962,101 @@ msgstr "Erreur de config : %s\n"
 msgid "Close of NULL file\n"
 msgstr ""
 
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
 msgid ""
 "get_char: called after EOF. You may have a open double quote without the "
 "closing double quote.\n"
 msgstr ""
 
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
 #, c-format
 msgid "Config token too long, file: %s, line %d, begins at line %d\n"
 msgstr "Config token trop long, fichier : %s, ligne %d, débutant ligne %d\n"
 
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
 msgid "none"
 msgstr "none"
 
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
 msgid "comment"
 msgstr "comment"
 
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
 msgid "number"
 msgstr "number"
 
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
 msgid "ip_addr"
 msgstr "ip_addr"
 
 # identifiant
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
 msgid "identifier"
 msgstr "identifier"
 
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
 msgid "string"
 msgstr "string"
 
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
 msgid "quoted_string"
 msgstr "quoted_string"
 
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
 #, fuzzy
 msgid "include"
 msgstr "Depuis"
 
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
 #, fuzzy
 msgid "include_quoted_string"
 msgstr "quoted_string"
 
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
 msgid "UTF-8 Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
 msgid "UTF-16le Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
 #, c-format
 msgid "expected a positive integer number, got: %s"
 msgstr "attendait un nombre entier positif, pas : %s"
 
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
 msgid ""
 "This config file appears to be in an unsupported Unicode format (UTF-16be). "
 "Please resave as UTF-8\n"
 msgstr ""
 
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
 #, c-format
 msgid "Cannot open included config file %s: %s\n"
 msgstr "Impossible d'ouvrir le fichier de configuration inclus %s : %s\n"
 
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
 #, c-format
 msgid "expected an integer or a range, got %s: %s"
 msgstr "attendait un entier ou bien un intervalle, pas %s : %s"
 
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
 #, c-format
 msgid "expected an integer number, got %s: %s"
 msgstr "attendait un nombre entier, pas %s : %s"
 
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
 #, c-format
 msgid "expected a name, got %s: %s"
 msgstr "attendait un nom, pas %s : %s"
 
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
 #, c-format
 msgid "name %s length %d too long, max is %d\n"
 msgstr "la longueur du nom %s (%d) est trop grande, le max est %d\n"
 
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
 #, c-format
 msgid "expected a string, got %s: %s"
 msgstr "attendait une chaîne, pas %s : %s"
@@ -14648,42 +14732,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
 msgid "NetBSD Specific Extended attribs"
 msgstr ""
 
@@ -14697,27 +14793,27 @@ msgstr "Plugin=%s non trouvé.\n"
 msgid "Unknown include/exclude option: %c\n"
 msgstr ""
 
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
 #, c-format
 msgid "     NODUMP flag set - will not process %s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
 #, fuzzy, c-format
 msgid "Cannot stat file %s: ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
 #, c-format
 msgid "%s mtime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
 #, c-format
 msgid "%s ctime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
 #, c-format
 msgid "%s size changed during backup.\n"
 msgstr ""
@@ -16590,6 +16686,11 @@ msgstr "====\n"
 msgid " SDSocket=closed\n"
 msgstr ""
 
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
 #: src/filed/status.c:464
 msgid "2900 Bad .status command, missing argument.\n"
 msgstr ""
@@ -16618,278 +16719,278 @@ msgstr ""
 msgid "Bacula Client: Last Job had Warnings"
 msgstr ""
 
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
 #: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
 #, c-format
 msgid "Network send error to SD. ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
 #, c-format
 msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
 #, c-format
 msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
 #, fuzzy, c-format
 msgid "llistea error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
 #, fuzzy, c-format
 msgid "lgetea error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
 #, c-format
 msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
 msgstr ""
 
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
 #, fuzzy, c-format
 msgid "Failed to serialize extended attributes on file \"%s\"\n"
 msgstr "Impossible d'initialiser le contexte TLS pour la Console \"%s\".\n"
 
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
 #, fuzzy, c-format
 msgid "lsetea error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
 #, fuzzy, c-format
 msgid "attr_list error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
 #, fuzzy, c-format
 msgid "Received illegal xattr named %s on file \"%s\"\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
 #, fuzzy, c-format
 msgid "attr_set error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
 #, fuzzy, c-format
 msgid "llistxattr error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
 #, fuzzy, c-format
 msgid "lgetxattr error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
 #, fuzzy, c-format
 msgid "lsetxattr error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
 #, fuzzy, c-format
 msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
 #, fuzzy, c-format
 msgid "Failed to convert %d into namespace on file \"%s\"\n"
 msgstr "Impossible de lire le certificat à partir du fichier"
 
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
 #, fuzzy, c-format
 msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
 #, fuzzy, c-format
 msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
 msgstr ""
 "Impossible de se positionner à la fin du média sur le device %s : ERR=%s\n"
 
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
 #, fuzzy, c-format
 msgid "Failed to convert %s into namespace on file \"%s\"\n"
 msgstr "Impossible de lire le certificat à partir du fichier"
 
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
 #, fuzzy, c-format
 msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
 #, fuzzy, c-format
 msgid "getproplist error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
 #, fuzzy, c-format
 msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
 msgstr "Impossible de lire le certificat à partir du fichier"
 
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
 #, fuzzy, c-format
 msgid "setproplist error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
 #, fuzzy, c-format
 msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
 #, fuzzy, c-format
 msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
 #, fuzzy, c-format
 msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
 #, fuzzy, c-format
 msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
 msgstr "Impossible de se connecter à %s sur %s:%d. ERR=%s\n"
 
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
 #, fuzzy, c-format
 msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
 msgstr "Impossible de se connecter à %s sur %s:%d. ERR=%s\n"
 
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
 #, fuzzy, c-format
 msgid "Unable to read content of xattr %s on file \"%s\"\n"
 msgstr "Impossible de lire le certificat à partir du fichier"
 
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
 #, fuzzy, c-format
 msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
 #, fuzzy, c-format
 msgid "Unable to open file \"%s\": ERR=%s\n"
 msgstr "3910 Impossible d'ouvrir le device %s : ERR=%s\n"
 
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
 #, fuzzy, c-format
 msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
 #, fuzzy, c-format
 msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
 #, fuzzy, c-format
 msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
 #, fuzzy, c-format
 msgid "Unable to convert acl from text on file \"%s\"\n"
 msgstr "Impossible de lire le certificat à partir du fichier"
 
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
 #, fuzzy, c-format
 msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
 #, fuzzy, c-format
 msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
 #, fuzzy, c-format
 msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
 #, fuzzy, c-format
 msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
 #, fuzzy, c-format
 msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
 #, fuzzy, c-format
 msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
 #, fuzzy, c-format
 msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
 #, fuzzy, c-format
 msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de se connecter à %s sur %s:%d. ERR=%s\n"
 
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
 #, c-format
 msgid ""
 "Unable to restore data of xattr %s on file \"%s\": Not all data available in "
 "xattr stream\n"
 msgstr ""
 
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
 #, fuzzy, c-format
 msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
 #, fuzzy, c-format
 msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
 #, fuzzy, c-format
 msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
 #, fuzzy, c-format
 msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
 
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
 #, c-format
 msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
 #, c-format
 msgid "Failed to restore extensible attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
 #, fuzzy, c-format
 msgid "Failed to restore extended attributes on file \"%s\"\n"
 msgstr ""
 "Impossible de se positionner à la fin du média sur le device %s : ERR=%s\n"
 
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
 #, fuzzy, c-format
 msgid "Unable to stat file \"%s\": ERR=%s\n"
 msgstr "3910 Impossible d'ouvrir le device %s : ERR=%s\n"
 
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
 #, c-format
 msgid ""
 "Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -17045,56 +17146,56 @@ msgstr ""
 msgid "No Director resource defined in %s\n"
 msgstr ""
 
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
 #, fuzzy, c-format
 msgid "aclx_get error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
 #, fuzzy, c-format
 msgid "Unknown acl type encountered on file \"%s\": %ld\n"
 msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
 
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
 #, fuzzy, c-format
 msgid "Failed to convert acl into text on file \"%s\"\n"
 msgstr "Impossible de lire le certificat à partir du fichier"
 
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
 #, fuzzy, c-format
 msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
 #, fuzzy, c-format
 msgid "aclx_put error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
 #, fuzzy, c-format
 msgid "acl_to_text error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
 #, fuzzy, c-format
 msgid "acl_get_file error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
 #, fuzzy, c-format
 msgid ""
 "acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
@@ -17102,136 +17203,136 @@ msgstr ""
 "Impossible de récupérer les informations du Media pour le Volume %s : ERR="
 "%s\n"
 
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
 #, fuzzy, c-format
 msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 "Impossible de récupérer les informations du Media pour le Volume %s : ERR="
 "%s\n"
 
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
 #, fuzzy, c-format
 msgid "acl_from_text error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
 #, fuzzy, c-format
 msgid "acl_valid error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
 #, fuzzy, c-format
 msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
 #, fuzzy, c-format
 msgid "acl_set_file error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
 #, fuzzy, c-format
 msgid "pathconf error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
 #, fuzzy, c-format
 msgid "getacl error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
 #, fuzzy, c-format
 msgid "acltostr error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
 #, fuzzy, c-format
 msgid "strtoacl error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
 #, fuzzy, c-format
 msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
 #, fuzzy, c-format
 msgid "setacl error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
 #, fuzzy, c-format
 msgid "acl_get error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
 #, fuzzy, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
 "support\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
 #, fuzzy, c-format
 msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
 #, c-format
 msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
 #, fuzzy, c-format
 msgid "acl_set error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
 #, fuzzy, c-format
 msgid "acltotext error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
 #, fuzzy, c-format
 msgid "aclfromtext error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
 #, fuzzy, c-format
 msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
 #, fuzzy, c-format
 msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
 #, fuzzy, c-format
 msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
 #, c-format
 msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
 msgstr ""
@@ -17240,17 +17341,17 @@ msgstr ""
 msgid "Storage command not issued before Verify.\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
 #, c-format
 msgid "Record header scan error: %s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
 #, c-format
 msgid "Data record error. ERR=%s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
 #, c-format
 msgid "Actual data size %d not same as header %d\n"
 msgstr ""
@@ -17412,7 +17513,7 @@ msgstr ""
 msgid "Invalid file flags, no supported data stream type.\n"
 msgstr ""
 
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
 #, c-format
 msgid "VSS Writer (BackupComplete): %s\n"
 msgstr ""
@@ -17432,194 +17533,194 @@ msgstr ""
 msgid "Could not set Finder Info on %s\n"
 msgstr "Impossible d'ouvrir le device %s\n"
 
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
 #, fuzzy
 msgid "LZO init failed\n"
 msgstr "Impossible de Rembobiner.\n"
 
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
 msgid "Unexpected cryptographic session data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
 msgid ""
 "No private decryption keys have been defined to decrypt encrypted backup "
 "data.\n"
 msgstr ""
 
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
 #, fuzzy
 msgid "Could not create digest.\n"
 msgstr "Impossible de créer la structure BSOCK cliente.\n"
 
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
 msgid "Missing private key required to decrypt encrypted backup data.\n"
 msgstr ""
 
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
 msgid "Decrypt of the session key failed.\n"
 msgstr "Impossible de décrypter la clef de session.\n"
 
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
 #, c-format
 msgid "An error occurred while decoding encrypted session data stream: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
 #, c-format
 msgid "Missing encryption session data stream for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
 #, c-format
 msgid "Failed to initialize decryption context for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
 #, fuzzy, c-format
 msgid "Cannot open resource fork for %s.\n"
 msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
 
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
 msgid "Unexpected cryptographic signature data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
 #, c-format
 msgid "Failed to decode message signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
 #, fuzzy, c-format
 msgid "Encountered %ld acl errors while doing restore\n"
 msgstr "Saisir la liste des fichiers à restaurer"
 
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
 #, c-format
 msgid "Encountered %ld xattr errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
 #, c-format
 msgid ""
 "%d non-supported data streams and %d non-supported attrib streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
 #, c-format
 msgid "%d non-supported resource fork streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
 #, c-format
 msgid "%d non-supported Finder Info streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
 #, c-format
 msgid "%d non-supported acl streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
 #, fuzzy, c-format
 msgid "%d non-supported crypto streams ignored.\n"
 msgstr "contentEncryptionAlgorithm non supporté : %d\n"
 
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
 #, fuzzy, c-format
 msgid "%d non-supported xattr streams ignored.\n"
 msgstr "contentEncryptionAlgorithm non supporté : %d\n"
 
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
 msgid "Zlib errno"
 msgstr ""
 
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
 msgid "Zlib stream error"
 msgstr ""
 
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
 msgid "Zlib data error"
 msgstr ""
 
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
 msgid "Zlib memory error"
 msgstr ""
 
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
 msgid "Zlib buffer error"
 msgstr ""
 
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
 msgid "Zlib version error"
 msgstr ""
 
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
 #, c-format
 msgid "Missing cryptographic signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
 #, fuzzy, c-format
 msgid "Signature validation failed for file %s: ERR=%s\n"
 msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
 
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
 #, fuzzy, c-format
 msgid "Digest one file failed for file: %s\n"
 msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
 
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
 #, c-format
 msgid "Signature validation failed for %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
 #, fuzzy, c-format
 msgid "LZO uncompression error on file %s. ERR=%d\n"
 msgstr "Erreur de décompression. ERR=%d\n"
 
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
 #, c-format
 msgid "Uncompression error on file %s. ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
 #, c-format
 msgid "Write error in Win32 Block Decomposition on %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
 msgid "Decryption error\n"
 msgstr ""
 
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
 msgid "Logic error: output file should be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
 msgid "Logic error: output file should not be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
 #, c-format
 msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
 msgid "Open File Manager paused\n"
 msgstr ""
 
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
 msgid "FAILED to pause Open File Manager\n"
 msgstr ""
 
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
 #, c-format
 msgid "Running as '%s'. Privmask=%#08x\n"
 msgstr ""
 
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
 msgid "Failed to retrieve current UserName\n"
 msgstr ""
 
@@ -17903,7 +18004,7 @@ msgid ""
 "Version: "
 msgstr ""
 
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
 #, c-format
 msgid "Failed ASSERT: %s\n"
 msgstr ""
@@ -19012,16 +19113,16 @@ msgstr ""
 msgid "At main prompt waiting for input ..."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
 msgid "At prompt waiting for input ..."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
 #, fuzzy
 msgid "Command failed."
 msgstr "Commande annulée.\n"
 
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
 #, fuzzy
 msgid "Director disconnected."
 msgstr "Connexion du director le %s\n"
@@ -19054,6 +19155,19 @@ msgstr ""
 "       -t          test - lecture de la configuration et sortie\n"
 "\n"
 
+#~ msgid ""
+#~ "====\n"
+#~ "\n"
+#~ msgstr ""
+#~ "====\n"
+#~ "\n"
+
+#~ msgid "    Drive %d status unknown.\n"
+#~ msgstr "    Le statut du lecteur %d est inconnu.\n"
+
+#~ msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
+#~ msgstr "    Fichiers=%s Octets=%s Octets/sec=%s\n"
+
 #~ msgid "Network buffer size %d not multiple of tape block size.\n"
 #~ msgstr ""
 #~ "La taille du buffer réseau %d n'est pas un multiple de la taille de bloc "
diff --git a/po/nl.po b/po/nl.po
index 77f8c02..6418d0c 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Bacula 5.2.7\n"
 "Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
 "PO-Revision-Date: 2012-05-05 11:52+0100\n"
 "Last-Translator: W. van den Akker <wvdakker at wilsoft.nl>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -95,7 +95,7 @@ msgstr "De huidige %s retention periode: %s\n"
 msgid "Continue? (yes/mod/no): "
 msgstr "Doorgaan? (ja, wijz, nee):"
 
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
 msgid "mod"
 msgstr ""
 
@@ -115,8 +115,8 @@ msgstr "U heeft de volgende keuzes:\n"
 msgid "The defined Storage resources are:\n"
 msgstr "De gedefinieerde Opslag media zijn:\n"
 
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
 #: src/wx-console/wxbrestorepanel.cpp:355
 #: src/wx-console/wxbrestorepanel.cpp:479
 #: src/wx-console/wxbrestorepanel.cpp:480
@@ -137,7 +137,7 @@ msgstr "Selecteer opslag medium"
 msgid "The defined FileSet resources are:\n"
 msgstr "De gedefinieerde Fileset media zijn:\n"
 
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
 msgid "FileSet"
 msgstr ""
 
@@ -145,7 +145,7 @@ msgstr ""
 msgid "Select FileSet resource"
 msgstr "Selecteer FileSet bron"
 
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
 msgid "Could not find a Catalog resource\n"
 msgstr "Kan Catalog medium niet vinden\n"
 
@@ -172,8 +172,8 @@ msgid "The defined Job resources are:\n"
 msgstr "De gedefinieerde job resources zijn:\n"
 
 #: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
 msgid "Job"
 msgstr "Job"
 
@@ -198,8 +198,8 @@ msgstr "Selecteer Job om terug te zetten"
 msgid "The defined Client resources are:\n"
 msgstr "De gedefinieerde Clients zijn:\n"
 
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
 #: src/wx-console/wxbrestorepanel.cpp:336
 #: src/wx-console/wxbrestorepanel.cpp:354
 #: src/wx-console/wxbrestorepanel.cpp:431
@@ -258,7 +258,7 @@ msgstr "Selecteer Client"
 msgid "Could not find Pool \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
 #, c-format
 msgid "Error obtaining pool ids. ERR=%s\n"
 msgstr ""
@@ -272,12 +272,12 @@ msgid "Defined Pools:\n"
 msgstr "Gedefinieerde Pools:\n"
 
 #: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
 msgid "*None*"
 msgstr "*Geen*"
 
 #: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
 #: src/wx-console/wxbrestorepanel.cpp:527
 #: src/wx-console/wxbrestorepanel.cpp:537
 #: src/wx-console/wxbrestorepanel.cpp:1834
@@ -418,7 +418,7 @@ msgstr ""
 msgid "Unauthorized command from this console.\n"
 msgstr ""
 
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
 msgid "No Jobs running.\n"
 msgstr "Geen Jobs in uitvoering.\n"
 
@@ -729,8 +729,8 @@ msgstr "Bestand: %s\n"
 msgid "Start Admin JobId %d, Job=%s\n"
 msgstr ""
 
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
 #, c-format
 msgid "Error getting Job record for Job report: ERR=%s"
 msgstr ""
@@ -747,8 +747,8 @@ msgstr "*** Admin Fout ***"
 msgid "Admin Canceled"
 msgstr "Admin geannuleerd"
 
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
 #, c-format
 msgid "Inappropriate term code: %c\n"
 msgstr ""
@@ -757,7 +757,7 @@ msgstr ""
 msgid "Bacula "
 msgstr ""
 
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -789,66 +789,66 @@ msgstr ""
 "       -?            geef deze melding.\n"
 "\n"
 
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
 #: src/filed/filed.c:218 src/qt-console/main.cpp:165
 msgid "Cryptography library initialization failed.\n"
 msgstr ""
 
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
 #: src/filed/filed.c:223 src/qt-console/main.cpp:169
 #, c-format
 msgid "Please correct configuration file: %s\n"
 msgstr ""
 
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
 msgid "Too many open reload requests. Request ignored.\n"
 msgstr ""
 
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
 msgid "Out of reload table entries. Giving up.\n"
 msgstr ""
 
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
 msgid "Resetting previous configuration.\n"
 msgstr ""
 
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
 #, c-format
 msgid ""
 "No Director resource defined in %s\n"
 "Without that I don't know who I am :-(\n"
 msgstr ""
 
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
 #, c-format
 msgid "No Messages resource defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
 #, c-format
 msgid "Only one Director resource permitted in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
 #: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
 #: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
 #: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
 msgid "TLS required but not configured in Bacula.\n"
 msgstr ""
 
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
 #, c-format
 msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -856,46 +856,46 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
 #, c-format
 msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
 #, c-format
 msgid "No Job records defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
 #, c-format
 msgid "Hey something is wrong. p=0x%lu\n"
 msgstr ""
 
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
 #, c-format
 msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
 msgstr ""
 
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
 msgid "Too many items in Job resource\n"
 msgstr ""
 
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
 #, c-format
 msgid "No storage specified in Job \"%s\" nor in Pool.\n"
 msgstr ""
 
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
 #, c-format
 msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -903,51 +903,51 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
 #, c-format
 msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
 #, c-format
 msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
 #, c-format
 msgid "Could not open Catalog \"%s\", database \"%s\".\n"
 msgstr ""
 
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
 #, c-format
 msgid "Could not create storage record for %s\n"
 msgstr ""
 
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
 #, c-format
 msgid "Could not update storage record for %s\n"
 msgstr ""
 
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
 #, c-format
 msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr ""
@@ -966,18 +966,18 @@ msgstr ""
 msgid "Old style Include/Exclude not supported\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
 #, c-format
 msgid "Expecting keyword, got: %s\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
 #: src/lib/parse_conf.c:976
 #, c-format
 msgid "expected an equals, got: %s"
 msgstr ""
 
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
 #, c-format
 msgid "Keyword %s not permitted in this resource"
 msgstr ""
@@ -1029,7 +1029,7 @@ msgstr ""
 msgid "Options section not permitted in Exclude\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
 #, c-format
 msgid "Expecting open brace. Got %s"
 msgstr ""
@@ -1210,13 +1210,13 @@ msgid ""
 "There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d ...\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
 msgid "Failed to connect to Storage daemon.\n"
 msgstr ""
 
@@ -1291,34 +1291,34 @@ msgstr ""
 msgid "Could not get or create the FileSet record.\n"
 msgstr ""
 
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
 #, c-format
 msgid "Error getting Client record for Job report: ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
 #, c-format
 msgid "Error getting Media record for Volume \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
 msgid "Backup OK -- with warnings"
 msgstr "Backup OK -- met waarschuwingen"
 
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
 msgid "Backup OK"
 msgstr ""
 
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
 msgid "*** Backup Error ***"
 msgstr "*** Backup Fout ***"
 
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
 msgid "Backup Canceled"
 msgstr "Backup geannuleerd"
 
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -1365,93 +1365,93 @@ msgstr ""
 msgid "disabled"
 msgstr ""
 
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
 msgid "Keywords for the show command are:\n"
 msgstr ""
 
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
 #, c-format
 msgid "%s resource %s not found.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
 #, c-format
 msgid "Resource %s not found\n"
 msgstr ""
 
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
 msgid "Hey! DB is NULL\n"
 msgstr ""
 
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
 #, c-format
 msgid "Jobid %d used %d Volume(s): %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
 msgid "No Pool specified.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
 #, c-format
 msgid "Pool: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
 msgid "Ignoring invalid value for days. Max is 50.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
 #, c-format
 msgid "Unknown list keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
 #, c-format
 msgid "%s is not a job name.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
 #, c-format
 msgid "Could not find Pool for Job %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
 #, c-format
 msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
 msgstr ""
 
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
 #, c-format
 msgid ""
 "The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
 #, c-format
 msgid "Could not find next Volume for Job %s.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
 #, c-format
 msgid "Could not open database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
 #, c-format
 msgid "Pool %s not in database. %s"
 msgstr ""
 
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
 #, c-format
 msgid "Pool %s created in database.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
 msgid "You have no messages.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
 msgid "Message too long to display.\n"
 msgstr ""
 
@@ -1464,88 +1464,88 @@ msgstr ""
 msgid ": is an invalid command.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
 #: src/dird/ua_restore.c:823
 #, c-format
 msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
 #: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
 #: src/dird/job.c:1160 src/dird/job.c:1164
 msgid "unknown source"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
 msgid "Connected to storage daemon\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
 #: src/dird/ua_status.c:397
 #, c-format
 msgid "Connecting to Client %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
 msgid "Failed to connect to Client.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
 #, c-format
 msgid "Unknown command: %s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
 msgid "Available daemons are: \n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
 msgid "Director"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
 msgid "Select daemon type to make die"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
 msgid "The Director will generate a deadlock.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
 msgid "The Director will segment fault.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
 msgid "Access to specified Client or FileSet not allowed.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
 #: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
 #: src/dird/ua_restore.c:990
 #, c-format
 msgid "Query failed: %s. ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
 msgid "query keyword not found.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
 #, c-format
 msgid "List MediaType failed: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
 #, c-format
 msgid "List Media failed: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
 #, c-format
 msgid "List Location failed: ERR=%s\n"
 msgstr ""
@@ -1854,11 +1854,11 @@ msgstr ""
 msgid "Enter base volume name: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
 msgid "Volume name too long.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
 msgid "Volume name must be at least one character long.\n"
 msgstr ""
 
@@ -1917,11 +1917,11 @@ msgstr ""
 msgid "Python interpreter restarted.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
 msgid "Nothing done.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
 #, c-format
 msgid "Client \"%s\" not found.\n"
 msgstr ""
@@ -1948,7 +1948,7 @@ msgstr ""
 msgid "Select daemon type to set debug level"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
 #, c-format
 msgid "No authorization for Client \"%s\"\n"
 msgstr ""
@@ -1957,7 +1957,7 @@ msgstr ""
 msgid "Client name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
 #, c-format
 msgid "No authorization for Job \"%s\"\n"
 msgstr ""
@@ -1980,7 +1980,7 @@ msgstr ""
 msgid "Fileset name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
 #, c-format
 msgid "Level \"%s\" not valid.\n"
 msgstr ""
@@ -1989,43 +1989,67 @@ msgstr ""
 msgid "Level value missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
 msgid "Invalid value for accurate. It must be yes or no.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+msgid "Accurate value missing.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1167
 msgid "No job specified.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
 msgid "Error sending include list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
 msgid "Error sending exclude list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
 msgid ""
 "In general it is not a good idea to delete either a\n"
 "Pool or a Volume since they may contain data.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
 msgid "Choose catalog item to delete"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
 msgid "Enter JobId to delete: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
 #, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Jobid %s and associated records deleted from the catalog.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
 #, c-format
 msgid ""
 "\n"
@@ -2033,44 +2057,44 @@ msgid ""
 "and all Jobs saved on that volume from the Catalog\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
 #, c-format
 msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
 msgid "Can't list jobs on this volume\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
 #, c-format
 msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
 #, c-format
 msgid "Using Catalog name=%s DB=%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
 msgid "ERR: Can't open db\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
 msgid "Wait on mount timed out\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
 msgid "ERR: Job was not found\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
 msgid ""
 "  Command       Description\n"
 "  =======       ===========\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
 #, c-format
 msgid ""
 "  %-13s %s\n"
@@ -2079,12 +2103,12 @@ msgid ""
 "\t%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
 #, c-format
 msgid "  %-13s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
 #, c-format
 msgid ""
 "\n"
@@ -2092,29 +2116,29 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
 msgid ""
 "\n"
 "When at a prompt, entering a period cancels the command.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
 #, c-format
 msgid "No authorization for Catalog \"%s\"\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
 #, c-format
 msgid "Could not open catalog database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
 #, c-format
 msgid "Using Catalog \"%s\"\n"
 msgstr ""
@@ -2312,57 +2336,57 @@ msgstr ""
 msgid "%d directories unmarked.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
 #: src/qt-console/tray-monitor/tray_conf.cpp:168
 #, c-format
 msgid "No %s resource defined\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
 #, c-format
 msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
 #, c-format
 msgid "   query_file=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
 msgid "  --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
 #, c-format
 msgid "Console: name=%s SSL=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
 #, c-format
 msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
 #, c-format
 msgid "Counter: name=%s min=%d max=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
 #, c-format
 msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
 #, c-format
 msgid ""
 "Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2371,286 +2395,286 @@ msgid ""
 "      poolid=%s volname=%s MediaType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
 #, c-format
 msgid ""
 "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
 "      DeviceName=%s MediaType=%s StorageId=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
 #, c-format
 msgid ""
 "Catalog: name=%s address=%s DBport=%d db_name=%s\n"
 "      db_driver=%s db_user=%s MutliDBConn=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
 #, c-format
 msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
 msgid "JobDefs"
 msgstr ""
 
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
 #, c-format
 msgid ""
 "     MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
 "%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
 #, c-format
 msgid "     SpoolSize=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
 #, c-format
 msgid "     Accurate=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
 #, c-format
 msgid "     SelectionType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
 #, c-format
 msgid "  --> Where=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
 #, c-format
 msgid "  --> RegexWhere=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
 #, c-format
 msgid "  --> Bootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
 #, c-format
 msgid "  --> WriteBootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
 #, c-format
 msgid "  --> PluginOptions=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
 #, c-format
 msgid "  --> MaxRunTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
 #, c-format
 msgid "  --> MaxWaitTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
 #, c-format
 msgid "  --> MaxStartDelay=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
 #, c-format
 msgid "  --> MaxRunSchedTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
 #, c-format
 msgid "  --> Base %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
 msgid " --> RunScript\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
 #, c-format
 msgid "  --> Command=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
 #, c-format
 msgid "  --> Target=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
 #, c-format
 msgid "  --> RunOnSuccess=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
 #, c-format
 msgid "  --> RunOnFailure=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
 #, c-format
 msgid "  --> FailJobOnError=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
 #, c-format
 msgid "  --> RunWhen=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
 #, c-format
 msgid "  --> Run=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
 #, c-format
 msgid "  --> SelectionPattern=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
 #, c-format
 msgid "FileSet: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
 #, c-format
 msgid "Schedule: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
 #, c-format
 msgid "  --> Run Level=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
 msgid "      hour="
 msgstr ""
 
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
 msgid "      mday="
 msgstr ""
 
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
 msgid "      month="
 msgstr ""
 
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
 msgid "      wday="
 msgstr ""
 
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
 msgid "      wom="
 msgstr ""
 
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
 msgid "      woy="
 msgstr ""
 
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
 #, c-format
 msgid "      mins=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
 msgid "     --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
 #, c-format
 msgid "Pool: name=%s PoolType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
 #, c-format
 msgid "      use_cat=%d use_once=%d cat_files=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
 #, c-format
 msgid "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
 #, c-format
 msgid "      VolUse=%s recycle=%d LabelFormat=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
 #, c-format
 msgid "      CleaningPrefix=%s LabelType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
 #, c-format
 msgid "      RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
 #, c-format
 msgid "      MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
 #, c-format
 msgid "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
 #, c-format
 msgid "      NextPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
 #, c-format
 msgid "      RecyclePool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
 #, c-format
 msgid "      ScratchPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
 #, c-format
 msgid "      Catalog=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
 #, c-format
 msgid "Messages: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
 #, c-format
 msgid "      mailcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
 #, c-format
 msgid "      opcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
 #: src/qt-console/tray-monitor/tray_conf.cpp:199
 #, c-format
 msgid "Unknown resource type %d in dump_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
 #: src/qt-console/tray-monitor/tray_conf.cpp:257
 #, c-format
 msgid "Unknown resource type %d in free_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
 #: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
 #: src/console/console_conf.c:259 src/filed/filed_conf.c:361
 #: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2659,54 +2683,54 @@ msgstr ""
 msgid "%s item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
 #: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
 #, c-format
 msgid "Too many items in %s resource\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
 #, c-format
 msgid "Cannot find Pool resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
 #, c-format
 msgid "Cannot find Console resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
 #: src/filed/filed_conf.c:381
 #, c-format
 msgid "Cannot find Director resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
 #, c-format
 msgid "Cannot find Storage resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
 #, c-format
 msgid "Cannot find Job resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
 #, c-format
 msgid "Cannot find Counter resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
 #, c-format
 msgid "Cannot find Client resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
 #, c-format
 msgid "Cannot find Schedule resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
 #: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
 #: src/qt-console/tray-monitor/tray_conf.cpp:314
 #: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2714,12 +2738,12 @@ msgstr ""
 msgid "Unknown resource type %d in save_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
 #, c-format
 msgid "Name item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
 #: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
 #: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
 #: src/qt-console/bat_conf.cpp:334
@@ -2727,43 +2751,43 @@ msgstr ""
 msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
 #, c-format
 msgid "Inserting %s res: %s index=%d pass=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
 #, c-format
 msgid "Expected one of: %s, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
 #, c-format
 msgid "Expected a Migration Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
 #, c-format
 msgid "Expected a Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
 #, c-format
 msgid "Expected a Job Level keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
 #, c-format
 msgid "Expected a Restore replacement option, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
 #: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
 #, c-format
 msgid "Expect %s, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
 #, c-format
 msgid "Could not find config Resource %s referenced on line %d : %s\n"
 msgstr ""
@@ -2891,7 +2915,7 @@ msgstr ""
 msgid "Select full restore to a specified Job date"
 msgstr ""
 
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
 #: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
 msgid "Cancel"
 msgstr ""
@@ -3294,179 +3318,179 @@ msgstr ""
 msgid "Slot too large.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
 msgid "command line"
 msgstr ""
 
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
 msgid "No slots in changer to scan.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
 msgid "No Volumes found to label, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
 #, c-format
 msgid "Slot %d greater than max %d ignored.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
 #, c-format
 msgid "No VolName for Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
 #, c-format
 msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
 #, c-format
 msgid "Catalog record for Volume \"%s\" is up to date.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
 #, c-format
 msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
 #, c-format
 msgid ""
 "Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
 "relabeling.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
 msgid "Enter new Volume name: "
 msgstr ""
 
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
 #, c-format
 msgid "Media record for new Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
 msgid "Enter slot (0 or Enter for none): "
 msgstr ""
 
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
 #, c-format
 msgid "Delete of Volume \"%s\" failed. ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
 #, c-format
 msgid "Old volume \"%s\" deleted from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
 #, c-format
 msgid "Requesting to mount %s ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
 msgid "Do not forget to mount the drive!!!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
 msgid ""
 "The following Volumes will be labeled:\n"
 "Slot  Volume\n"
 "==============\n"
 msgstr ""
 
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
 msgid "Do you want to label these Volumes? (yes|no): "
 msgstr ""
 
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
 #, c-format
 msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
 #, c-format
 msgid "Error setting InChanger: ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
 #, c-format
 msgid "Maximum pool Volumes=%d reached.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
 #, c-format
 msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
 #, c-format
 msgid "Catalog error on cleaning tape: %s"
 msgstr ""
 
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
 #, c-format
 msgid "Illegal character \"%c\" in a volume name.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
 #, c-format
 msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
 #, c-format
 msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
 #, c-format
 msgid "Catalog record for Volume \"%s\", Slot %d  successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
 #, c-format
 msgid "Label command failed for Volume %s.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
 msgid "Could not open SD socket.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
 #, c-format
 msgid "Invalid Slot number: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
 #, c-format
 msgid "Invalid Volume name: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
 #, c-format
 msgid "Device \"%s\" has %d slots.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
 #, c-format
 msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
 msgid "No Volumes found, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
 msgid ""
 " Slot |   Volume Name    |   Status  |     Media Type       |      "
 "Pool          |\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
 msgid ""
 "------+------------------+-----------+----------------------"
 "+--------------------|\n"
@@ -3687,15 +3711,15 @@ msgid "New Recycle flag is: %s\n"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
 #: src/tools/dbcheck.c:1352
 msgid "yes"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
 msgid "no"
 msgstr ""
 
@@ -3774,7 +3798,7 @@ msgstr ""
 msgid "New ActionOnPurge is: %s\n"
 msgstr ""
 
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
 msgid "Parameters to modify:\n"
 msgstr ""
 
@@ -3846,7 +3870,7 @@ msgstr ""
 msgid "Done"
 msgstr ""
 
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
 msgid "Select parameter to modify"
 msgstr ""
 
@@ -4075,7 +4099,7 @@ msgstr ""
 msgid "Pool resource \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
 #, c-format
 msgid "Could not get job record for JobId %s to %s. ERR=%s"
 msgstr ""
@@ -4090,140 +4114,140 @@ msgstr ""
 msgid "Start %s JobId %s, Job=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
 #, c-format
 msgid "No %s SQL selection pattern specified.\n"
 msgstr ""
 
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
 #, c-format
 msgid "SQL failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
 #, c-format
 msgid "No Volumes found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
 msgid "Invalid JobId found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
 #, c-format
 msgid "Unknown %s Selection Type.\n"
 msgstr ""
 
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
 #, c-format
 msgid "No JobIds found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
 #, c-format
 msgid "The following %u JobId%s chosen to be %s: %s\n"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid " was"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid "s were"
 msgstr ""
 
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
 #, c-format
 msgid "%s using JobId=%s Job=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
 msgid "Could not start migration job.\n"
 msgstr ""
 
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
 #, c-format
 msgid "%s JobId %d started.\n"
 msgstr ""
 
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
 #, c-format
 msgid "No %s found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
 #, c-format
 msgid "SQL error. Expected 1 MediaId got %d\n"
 msgstr ""
 
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
 #, c-format
 msgid "No %ss found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
 msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
 msgstr ""
 
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
 #, c-format
 msgid "SQL to get uncopied jobs failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
 #, c-format
 msgid "No %s %s selection pattern specified.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
 #, c-format
 msgid "SQL to get %s failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
 #, c-format
 msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
 #, c-format
 msgid "Regex pattern matched no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
 #, c-format
 msgid "%s OK -- with warnings"
 msgstr ""
 
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
 #, c-format
 msgid "%s OK"
 msgstr ""
 
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
 #, c-format
 msgid "*** %s Error ***"
 msgstr ""
 
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
 #, c-format
 msgid "%s Canceled"
 msgstr ""
 
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
 #, c-format
 msgid "Inappropriate %s term code"
 msgstr ""
 
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
 #, c-format
 msgid "%s -- no files to %s"
 msgstr ""
 
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -4258,17 +4282,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
 #, c-format
 msgid "No Next Pool specification found in Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
 #, c-format
 msgid "No Storage specification found in Next Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
 msgid "Storage from Pool's NextPool resource"
 msgstr ""
 
@@ -4276,43 +4300,43 @@ msgstr ""
 msgid "Choose item to prune"
 msgstr ""
 
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
 #, c-format
 msgid "Cannot prune Volume \"%s\" because it is archived.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
 msgid "Pruned Jobs from JobHisto catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
 msgid "Begin pruning Files.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
 msgid "No Files found to prune.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
 #, c-format
 msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
 #, c-format
 msgid "Begin pruning Jobs older than %s.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
 #, c-format
 msgid "Pruned %d %s for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
 msgid "Jobs"
 msgstr ""
 
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
 msgid "No Jobs found to prune.\n"
 msgstr ""
 
@@ -4335,50 +4359,58 @@ msgstr ""
 msgid "Job queued. JobId=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
 msgid "Job not run.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
 msgid "Level"
 msgstr ""
 
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
 msgid "Restore Client"
 msgstr ""
 
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
 #: src/wx-console/wxbrestorepanel.cpp:854
 #: src/wx-console/wxbrestorepanel.cpp:1918
 msgid "When"
 msgstr ""
 
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
 #: src/wx-console/wxbrestorepanel.cpp:1128
 #: src/wx-console/wxbrestorepanel.cpp:1921
 msgid "Priority"
 msgstr ""
 
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
 msgid "Verify Job"
 msgstr ""
 
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
 #: src/wx-console/wxbrestorepanel.cpp:1899
 msgid "Bootstrap"
 msgstr ""
 
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
 #: src/wx-console/wxbrestorepanel.cpp:1104
 #: src/wx-console/wxbrestorepanel.cpp:1901
 msgid "Where"
 msgstr ""
 
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
 msgid "File Relocation"
 msgstr ""
 
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
 #: src/wx-console/wxbrestorepanel.cpp:1112
 #: src/wx-console/wxbrestorepanel.cpp:1905
 #: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4388,212 +4420,212 @@ msgstr ""
 msgid "Replace"
 msgstr ""
 
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
 msgid "JobId"
 msgstr ""
 
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
 msgid "Plugin Options"
 msgstr ""
 
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
 msgid "user selection"
 msgstr ""
 
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
 msgid ""
 "Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
 msgstr ""
 
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
 msgid "Invalid time, using current time.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
 msgid "Enter new Priority: "
 msgstr ""
 
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
 msgid "Priority must be a positive integer.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
 msgid "Please enter the Bootstrap file name: "
 msgstr ""
 
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
 #, c-format
 msgid "Warning cannot open %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
 msgid "Please enter the full path prefix for restore (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
 msgid "Replace:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
 msgid "Select replace option"
 msgstr ""
 
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
 msgid ""
 "You must set the bootstrap file to NULL to be able to specify a JobId.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
 msgid "Please Plugin Options string: "
 msgstr ""
 
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
 msgid "User input"
 msgstr ""
 
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
 #, c-format
 msgid "Invalid replace option: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
 msgid "This will replace your current Where value\n"
 msgstr ""
 
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
 msgid "Strip prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
 msgid "Add prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
 msgid "Add file suffix"
 msgstr ""
 
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
 msgid "Enter a regexp"
 msgstr ""
 
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
 msgid "Test filename manipulation"
 msgstr ""
 
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
 msgid "Use this ?"
 msgstr ""
 
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
 msgid "Please enter the path prefix to strip: "
 msgstr ""
 
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
 msgid "Please enter the path prefix to add (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
 msgid "Please enter the file suffix to add: "
 msgstr ""
 
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
 msgid "Please enter a valid regexp (!from!to!): "
 msgstr ""
 
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
 #, c-format
 msgid "regexwhere=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
 msgid "Cannot use your regexp\n"
 msgstr ""
 
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
 msgid "Enter a period (.) to stop this test\n"
 msgstr ""
 
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
 msgid "Please enter filename to test: "
 msgstr ""
 
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
 #, c-format
 msgid "%s -> %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
 msgid "Cannot use your regexp.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
 msgid "Levels:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
 #: src/lib/util.c:472 src/filed/status.c:519
 msgid "Full"
 msgstr ""
 
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
 #: src/filed/status.c:522
 msgid "Incremental"
 msgstr ""
 
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
 #: src/filed/status.c:525
 msgid "Differential"
 msgstr ""
 
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
 #: src/filed/status.c:528
 msgid "Since"
 msgstr ""
 
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
 msgid "VirtualFull"
 msgstr ""
 
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
 msgid "Select level"
 msgstr ""
 
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
 msgid "Initialize Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
 #: src/filed/status.c:531
 msgid "Verify Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
 msgid "Verify Volume to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
 msgid "Verify Disk to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
 msgid "Verify Volume Data (not yet implemented)"
 msgstr ""
 
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
 msgid "Level not appropriate for this Job. Cannot be changed.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
 #, c-format
 msgid ""
 "Run Admin Job\n"
@@ -4605,7 +4637,7 @@ msgid ""
 "Priority: %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
 #, c-format
 msgid ""
 "Run Backup job\n"
@@ -4620,12 +4652,12 @@ msgid ""
 "%s%s%s"
 msgstr ""
 
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
 #, c-format
 msgid "Could not get job record for selected JobId. ERR=%s"
 msgstr ""
 
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
 #, c-format
 msgid ""
 "Run Verify Job\n"
@@ -4641,11 +4673,11 @@ msgid ""
 "Priority:    %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
 msgid "Please enter a JobId for restore: "
 msgstr ""
 
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4663,7 +4695,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4681,7 +4713,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4689,17 +4721,17 @@ msgid ""
 "Bootstrap:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
 #, c-format
 msgid "RegexWhere: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
 #, c-format
 msgid "Where:      %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
 #, c-format
 msgid ""
 "Replace:         %s\n"
@@ -4712,215 +4744,215 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
 msgid "Run Copy job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
 msgid "Run Migration job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
 #, c-format
 msgid "Unknown Job Type=%d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
 #, c-format
 msgid "Value missing for keyword %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
 msgid "Job name specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
 msgid "JobId specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
 msgid "Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
 msgid "FileSet specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
 msgid "Level specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
 msgid "Storage specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
 msgid "RegexWhere or Where specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
 msgid "No authorization for \"regexwhere\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
 msgid "Where or RegexWhere specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
 msgid "No authoriztion for \"where\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
 msgid "Bootstrap specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
 msgid "Replace specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
 msgid "When specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
 msgid "Priority specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
 msgid "Priority must be positive nonzero setting it to 10.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
 msgid "Verify Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
 msgid "Migration Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
 msgid "Pool specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
 msgid "Restore Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
 msgid "Plugin Options not yet implemented.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
 msgid "Plugin Options specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
 msgid "No authoriztion for \"PluginOptions\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
 msgid "Spool flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
 msgid "Invalid spooldata flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
 msgid "IgnoreDuplicateCheck flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
 msgid "Invalid ignoreduplicatecheck flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
 msgid "Accurate flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
 msgid "Invalid accurate flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
 #, c-format
 msgid "Invalid keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
 #, c-format
 msgid "Catalog \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
 #, c-format
 msgid "No authorization. Catalog \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
 #, c-format
 msgid "Job \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
 msgid "A job name must be specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
 #, c-format
 msgid "No authorization. Job \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
 #, c-format
 msgid "Pool \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
 #, c-format
 msgid "No authorization. Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
 #, c-format
 msgid "Storage \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
 msgid "No storage specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
 #, c-format
 msgid "No authorization. Storage \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
 #, c-format
 msgid "No authorization. Client \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
 #, c-format
 msgid "Restore Client \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
 #, c-format
 msgid "FileSet \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
 #, c-format
 msgid "No authorization. FileSet \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
 #, c-format
 msgid "Verify Job \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
 #, c-format
 msgid "Migration Job \"%s\" not found.\n"
 msgstr ""
@@ -4977,25 +5009,25 @@ msgstr ""
 msgid "Start Backup JobId %s, Job=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
 #, c-format
 msgid "Unexpected Client Job message: %s\n"
 msgstr ""
 
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
 #, c-format
 msgid "Network error with FD during %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
 msgid "No Job status returned from FD.\n"
 msgstr ""
 
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
 msgid "Backup failed -- incomplete"
 msgstr ""
 
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5034,19 +5066,19 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
 #, c-format
 msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
 #, c-format
 msgid ""
 "Could not open WriteBootstrap file:\n"
 "%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
 #, c-format
 msgid "Could not open bootstrap file %s: ERR=%s\n"
 msgstr ""
@@ -5061,39 +5093,39 @@ msgstr ""
 msgid "Could not acquire read storage lock for \"%s\""
 msgstr ""
 
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
 msgid ""
 "Cannot restore without a bootstrap file.\n"
 "You probably ran a restore job directly. All restore jobs must\n"
 "be run using the restore command.\n"
 msgstr ""
 
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
 #, c-format
 msgid "Start Restore Job %s\n"
 msgstr ""
 
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
 msgid "Restore OK -- warning file count mismatch"
 msgstr ""
 
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
 msgid "Restore OK"
 msgstr ""
 
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
 msgid "Restore OK -- with warnings"
 msgstr ""
 
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
 msgid "*** Restore Error ***"
 msgstr ""
 
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
 msgid "Restore Canceled"
 msgstr ""
 
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5122,7 +5154,7 @@ msgstr ""
 msgid "Select daemon type for status"
 msgstr ""
 
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s\n"
 msgstr ""
@@ -5132,7 +5164,7 @@ msgstr ""
 msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
 msgstr ""
 
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
 #, c-format
 msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
 msgstr ""
@@ -5189,7 +5221,7 @@ msgstr ""
 msgid "No Scheduled Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
 msgid ""
 "\n"
 "Running Jobs:\n"
@@ -5353,13 +5385,13 @@ msgstr ""
 msgid "No Terminated Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
 msgid ""
 "\n"
 "Terminated Jobs:\n"
 msgstr ""
 
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
 msgid " JobId  Level    Files      Bytes   Status   Finished        Name \n"
 msgstr ""
 
@@ -5367,41 +5399,41 @@ msgstr ""
 msgid "====================================================================\n"
 msgstr ""
 
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
 #: src/filed/status.c:363
 msgid "Created"
 msgstr ""
 
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
 #: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
 msgid "Error"
 msgstr ""
 
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
 msgid "Diffs"
 msgstr ""
 
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
 #: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
 #: src/wx-console/wxbconfigpanel.cpp:209
 msgid "OK"
 msgstr ""
 
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
 #: src/lib/util.c:327
 msgid "OK -- with warnings"
 msgstr ""
 
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
 msgid "Other"
 msgstr ""
 
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
 #, c-format
 msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
 msgstr ""
 
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
 #, c-format
 msgid "%6d  %-6s %8s %10s  %-7s  %-8s %s\n"
 msgstr ""
@@ -5570,7 +5602,7 @@ msgstr ""
 msgid "Job DiffPool override"
 msgstr ""
 
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
 #, c-format
 msgid "Could not create Client record. ERR=%s\n"
 msgstr ""
@@ -5894,7 +5926,17 @@ msgstr ""
 msgid "<stored: bad response to Job command: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:311
+#, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:318
 #, c-format
 msgid ""
 "\n"
@@ -5902,24 +5944,19 @@ msgid ""
 "     %s"
 msgstr ""
 
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
 #, c-format
 msgid ""
 "\n"
 "     Storage daemon didn't accept Device \"%s\" command.\n"
 msgstr ""
 
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
 #, c-format
 msgid "Cannot create message thread: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
 msgid "Director's comm line to SD dropped.\n"
 msgstr ""
 
@@ -6369,26 +6406,26 @@ msgstr ""
 msgid "Unable to initialize reservation lock. ERR=%s\n"
 msgstr ""
 
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
 #, c-format
 msgid "Hey! num_writers=%d!!!!\n"
 msgstr ""
 
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
 msgid "3939 Could not get dcr\n"
 msgstr ""
 
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
 #, c-format
 msgid "Device reservation failed for JobId=%d: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
 #, c-format
 msgid "Failed command: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
 #, c-format
 msgid ""
 "\n"
@@ -6396,85 +6433,85 @@ msgid ""
 "does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
 #, c-format
 msgid ""
 "\n"
 "     Device \"%s\" requested by DIR could not be opened or does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
 #, c-format
 msgid "3926 Could not get dcr for device: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
 #, c-format
 msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
 #, c-format
 msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
 msgstr ""
 
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
 #, c-format
 msgid "3603 JobId=%u device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
 #, c-format
 msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
 #, c-format
 msgid ""
 "3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
 "%s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
 #, c-format
 msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
 #, c-format
 msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
 #, c-format
 msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
 msgstr ""
 
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
 #, c-format
 msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
 #, c-format
 msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
 #, c-format
 msgid "Logic error!!!! JobId=%u Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
 #, c-format
 msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
 msgid "Logic error!!!! Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
 #, c-format
 msgid "3911 JobId=%u failed reserve drive %s.\n"
 msgstr ""
@@ -6606,7 +6643,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
 msgstr ""
 
 #: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
 #, c-format
 msgid "Mount Volume \"%s\" on device %s and press return when ready: "
 msgstr ""
@@ -6901,7 +6938,7 @@ msgstr ""
 msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
 #, c-format
 msgid ""
 "Bootstrap file error: %s\n"
@@ -6909,154 +6946,154 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
 #, c-format
 msgid "Cannot open bootstrap file %s: %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
 #, c-format
 msgid "MediaType %s in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
 #, c-format
 msgid "Device \"%s\" in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
 #, c-format
 msgid "REGEX '%s' compile error. ERR=%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
 msgid "JobType not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
 msgid "JobLevel not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
 #, c-format
 msgid "Slot %d in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
 #, c-format
 msgid "VolFile     : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
 #, c-format
 msgid "VolBlock    : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
 #, c-format
 msgid "VolAddr    : %llu-%llu\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
 #, c-format
 msgid "FileIndex   : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
 #, c-format
 msgid "FileIndex   : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
 #, c-format
 msgid "JobId       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
 #, c-format
 msgid "JobId       : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
 #, c-format
 msgid "SessId      : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
 #, c-format
 msgid "SessId      : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
 #, c-format
 msgid "VolumeName  : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
 #, c-format
 msgid "  MediaType : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
 #, c-format
 msgid "  Device    : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
 #, c-format
 msgid "  Slot      : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
 #, c-format
 msgid "Client      : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
 #, c-format
 msgid "Job          : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
 #, c-format
 msgid "SessTime    : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
 msgid "BSR is NULL\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
 #, c-format
 msgid "Next        : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
 #, c-format
 msgid "Root bsr    : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
 #, c-format
 msgid "count       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
 #, c-format
 msgid "found       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
 #, c-format
 msgid "done        : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
 #, c-format
 msgid "positioning : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
 #, c-format
 msgid "fast_reject : %d\n"
 msgstr ""
@@ -7141,7 +7178,7 @@ msgid "Unable to set network buffer size.\n"
 msgstr ""
 
 #: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
 msgid "NULL Volume name. This shouldn't happen!!!\n"
 msgstr ""
 
@@ -7250,7 +7287,7 @@ msgstr ""
 msgid "Volume on %s has bad Bacula label type: %x\n"
 msgstr ""
 
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
 #, c-format
 msgid "Could not reserve volume %s on %s\n"
 msgstr ""
@@ -7260,7 +7297,7 @@ msgstr ""
 msgid "Cannot write Volume label to block for device %s\n"
 msgstr ""
 
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
 #, c-format
 msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
@@ -7426,82 +7463,101 @@ msgstr ""
 msgid "Used Volume status:\n"
 msgstr ""
 
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
 msgid ""
-"====\n"
 "\n"
+"SD Resources:\n"
 msgstr ""
 
-#: src/stored/status.c:128
+#: src/stored/status.c:153
 msgid ""
 "\n"
 "Device status:\n"
 msgstr ""
 
-#: src/stored/status.c:132
+#: src/stored/status.c:157
 #, c-format
 msgid "Autochanger \"%s\" with devices:\n"
 msgstr ""
 
-#: src/stored/status.c:150
+#: src/stored/status.c:177
 #, c-format
 msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
 "    Volume:      %s\n"
 "    Pool:        %s\n"
 "    Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+msgid "*unknown*"
+msgstr ""
+
+#: src/stored/status.c:188
 #, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
 msgstr ""
 
-#: src/stored/status.c:171
+#: src/stored/status.c:199
 #, c-format
 msgid "    Total Bytes=%s Blocks=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:186
+#: src/stored/status.c:214
 #, c-format
 msgid "    Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:192
+#: src/stored/status.c:220
 #, c-format
 msgid "    Positioned at File=%s Block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:199
+#: src/stored/status.c:227
 #, c-format
-msgid "Device %s is not open.\n"
+msgid ""
+"\n"
+"Device %s is not open.\n"
 msgstr ""
 
-#: src/stored/status.c:203
+#: src/stored/status.c:231
 #, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
 msgstr ""
 
-#: src/stored/status.c:225
+#: src/stored/status.c:255
 #, c-format
 msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
 msgstr ""
 
-#: src/stored/status.c:248
+#: src/stored/status.c:293
 msgid ""
 "No DEVICE structure.\n"
 "\n"
 msgstr ""
 
-#: src/stored/status.c:254
+#: src/stored/status.c:299
 msgid "    Device is BLOCKED. User unmounted.\n"
 msgstr ""
 
-#: src/stored/status.c:258
+#: src/stored/status.c:303
 msgid "    Device is BLOCKED. User unmounted during wait for media/mount.\n"
 msgstr ""
 
-#: src/stored/status.c:270
+#: src/stored/status.c:313
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7509,7 +7565,7 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:279
+#: src/stored/status.c:322
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting to create a volume for:\n"
@@ -7517,172 +7573,165 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:291
+#: src/stored/status.c:333
 msgid "    Device is BLOCKED waiting for media.\n"
 msgstr ""
 
-#: src/stored/status.c:297
+#: src/stored/status.c:339
 msgid "    Device is being initialized.\n"
 msgstr ""
 
-#: src/stored/status.c:301
+#: src/stored/status.c:343
 msgid "    Device is blocked labeling a Volume.\n"
 msgstr ""
 
-#: src/stored/status.c:310
+#: src/stored/status.c:352
 #, c-format
-msgid "    Slot %d is loaded in drive %d.\n"
+msgid "    Slot %d %s loaded in drive %d.\n"
 msgstr ""
 
-#: src/stored/status.c:314
+#: src/stored/status.c:356
 #, c-format
 msgid "    Drive %d is not loaded.\n"
 msgstr ""
 
-#: src/stored/status.c:317
-#, c-format
-msgid "    Drive %d status unknown.\n"
-msgstr ""
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
 #, c-format
 msgid "Configured device capabilities:\n"
 msgstr ""
 
-#: src/stored/status.c:349
+#: src/stored/status.c:389
 msgid "Device state:\n"
 msgstr ""
 
-#: src/stored/status.c:367
+#: src/stored/status.c:405
 #, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid "  num_writers=%d reserves=%d block=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
+msgid "Attached Jobs: "
 msgstr ""
 
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:427 src/stored/btape.c:720
 #, c-format
 msgid "Device parameters:\n"
 msgstr ""
 
-#: src/stored/status.c:374
+#: src/stored/status.c:429
 #, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid "  Archive name: %s Device name: %s\n"
 msgstr ""
 
-#: src/stored/status.c:378
+#: src/stored/status.c:432
 #, c-format
-msgid "File=%u block=%u\n"
+msgid "  File=%u block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:381
+#: src/stored/status.c:434
 #, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid "  Min block=%u Max block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:401
+#: src/stored/status.c:455
 #, c-format
 msgid "%s Job %s waiting for Client connection.\n"
 msgstr ""
 
-#: src/stored/status.c:417
+#: src/stored/status.c:471
 #, c-format
 msgid ""
 "Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:430
+#: src/stored/status.c:484
 #, c-format
 msgid ""
 "Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:441
+#: src/stored/status.c:495
 #, c-format
 msgid "    spooling=%d despooling=%d despool_wait=%d\n"
 msgstr ""
 
-#: src/stored/status.c:450
+#: src/stored/status.c:511
 #, c-format
-msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
+msgid "    Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
 msgstr ""
 
-#: src/stored/status.c:458
+#: src/stored/status.c:523
 #, c-format
 msgid "    FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
 msgstr ""
 
-#: src/stored/status.c:464
+#: src/stored/status.c:529
 msgid "    FDSocket closed\n"
 msgstr ""
 
-#: src/stored/status.c:485
+#: src/stored/status.c:550
 msgid ""
 "\n"
 "Jobs waiting to reserve a drive:\n"
 msgstr ""
 
-#: src/stored/status.c:516
+#: src/stored/status.c:581
 msgid "===================================================================\n"
 msgstr ""
 
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
 msgid "Base"
 msgstr ""
 
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
 msgid "Init Catalog"
 msgstr ""
 
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
 msgid "Volume to Catalog"
 msgstr ""
 
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
 msgid "Disk to Catalog"
 msgstr ""
 
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
 msgid "Data"
 msgstr ""
 
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
 msgid "Unknown Job Level"
 msgstr ""
 
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
 #, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
+msgid "3900 No arg in .status command: %s\n"
 msgstr ""
 
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
+#: src/stored/status.c:811
+#, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
 msgstr ""
 
-#: src/stored/status.c:760
+#: src/stored/status.c:826
 msgid "Bacula Storage: Idle"
 msgstr ""
 
-#: src/stored/status.c:771
+#: src/stored/status.c:837
 msgid "Bacula Storage: Running"
 msgstr ""
 
-#: src/stored/status.c:785
+#: src/stored/status.c:851
 msgid "Bacula Storage: Last Job Canceled"
 msgstr ""
 
-#: src/stored/status.c:789
+#: src/stored/status.c:855
 msgid "Bacula Storage: Last Job Failed"
 msgstr ""
 
-#: src/stored/status.c:793
+#: src/stored/status.c:859
 msgid "Bacula Storage: Last Job had Warnings"
 msgstr ""
 
@@ -7783,7 +7832,7 @@ msgid "%u files restored.\n"
 msgstr ""
 
 #: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
 #, c-format
 msgid "Write error on %s: %s\n"
 msgstr ""
@@ -7792,7 +7841,7 @@ msgstr ""
 msgid "Logic error output file should be open but is not.\n"
 msgstr ""
 
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
 #, c-format
 msgid "%s stream not supported on this Client.\n"
 msgstr ""
@@ -7808,7 +7857,7 @@ msgid "Seek error on %s: %s\n"
 msgstr ""
 
 #: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
 #, c-format
 msgid "Seek to %s error on %s: ERR=%s\n"
 msgstr ""
@@ -7818,16 +7867,16 @@ msgstr ""
 msgid "Uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
 msgid "GZIP data stream found, but GZIP not configured!\n"
 msgstr ""
 
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
 #, c-format
 msgid "Compressed header version error. version=0x%x\n"
 msgstr ""
 
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
 #, c-format
 msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
 msgstr ""
@@ -7837,7 +7886,7 @@ msgstr ""
 msgid "LZO uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
 #, c-format
 msgid "Compression algorithm 0x%x found, but not supported!\n"
 msgstr ""
@@ -7846,7 +7895,7 @@ msgstr ""
 msgid "Got Program Name or Data Stream. Ignored.\n"
 msgstr ""
 
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
 #, c-format
 msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
 msgstr ""
@@ -8036,125 +8085,125 @@ msgstr ""
 msgid "Unexpected Tape is Off-line\n"
 msgstr ""
 
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
 #, c-format
 msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
 #, c-format
 msgid "No volumes specified for reading. Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
 #, c-format
 msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
 msgstr ""
 
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
 #, c-format
 msgid ""
 "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
 "  device=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
 #, c-format
 msgid "Media Type change.  New read device %s chosen.\n"
 msgstr ""
 
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
 #, c-format
 msgid "No suitable device found to read Volume \"%s\"\n"
 msgstr ""
 
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
 #, c-format
 msgid "Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
 #, c-format
 msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
 #, c-format
 msgid "Too many errors trying to mount device %s for reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
 #, c-format
 msgid "Ready to read from volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
 #, c-format
 msgid "Want to append, but device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
 #, c-format
 msgid "Could not ready device %s for append.\n"
 msgstr ""
 
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
 #: src/stored/block.c:769 src/stored/block.c:847
 #, c-format
 msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
 #, c-format
 msgid "Alert: %s"
 msgstr ""
 
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
 #, c-format
 msgid "3997 Bad alert command: %s: ERR=%s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
 #: src/lib/openssl.c:122 src/lib/openssl.c:181
 #, c-format
 msgid "Unable to init mutex: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "Kan job cond variabele niet initialiseren: ERR=%s\n"
+
+#: src/stored/askdir.c:179
 msgid "Network error on bnet_recv in req_vol_info.\n"
 msgstr ""
 
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
 #, c-format
 msgid "Error getting Volume info: %s"
 msgstr ""
 
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
 #, c-format
 msgid "Didn't get vol info vol=%s: ERR=%s"
 msgstr ""
 
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
 #, c-format
 msgid "Error creating JobMedia record: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
 #, c-format
 msgid "Error creating JobMedia record: %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
 msgstr ""
 
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
 #, c-format
 msgid ""
 "Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8164,45 +8213,45 @@ msgid ""
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
 #, c-format
 msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
 msgid "pthread error in mount_next_volume.\n"
 msgstr ""
 
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
 msgid "Cannot request another volume: no volume name given.\n"
 msgstr ""
 
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
 msgstr ""
 
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
 msgid "pthread error in mount_volume\n"
 msgstr ""
 
@@ -8535,32 +8584,32 @@ msgstr ""
 msgid "Attempt to open read on non-open session.\n"
 msgstr ""
 
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
 #, c-format
 msgid "Too many errors trying to mount device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
 #, c-format
 msgid "Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
 #, c-format
 msgid "Volume \"%s\" previously written, moving to end of data.\n"
 msgstr ""
 
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
 #, c-format
 msgid "Unable to position to end of data on device %s: ERR=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
 #, c-format
 msgid "Volume \"%s\" not on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
 #, c-format
 msgid ""
 "Director wanted Volume \"%s\".\n"
@@ -8568,24 +8617,24 @@ msgid ""
 "    %s"
 msgstr ""
 
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
 #, c-format
 msgid ""
 "Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
 msgstr ""
 
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8593,23 +8642,23 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
 msgid "Error updating Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
 #, c-format
 msgid ""
 "Bacula cannot write on tape Volume \"%s\" because:\n"
 "The number of files mismatch! Volume=%u Catalog=%u\n"
 msgstr ""
 
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8617,46 +8666,46 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
 #, c-format
 msgid ""
 "Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
 #, c-format
 msgid "Labeled new Volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
 #, c-format
 msgid "Device %s not configured to autolabel Volumes.\n"
 msgstr ""
 
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
 #, c-format
 msgid "Marking Volume \"%s\" in Error in Catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
 #, c-format
 msgid ""
 "Autochanger Volume \"%s\" not found in slot %d.\n"
 "    Setting InChanger to zero in catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
 msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
 msgstr ""
 
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
 #, c-format
 msgid ""
 "Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
 msgstr ""
 
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
 #, c-format
 msgid "Cannot open Dev=%s, Vol=%s\n"
 msgstr ""
@@ -8742,7 +8791,7 @@ msgid ""
 "Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
 msgstr ""
 
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
 #, c-format
 msgid "Ftruncate spool file failed: ERR=%s\n"
 msgstr ""
@@ -8772,77 +8821,86 @@ msgstr ""
 msgid "Spool data read error. Wanted %u bytes, got %d\n"
 msgstr ""
 
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr ""
+
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
 msgstr ""
 
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
 msgid "Bad return from despool in write_block.\n"
 msgstr ""
 
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
 msgid "Spooling data again ...\n"
 msgstr ""
 
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
 #, c-format
 msgid "Error writing header to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
 #, c-format
 msgid ""
 "Error writing header to spool file. Disk probably full. Attempting recovery. "
 "Wanted to write=%d got=%d\n"
 msgstr ""
 
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
 msgid "Fatal despooling error."
 msgstr ""
 
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
 msgid "Retrying after header spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
 #, c-format
 msgid "Error writing data to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
 msgid "Retrying after data spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
 msgid "Network error on BlastAttributes.\n"
 msgstr ""
 
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
 #, c-format
 msgid "Fseek on attributes file failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
 #, c-format
 msgid "Truncate on attributes file failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
 #, c-format
 msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
 msgstr ""
 
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
 #, c-format
 msgid "fopen attr spool file %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
 #, c-format
 msgid "pthread_cond_wait failure. ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
 msgid "unknown blocked code"
 msgstr ""
 
@@ -8962,6 +9020,21 @@ msgstr ""
 msgid "Unable to init cond variable: ERR=%s\n"
 msgstr ""
 
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "Kan job cond variabele niet initialiseren: ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "Kan job cond variabele niet initialiseren: ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "Kan job cond variabele niet initialiseren: ERR=%s\n"
+
 #: src/stored/dev.c:416
 msgid "Illegal mode given to open dev.\n"
 msgstr ""
@@ -9310,7 +9383,7 @@ msgstr ""
 msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
 msgstr ""
 
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
 msgstr ""
@@ -9368,107 +9441,107 @@ msgstr ""
 msgid "Got Prog Data Stream record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
 #, c-format
 msgid "Unknown stream type!!! stream=%d len=%i\n"
 msgstr ""
 
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
 #, c-format
 msgid "Could not create File Attributes record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
 #, c-format
 msgid "Created File record: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
 #, c-format
 msgid "Could not create media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
 #, c-format
 msgid "Could not update media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
 #, c-format
 msgid "Created Media record for Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
 #, c-format
 msgid "Updated Media record at end of Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
 #, c-format
 msgid "Could not create pool record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
 #, c-format
 msgid "Created Pool record for Pool: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
 #, c-format
 msgid "Could not get Client record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
 #, c-format
 msgid "Created Client record for Client: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
 #, c-format
 msgid "Fileset \"%s\" already exists.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
 #, c-format
 msgid "Could not create FileSet record \"%s\". ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
 #, c-format
 msgid "Created FileSet record \"%s\"\n"
 msgstr ""
 
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
 #, c-format
 msgid "Could not create JobId record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
 #, c-format
 msgid "Could not update job start record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
 #, c-format
 msgid "Created new JobId=%u record for original JobId=%u\n"
 msgstr ""
 
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
 #, c-format
 msgid "Could not update JobId=%u record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
 #, c-format
 msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
 msgstr ""
 
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
 #, c-format
 msgid "Job Termination code: %d"
 msgstr ""
 
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
 #, c-format
 msgid ""
 "%s\n"
@@ -9488,27 +9561,27 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
 #, c-format
 msgid "Could not create JobMedia record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
 #, c-format
 msgid "Created JobMedia record JobId %d, MediaId %d\n"
 msgstr ""
 
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
 #, c-format
 msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
 msgid "Updated MD5/SHA1 record\n"
 msgstr ""
 
@@ -11594,40 +11667,40 @@ msgid ""
 "Please see "
 msgstr ""
 
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
 #, c-format
 msgid "Could not open console message file %s: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:376
+#: src/lib/message.c:377
 #, c-format
 msgid "Could not get con mutex: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:481
+#: src/lib/message.c:482
 msgid "Bacula Message"
 msgstr ""
 
-#: src/lib/message.c:485
+#: src/lib/message.c:486
 #, c-format
 msgid "open mail pipe %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:553
+#: src/lib/message.c:577
 msgid "open mail pipe failed.\n"
 msgstr ""
 
-#: src/lib/message.c:565
+#: src/lib/message.c:590
 #, c-format
 msgid "close error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:576
+#: src/lib/message.c:601
 #, c-format
 msgid "Mail prog: %s"
 msgstr ""
 
-#: src/lib/message.c:585
+#: src/lib/message.c:610
 #, c-format
 msgid ""
 "Mail program terminated in error.\n"
@@ -11635,12 +11708,16 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:684
+#: src/lib/message.c:713
 #, c-format
 msgid "fopen %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
 #, c-format
 msgid ""
 "Msg delivery error: Operator mail program terminated in error.\n"
@@ -11648,77 +11725,77 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:878
+#: src/lib/message.c:911
 #, c-format
 msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
 #, c-format
 msgid "%s: ABORTING due to ERROR in %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
 #, c-format
 msgid "%s: ERROR TERMINATION at %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
 #, c-format
 msgid "%s: Fatal Error because: "
 msgstr ""
 
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
 #, c-format
 msgid "%s: Fatal Error at %s:%d because:\n"
 msgstr ""
 
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
 #, c-format
 msgid "%s: ERROR: "
 msgstr ""
 
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
 #, c-format
 msgid "%s: ERROR in %s:%d "
 msgstr ""
 
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
 #, c-format
 msgid "%s: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
 #, c-format
 msgid "%s: Security violation: "
 msgstr ""
 
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
 #, c-format
 msgid "%s ABORTING due to ERROR\n"
 msgstr ""
 
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
 #, c-format
 msgid "%s ERROR TERMINATION\n"
 msgstr ""
 
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
 #, c-format
 msgid "%s JobId %u: Fatal error: "
 msgstr ""
 
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
 #, c-format
 msgid "%s JobId %u: Error: "
 msgstr ""
 
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
 #, c-format
 msgid "%s JobId %u: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
 #, c-format
 msgid "%s JobId %u: Security violation: "
 msgstr ""
@@ -11772,71 +11849,6 @@ msgstr ""
 msgid "Could not destroy client queue: ERR=%s\n"
 msgstr ""
 
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
 #: src/lib/bpipe.c:361 src/lib/bpipe.c:444
 msgid "Program killed by Bacula (timeout)\n"
 msgstr ""
@@ -12286,7 +12298,7 @@ msgstr ""
 msgid "Truncate"
 msgstr ""
 
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
 msgid "None"
 msgstr ""
 
@@ -12336,7 +12348,7 @@ msgstr ""
 
 #: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
 #: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
 msgid "*none*"
 msgstr ""
 
@@ -12548,20 +12560,20 @@ msgstr ""
 msgid "pthread_setspecific failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Storage "
 "daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -12747,203 +12759,271 @@ msgstr ""
 msgid "Invalid errno. No error message possible."
 msgstr ""
 
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
 #: src/lib/signal.c:67
 msgid "Invalid signal number"
 msgstr ""
 
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
 #, c-format
 msgid "Bacula interrupted by signal %d: %s\n"
 msgstr ""
 
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
 #, c-format
 msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
 msgstr ""
 
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
 #, c-format
 msgid "Kaboom! exepath=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
 #, c-format
 msgid "Fork error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
 #, c-format
 msgid "Calling: %s %s %s %s\n"
 msgstr ""
 
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
 #, c-format
 msgid "execv: %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
 #, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
 msgstr ""
 
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
 #, c-format
 msgid "BA_NSIG too small (%d) should be (%d)\n"
 msgstr ""
 
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
 msgid "UNKNOWN SIGNAL"
 msgstr ""
 
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
 msgid "Hangup"
 msgstr ""
 
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
 msgid "Interrupt"
 msgstr ""
 
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
 msgid "Quit"
 msgstr ""
 
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
 msgid "Illegal instruction"
 msgstr ""
 
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
 msgid "Trace/Breakpoint trap"
 msgstr ""
 
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
 msgid "Abort"
 msgstr ""
 
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
 msgid "EMT instruction (Emulation Trap)"
 msgstr ""
 
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
 msgid "IOT trap"
 msgstr ""
 
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
 msgid "BUS error"
 msgstr ""
 
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
 msgid "Floating-point exception"
 msgstr ""
 
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
 msgid "Kill, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
 msgid "User-defined signal 1"
 msgstr ""
 
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
 msgid "Segmentation violation"
 msgstr ""
 
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
 msgid "User-defined signal 2"
 msgstr ""
 
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
 msgid "Broken pipe"
 msgstr ""
 
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
 msgid "Alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
 msgid "Termination"
 msgstr ""
 
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
 msgid "Stack fault"
 msgstr ""
 
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
 msgid "Child status has changed"
 msgstr ""
 
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
 msgid "Continue"
 msgstr ""
 
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
 msgid "Stop, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
 msgid "Keyboard stop"
 msgstr ""
 
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
 msgid "Background read from tty"
 msgstr ""
 
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
 msgid "Background write to tty"
 msgstr ""
 
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
 msgid "Urgent condition on socket"
 msgstr ""
 
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
 msgid "CPU limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
 msgid "File size limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
 msgid "Virtual alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
 msgid "Profiling alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
 msgid "Window size change"
 msgstr ""
 
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
 msgid "I/O now possible"
 msgstr ""
 
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
 msgid "Power failure restart"
 msgstr ""
 
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
 msgid "No runnable lwp"
 msgstr ""
 
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
 msgid "SIGLWP special signal used by thread library"
 msgstr ""
 
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
 msgid "Checkpoint Freeze"
 msgstr ""
 
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
 msgid "Checkpoint Thaw"
 msgstr ""
 
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
 msgid "Thread Cancellation"
 msgstr ""
 
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
 msgid "Resource Lost (e.g. record-lock lost)"
 msgstr ""
 
@@ -12969,47 +13049,47 @@ msgstr ""
 msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
 #, c-format
 msgid "Out of memory: ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
 msgid "Buffer overflow.\n"
 msgstr ""
 
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
 msgid "Bad errno"
 msgstr ""
 
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
 #, c-format
 msgid "Memset for %d bytes at %s:%d\n"
 msgstr ""
 
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
 #, c-format
 msgid "Cannot open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
 #, c-format
 msgid ""
 "%s is already running. pid=%d\n"
 "Check file %s\n"
 msgstr ""
 
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
 #, c-format
 msgid "Could not open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
 #, c-format
 msgid "Could not create state file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
 #, c-format
 msgid "Write final hdr error: ERR=%s\n"
 msgstr ""
@@ -13057,98 +13137,98 @@ msgstr ""
 msgid "Close of NULL file\n"
 msgstr ""
 
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
 msgid ""
 "get_char: called after EOF. You may have a open double quote without the "
 "closing double quote.\n"
 msgstr ""
 
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
 #, c-format
 msgid "Config token too long, file: %s, line %d, begins at line %d\n"
 msgstr ""
 
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
 msgid "none"
 msgstr ""
 
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
 msgid "comment"
 msgstr ""
 
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
 msgid "number"
 msgstr ""
 
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
 msgid "ip_addr"
 msgstr ""
 
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
 msgid "identifier"
 msgstr ""
 
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
 msgid "string"
 msgstr ""
 
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
 msgid "quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
 msgid "include"
 msgstr ""
 
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
 msgid "include_quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
 msgid "UTF-8 Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
 msgid "UTF-16le Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
 #, c-format
 msgid "expected a positive integer number, got: %s"
 msgstr ""
 
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
 msgid ""
 "This config file appears to be in an unsupported Unicode format (UTF-16be). "
 "Please resave as UTF-8\n"
 msgstr ""
 
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
 #, c-format
 msgid "Cannot open included config file %s: %s\n"
 msgstr ""
 
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
 #, c-format
 msgid "expected an integer or a range, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
 #, c-format
 msgid "expected an integer number, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
 #, c-format
 msgid "expected a name, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
 #, c-format
 msgid "name %s length %d too long, max is %d\n"
 msgstr ""
 
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
 #, c-format
 msgid "expected a string, got %s: %s"
 msgstr ""
@@ -13822,42 +13902,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
 msgid "NetBSD Specific Extended attribs"
 msgstr ""
 
@@ -13871,27 +13963,27 @@ msgstr ""
 msgid "Unknown include/exclude option: %c\n"
 msgstr ""
 
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
 #, c-format
 msgid "     NODUMP flag set - will not process %s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
 #, c-format
 msgid "Cannot stat file %s: ERR=%s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
 #, c-format
 msgid "%s mtime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
 #, c-format
 msgid "%s ctime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
 #, c-format
 msgid "%s size changed during backup.\n"
 msgstr ""
@@ -15662,6 +15754,11 @@ msgstr ""
 msgid " SDSocket=closed\n"
 msgstr ""
 
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
 #: src/filed/status.c:464
 msgid "2900 Bad .status command, missing argument.\n"
 msgstr ""
@@ -15690,276 +15787,276 @@ msgstr ""
 msgid "Bacula Client: Last Job had Warnings"
 msgstr ""
 
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
 #: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
 #, c-format
 msgid "Network send error to SD. ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
 #, c-format
 msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
 #, c-format
 msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
 #, c-format
 msgid "llistea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
 #, c-format
 msgid "lgetea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
 #, c-format
 msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
 msgstr ""
 
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
 #, c-format
 msgid "Failed to serialize extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
 #, c-format
 msgid "lsetea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
 #, c-format
 msgid "attr_list error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
 #, c-format
 msgid "Received illegal xattr named %s on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
 #, c-format
 msgid "attr_set error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
 #, c-format
 msgid "llistxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
 #, c-format
 msgid "lgetxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
 #, c-format
 msgid "lsetxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
 #, c-format
 msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
 #, c-format
 msgid "Failed to convert %d into namespace on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
 #, c-format
 msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
 #, c-format
 msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
 #, c-format
 msgid "Failed to convert %s into namespace on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
 #, c-format
 msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
 #, c-format
 msgid "getproplist error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
 #, c-format
 msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
 #, c-format
 msgid "setproplist error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
 #, c-format
 msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
 #, c-format
 msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
 #, c-format
 msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
 #, c-format
 msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
 #, c-format
 msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
 #, c-format
 msgid "Unable to read content of xattr %s on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
 #, c-format
 msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
 #, c-format
 msgid "Unable to open file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
 #, c-format
 msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
 #, c-format
 msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
 #, c-format
 msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
 #, c-format
 msgid "Unable to convert acl from text on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
 #, c-format
 msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
 #, c-format
 msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
 #, c-format
 msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
 #, c-format
 msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
 #, c-format
 msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
 #, c-format
 msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
 #, c-format
 msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
 #, c-format
 msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
 #, c-format
 msgid ""
 "Unable to restore data of xattr %s on file \"%s\": Not all data available in "
 "xattr stream\n"
 msgstr ""
 
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
 #, c-format
 msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
 #, c-format
 msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
 #, c-format
 msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
 #, c-format
 msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
 #, c-format
 msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
 #, c-format
 msgid "Failed to restore extensible attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
 #, c-format
 msgid "Failed to restore extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
 #, c-format
 msgid "Unable to stat file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
 #, c-format
 msgid ""
 "Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16098,189 +16195,189 @@ msgstr ""
 msgid "No Director resource defined in %s\n"
 msgstr ""
 
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
 #, c-format
 msgid "aclx_get error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
 #, c-format
 msgid "Unknown acl type encountered on file \"%s\": %ld\n"
 msgstr ""
 
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
 #, c-format
 msgid "Failed to convert acl into text on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
 #, c-format
 msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
 #, c-format
 msgid "aclx_put error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
 #, c-format
 msgid "acl_to_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
 #, c-format
 msgid "acl_get_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
 #, c-format
 msgid ""
 "acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
 #, c-format
 msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
 #, c-format
 msgid "acl_from_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
 #, c-format
 msgid "acl_valid error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
 #, c-format
 msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
 #, c-format
 msgid "acl_set_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
 #, c-format
 msgid "pathconf error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
 #, c-format
 msgid "getacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
 #, c-format
 msgid "acltostr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
 #, c-format
 msgid "strtoacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
 #, c-format
 msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
 #, c-format
 msgid "setacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
 #, c-format
 msgid "acl_get error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
 #, c-format
 msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
 #, c-format
 msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
 #, c-format
 msgid "acl_set error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
 #, c-format
 msgid "acltotext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
 #, c-format
 msgid "aclfromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
 #, c-format
 msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
 #, fuzzy, c-format
 msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
 msgstr "Lees fout op bestand %s. FOUT=%s\n"
 
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
 #, fuzzy, c-format
 msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
 msgstr "Lees fout op bestand %s. FOUT=%s\n"
 
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
 #, c-format
 msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
 msgstr ""
@@ -16289,17 +16386,17 @@ msgstr ""
 msgid "Storage command not issued before Verify.\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
 #, c-format
 msgid "Record header scan error: %s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
 #, c-format
 msgid "Data record error. ERR=%s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
 #, c-format
 msgid "Actual data size %d not same as header %d\n"
 msgstr ""
@@ -16459,7 +16556,7 @@ msgstr ""
 msgid "Invalid file flags, no supported data stream type.\n"
 msgstr ""
 
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
 #, c-format
 msgid "VSS Writer (BackupComplete): %s\n"
 msgstr ""
@@ -16479,192 +16576,192 @@ msgstr ""
 msgid "Could not set Finder Info on %s\n"
 msgstr ""
 
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
 msgid "LZO init failed\n"
 msgstr "Initialiseren LZO mislukt\n"
 
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
 msgid "Unexpected cryptographic session data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
 msgid ""
 "No private decryption keys have been defined to decrypt encrypted backup "
 "data.\n"
 msgstr ""
 
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
 msgid "Could not create digest.\n"
 msgstr ""
 
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
 msgid "Missing private key required to decrypt encrypted backup data.\n"
 msgstr ""
 
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
 msgid "Decrypt of the session key failed.\n"
 msgstr ""
 
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
 #, c-format
 msgid "An error occurred while decoding encrypted session data stream: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
 #, c-format
 msgid "Missing encryption session data stream for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
 #, c-format
 msgid "Failed to initialize decryption context for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
 #, c-format
 msgid "Cannot open resource fork for %s.\n"
 msgstr ""
 
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
 msgid "Unexpected cryptographic signature data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
 #, c-format
 msgid "Failed to decode message signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
 #, c-format
 msgid "Encountered %ld acl errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
 #, c-format
 msgid "Encountered %ld xattr errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
 #, c-format
 msgid ""
 "%d non-supported data streams and %d non-supported attrib streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
 #, c-format
 msgid "%d non-supported resource fork streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
 #, c-format
 msgid "%d non-supported Finder Info streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
 #, c-format
 msgid "%d non-supported acl streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
 #, c-format
 msgid "%d non-supported crypto streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
 #, c-format
 msgid "%d non-supported xattr streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
 msgid "Zlib errno"
 msgstr "Zlib foutnr."
 
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
 msgid "Zlib stream error"
 msgstr "Zlib datastroom fout"
 
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
 msgid "Zlib data error"
 msgstr "Zlib data fout"
 
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
 msgid "Zlib memory error"
 msgstr "Zlib geheugen fout"
 
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
 msgid "Zlib buffer error"
 msgstr "Zlib buffer fout"
 
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
 msgid "Zlib version error"
 msgstr "Zlib versie fout"
 
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
 #, c-format
 msgid "Missing cryptographic signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
 #, c-format
 msgid "Signature validation failed for file %s: ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
 #, c-format
 msgid "Digest one file failed for file: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
 #, c-format
 msgid "Signature validation failed for %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
 #, c-format
 msgid "LZO uncompression error on file %s. ERR=%d\n"
 msgstr ""
 
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
 #, c-format
 msgid "Uncompression error on file %s. ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
 #, c-format
 msgid "Write error in Win32 Block Decomposition on %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
 msgid "Decryption error\n"
 msgstr ""
 
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
 msgid "Logic error: output file should be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
 msgid "Logic error: output file should not be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
 #, c-format
 msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
 msgid "Open File Manager paused\n"
 msgstr ""
 
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
 msgid "FAILED to pause Open File Manager\n"
 msgstr ""
 
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
 #, c-format
 msgid "Running as '%s'. Privmask=%#08x\n"
 msgstr ""
 
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
 msgid "Failed to retrieve current UserName\n"
 msgstr ""
 
@@ -16947,7 +17044,7 @@ msgstr ""
 "\n"
 "Versie: "
 
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
 #, c-format
 msgid "Failed ASSERT: %s\n"
 msgstr ""
@@ -17974,15 +18071,15 @@ msgstr "Opdracht aan het uitvoeren ..."
 msgid "At main prompt waiting for input ..."
 msgstr "Wacht op invoer op opdrachtregel in hoofdscherm ..."
 
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
 msgid "At prompt waiting for input ..."
 msgstr "Wacht op invoer op opdrachtregel ..."
 
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
 msgid "Command failed."
 msgstr "Opdracht mislukt."
 
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
 msgid "Director disconnected."
 msgstr "Director niet verbonden."
 
diff --git a/po/sv.po b/po/sv.po
index cd7d6f9..4d9f9cb 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Bacula 2.1.x\n"
 "Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
 "PO-Revision-Date: 2007-06-22 19:18+0200\n"
 "Last-Translator: Kern Sibbald <kern at bacula.org>\n"
 "Language-Team: Swedish <bacula-devel at lists.soureforge.net>\n"
@@ -93,7 +93,7 @@ msgstr ""
 msgid "Continue? (yes/mod/no): "
 msgstr ""
 
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
 msgid "mod"
 msgstr ""
 
@@ -113,8 +113,8 @@ msgstr ""
 msgid "The defined Storage resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
 #: src/wx-console/wxbrestorepanel.cpp:355
 #: src/wx-console/wxbrestorepanel.cpp:479
 #: src/wx-console/wxbrestorepanel.cpp:480
@@ -135,7 +135,7 @@ msgstr ""
 msgid "The defined FileSet resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
 msgid "FileSet"
 msgstr ""
 
@@ -143,7 +143,7 @@ msgstr ""
 msgid "Select FileSet resource"
 msgstr ""
 
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
 msgid "Could not find a Catalog resource\n"
 msgstr ""
 
@@ -168,8 +168,8 @@ msgid "The defined Job resources are:\n"
 msgstr ""
 
 #: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
 msgid "Job"
 msgstr ""
 
@@ -194,8 +194,8 @@ msgstr ""
 msgid "The defined Client resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
 #: src/wx-console/wxbrestorepanel.cpp:336
 #: src/wx-console/wxbrestorepanel.cpp:354
 #: src/wx-console/wxbrestorepanel.cpp:431
@@ -254,7 +254,7 @@ msgstr ""
 msgid "Could not find Pool \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
 #, c-format
 msgid "Error obtaining pool ids. ERR=%s\n"
 msgstr ""
@@ -268,12 +268,12 @@ msgid "Defined Pools:\n"
 msgstr ""
 
 #: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
 msgid "*None*"
 msgstr ""
 
 #: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
 #: src/wx-console/wxbrestorepanel.cpp:527
 #: src/wx-console/wxbrestorepanel.cpp:537
 #: src/wx-console/wxbrestorepanel.cpp:1834
@@ -414,7 +414,7 @@ msgstr ""
 msgid "Unauthorized command from this console.\n"
 msgstr ""
 
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
 msgid "No Jobs running.\n"
 msgstr ""
 
@@ -719,8 +719,8 @@ msgstr ""
 msgid "Start Admin JobId %d, Job=%s\n"
 msgstr ""
 
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
 #, c-format
 msgid "Error getting Job record for Job report: ERR=%s"
 msgstr ""
@@ -737,8 +737,8 @@ msgstr ""
 msgid "Admin Canceled"
 msgstr ""
 
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
 #, c-format
 msgid "Inappropriate term code: %c\n"
 msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
 msgid "Bacula "
 msgstr ""
 
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
 #, c-format
 msgid ""
 "\n"
@@ -769,66 +769,66 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
 #: src/filed/filed.c:218 src/qt-console/main.cpp:165
 msgid "Cryptography library initialization failed.\n"
 msgstr ""
 
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
 #: src/filed/filed.c:223 src/qt-console/main.cpp:169
 #, c-format
 msgid "Please correct configuration file: %s\n"
 msgstr ""
 
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
 msgid "Too many open reload requests. Request ignored.\n"
 msgstr ""
 
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
 msgid "Out of reload table entries. Giving up.\n"
 msgstr ""
 
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
 msgid "Resetting previous configuration.\n"
 msgstr ""
 
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
 #, c-format
 msgid ""
 "No Director resource defined in %s\n"
 "Without that I don't know who I am :-(\n"
 msgstr ""
 
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
 #, c-format
 msgid "No Messages resource defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
 #, c-format
 msgid "Only one Director resource permitted in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
 #: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
 #: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
 #: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
 msgid "TLS required but not configured in Bacula.\n"
 msgstr ""
 
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
 #, c-format
 msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -836,46 +836,46 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
 #, c-format
 msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
 #, c-format
 msgid "No Job records defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
 #, c-format
 msgid "Hey something is wrong. p=0x%lu\n"
 msgstr ""
 
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
 #, c-format
 msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
 msgstr ""
 
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
 msgid "Too many items in Job resource\n"
 msgstr ""
 
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
 #, c-format
 msgid "No storage specified in Job \"%s\" nor in Pool.\n"
 msgstr ""
 
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
 #, c-format
 msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -883,51 +883,51 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
 #, c-format
 msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
 #, c-format
 msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
 #, c-format
 msgid "Could not open Catalog \"%s\", database \"%s\".\n"
 msgstr ""
 
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
 #, c-format
 msgid "Could not create storage record for %s\n"
 msgstr ""
 
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
 #, c-format
 msgid "Could not update storage record for %s\n"
 msgstr ""
 
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
 #, c-format
 msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr ""
@@ -946,18 +946,18 @@ msgstr ""
 msgid "Old style Include/Exclude not supported\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
 #, c-format
 msgid "Expecting keyword, got: %s\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
 #: src/lib/parse_conf.c:976
 #, c-format
 msgid "expected an equals, got: %s"
 msgstr ""
 
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
 #, c-format
 msgid "Keyword %s not permitted in this resource"
 msgstr ""
@@ -1009,7 +1009,7 @@ msgstr ""
 msgid "Options section not permitted in Exclude\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
 #, c-format
 msgid "Expecting open brace. Got %s"
 msgstr ""
@@ -1189,13 +1189,13 @@ msgid ""
 "There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d ...\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
 msgid "Failed to connect to Storage daemon.\n"
 msgstr ""
 
@@ -1270,34 +1270,34 @@ msgstr ""
 msgid "Could not get or create the FileSet record.\n"
 msgstr ""
 
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
 #, c-format
 msgid "Error getting Client record for Job report: ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
 #, c-format
 msgid "Error getting Media record for Volume \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
 msgid "Backup OK -- with warnings"
 msgstr ""
 
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
 msgid "Backup OK"
 msgstr ""
 
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
 msgid "*** Backup Error ***"
 msgstr ""
 
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
 msgid "Backup Canceled"
 msgstr ""
 
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -1344,93 +1344,93 @@ msgstr ""
 msgid "disabled"
 msgstr ""
 
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
 msgid "Keywords for the show command are:\n"
 msgstr ""
 
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
 #, c-format
 msgid "%s resource %s not found.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
 #, c-format
 msgid "Resource %s not found\n"
 msgstr ""
 
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
 msgid "Hey! DB is NULL\n"
 msgstr ""
 
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
 #, c-format
 msgid "Jobid %d used %d Volume(s): %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
 msgid "No Pool specified.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
 #, c-format
 msgid "Pool: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
 msgid "Ignoring invalid value for days. Max is 50.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
 #, c-format
 msgid "Unknown list keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
 #, c-format
 msgid "%s is not a job name.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
 #, c-format
 msgid "Could not find Pool for Job %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
 #, c-format
 msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
 msgstr ""
 
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
 #, c-format
 msgid ""
 "The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
 #, c-format
 msgid "Could not find next Volume for Job %s.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
 #, c-format
 msgid "Could not open database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
 #, c-format
 msgid "Pool %s not in database. %s"
 msgstr ""
 
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
 #, c-format
 msgid "Pool %s created in database.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
 msgid "You have no messages.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
 msgid "Message too long to display.\n"
 msgstr ""
 
@@ -1443,88 +1443,88 @@ msgstr ""
 msgid ": is an invalid command.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
 #: src/dird/ua_restore.c:823
 #, c-format
 msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
 #: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
 #: src/dird/job.c:1160 src/dird/job.c:1164
 msgid "unknown source"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
 msgid "Connected to storage daemon\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
 #: src/dird/ua_status.c:397
 #, c-format
 msgid "Connecting to Client %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
 msgid "Failed to connect to Client.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
 #, c-format
 msgid "Unknown command: %s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
 msgid "Available daemons are: \n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
 msgid "Director"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
 msgid "Select daemon type to make die"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
 msgid "The Director will generate a deadlock.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
 msgid "The Director will segment fault.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
 msgid "Access to specified Client or FileSet not allowed.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
 #: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
 #: src/dird/ua_restore.c:990
 #, c-format
 msgid "Query failed: %s. ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
 msgid "query keyword not found.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
 #, c-format
 msgid "List MediaType failed: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
 #, c-format
 msgid "List Media failed: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
 #, c-format
 msgid "List Location failed: ERR=%s\n"
 msgstr ""
@@ -1833,11 +1833,11 @@ msgstr ""
 msgid "Enter base volume name: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
 msgid "Volume name too long.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
 msgid "Volume name must be at least one character long.\n"
 msgstr ""
 
@@ -1896,11 +1896,11 @@ msgstr ""
 msgid "Python interpreter restarted.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
 msgid "Nothing done.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
 #, c-format
 msgid "Client \"%s\" not found.\n"
 msgstr ""
@@ -1927,7 +1927,7 @@ msgstr ""
 msgid "Select daemon type to set debug level"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
 #, c-format
 msgid "No authorization for Client \"%s\"\n"
 msgstr ""
@@ -1936,7 +1936,7 @@ msgstr ""
 msgid "Client name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
 #, c-format
 msgid "No authorization for Job \"%s\"\n"
 msgstr ""
@@ -1959,7 +1959,7 @@ msgstr ""
 msgid "Fileset name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
 #, c-format
 msgid "Level \"%s\" not valid.\n"
 msgstr ""
@@ -1968,43 +1968,67 @@ msgstr ""
 msgid "Level value missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
 msgid "Invalid value for accurate. It must be yes or no.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+msgid "Accurate value missing.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1167
 msgid "No job specified.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
 msgid "Error sending include list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
 msgid "Error sending exclude list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
 msgid ""
 "In general it is not a good idea to delete either a\n"
 "Pool or a Volume since they may contain data.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
 msgid "Choose catalog item to delete"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
 msgid "Enter JobId to delete: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
 #, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Jobid %s and associated records deleted from the catalog.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
 #, c-format
 msgid ""
 "\n"
@@ -2012,44 +2036,44 @@ msgid ""
 "and all Jobs saved on that volume from the Catalog\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
 #, c-format
 msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
 msgid "Can't list jobs on this volume\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
 #, c-format
 msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
 #, c-format
 msgid "Using Catalog name=%s DB=%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
 msgid "ERR: Can't open db\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
 msgid "Wait on mount timed out\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
 msgid "ERR: Job was not found\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
 msgid ""
 "  Command       Description\n"
 "  =======       ===========\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
 #, c-format
 msgid ""
 "  %-13s %s\n"
@@ -2058,12 +2082,12 @@ msgid ""
 "\t%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
 #, c-format
 msgid "  %-13s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
 #, c-format
 msgid ""
 "\n"
@@ -2071,29 +2095,29 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
 msgid ""
 "\n"
 "When at a prompt, entering a period cancels the command.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
 #, c-format
 msgid "No authorization for Catalog \"%s\"\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
 #, c-format
 msgid "Could not open catalog database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
 #, c-format
 msgid "Using Catalog \"%s\"\n"
 msgstr ""
@@ -2291,57 +2315,57 @@ msgstr ""
 msgid "%d directories unmarked.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
 #: src/qt-console/tray-monitor/tray_conf.cpp:168
 #, c-format
 msgid "No %s resource defined\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
 #, c-format
 msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
 #, c-format
 msgid "   query_file=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
 msgid "  --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
 #, c-format
 msgid "Console: name=%s SSL=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
 #, c-format
 msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
 #, c-format
 msgid "Counter: name=%s min=%d max=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
 #, c-format
 msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
 #, c-format
 msgid ""
 "Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2350,286 +2374,286 @@ msgid ""
 "      poolid=%s volname=%s MediaType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
 #, c-format
 msgid ""
 "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
 "      DeviceName=%s MediaType=%s StorageId=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
 #, c-format
 msgid ""
 "Catalog: name=%s address=%s DBport=%d db_name=%s\n"
 "      db_driver=%s db_user=%s MutliDBConn=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
 #, c-format
 msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
 msgid "JobDefs"
 msgstr ""
 
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
 #, c-format
 msgid ""
 "     MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
 "%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
 #, c-format
 msgid "     SpoolSize=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
 #, c-format
 msgid "     Accurate=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
 #, c-format
 msgid "     SelectionType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
 #, c-format
 msgid "  --> Where=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
 #, c-format
 msgid "  --> RegexWhere=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
 #, c-format
 msgid "  --> Bootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
 #, c-format
 msgid "  --> WriteBootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
 #, c-format
 msgid "  --> PluginOptions=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
 #, c-format
 msgid "  --> MaxRunTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
 #, c-format
 msgid "  --> MaxWaitTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
 #, c-format
 msgid "  --> MaxStartDelay=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
 #, c-format
 msgid "  --> MaxRunSchedTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
 #, c-format
 msgid "  --> Base %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
 msgid " --> RunScript\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
 #, c-format
 msgid "  --> Command=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
 #, c-format
 msgid "  --> Target=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
 #, c-format
 msgid "  --> RunOnSuccess=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
 #, c-format
 msgid "  --> RunOnFailure=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
 #, c-format
 msgid "  --> FailJobOnError=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
 #, c-format
 msgid "  --> RunWhen=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
 #, c-format
 msgid "  --> Run=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
 #, c-format
 msgid "  --> SelectionPattern=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
 #, c-format
 msgid "FileSet: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
 #, c-format
 msgid "Schedule: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
 #, c-format
 msgid "  --> Run Level=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
 msgid "      hour="
 msgstr ""
 
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
 msgid "      mday="
 msgstr ""
 
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
 msgid "      month="
 msgstr ""
 
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
 msgid "      wday="
 msgstr ""
 
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
 msgid "      wom="
 msgstr ""
 
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
 msgid "      woy="
 msgstr ""
 
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
 #, c-format
 msgid "      mins=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
 msgid "     --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
 #, c-format
 msgid "Pool: name=%s PoolType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
 #, c-format
 msgid "      use_cat=%d use_once=%d cat_files=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
 #, c-format
 msgid "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
 #, c-format
 msgid "      VolUse=%s recycle=%d LabelFormat=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
 #, c-format
 msgid "      CleaningPrefix=%s LabelType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
 #, c-format
 msgid "      RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
 #, c-format
 msgid "      MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
 #, c-format
 msgid "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
 #, c-format
 msgid "      NextPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
 #, c-format
 msgid "      RecyclePool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
 #, c-format
 msgid "      ScratchPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
 #, c-format
 msgid "      Catalog=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
 #, c-format
 msgid "Messages: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
 #, c-format
 msgid "      mailcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
 #, c-format
 msgid "      opcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
 #: src/qt-console/tray-monitor/tray_conf.cpp:199
 #, c-format
 msgid "Unknown resource type %d in dump_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
 #: src/qt-console/tray-monitor/tray_conf.cpp:257
 #, c-format
 msgid "Unknown resource type %d in free_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
 #: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
 #: src/console/console_conf.c:259 src/filed/filed_conf.c:361
 #: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2638,54 +2662,54 @@ msgstr ""
 msgid "%s item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
 #: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
 #, c-format
 msgid "Too many items in %s resource\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
 #, c-format
 msgid "Cannot find Pool resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
 #, c-format
 msgid "Cannot find Console resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
 #: src/filed/filed_conf.c:381
 #, c-format
 msgid "Cannot find Director resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
 #, c-format
 msgid "Cannot find Storage resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
 #, c-format
 msgid "Cannot find Job resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
 #, c-format
 msgid "Cannot find Counter resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
 #, c-format
 msgid "Cannot find Client resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
 #, c-format
 msgid "Cannot find Schedule resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
 #: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
 #: src/qt-console/tray-monitor/tray_conf.cpp:314
 #: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2693,12 +2717,12 @@ msgstr ""
 msgid "Unknown resource type %d in save_resource.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
 #, c-format
 msgid "Name item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
 #: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
 #: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
 #: src/qt-console/bat_conf.cpp:334
@@ -2706,43 +2730,43 @@ msgstr ""
 msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
 #, c-format
 msgid "Inserting %s res: %s index=%d pass=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
 #, c-format
 msgid "Expected one of: %s, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
 #, c-format
 msgid "Expected a Migration Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
 #, c-format
 msgid "Expected a Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
 #, c-format
 msgid "Expected a Job Level keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
 #, c-format
 msgid "Expected a Restore replacement option, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
 #: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
 #, c-format
 msgid "Expect %s, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
 #, c-format
 msgid "Could not find config Resource %s referenced on line %d : %s\n"
 msgstr ""
@@ -2870,7 +2894,7 @@ msgstr ""
 msgid "Select full restore to a specified Job date"
 msgstr ""
 
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
 #: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
 msgid "Cancel"
 msgstr ""
@@ -3273,179 +3297,179 @@ msgstr ""
 msgid "Slot too large.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
 msgid "command line"
 msgstr ""
 
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
 msgid "No slots in changer to scan.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
 msgid "No Volumes found to label, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
 #, c-format
 msgid "Slot %d greater than max %d ignored.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
 #, c-format
 msgid "No VolName for Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
 #, c-format
 msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
 #, c-format
 msgid "Catalog record for Volume \"%s\" is up to date.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
 #, c-format
 msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
 #, c-format
 msgid ""
 "Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
 "relabeling.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
 msgid "Enter new Volume name: "
 msgstr ""
 
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
 #, c-format
 msgid "Media record for new Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
 msgid "Enter slot (0 or Enter for none): "
 msgstr ""
 
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
 #, c-format
 msgid "Delete of Volume \"%s\" failed. ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
 #, c-format
 msgid "Old volume \"%s\" deleted from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
 #, c-format
 msgid "Requesting to mount %s ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
 msgid "Do not forget to mount the drive!!!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
 msgid ""
 "The following Volumes will be labeled:\n"
 "Slot  Volume\n"
 "==============\n"
 msgstr ""
 
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
 msgid "Do you want to label these Volumes? (yes|no): "
 msgstr ""
 
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
 #, c-format
 msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
 #, c-format
 msgid "Error setting InChanger: ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
 #, c-format
 msgid "Maximum pool Volumes=%d reached.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
 #, c-format
 msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
 #, c-format
 msgid "Catalog error on cleaning tape: %s"
 msgstr ""
 
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
 #, c-format
 msgid "Illegal character \"%c\" in a volume name.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
 #, c-format
 msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
 #, c-format
 msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
 #, c-format
 msgid "Catalog record for Volume \"%s\", Slot %d  successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
 #, c-format
 msgid "Label command failed for Volume %s.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
 msgid "Could not open SD socket.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
 #, c-format
 msgid "Invalid Slot number: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
 #, c-format
 msgid "Invalid Volume name: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
 #, c-format
 msgid "Device \"%s\" has %d slots.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
 #, c-format
 msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
 msgid "No Volumes found, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
 msgid ""
 " Slot |   Volume Name    |   Status  |     Media Type       |      "
 "Pool          |\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
 msgid ""
 "------+------------------+-----------+----------------------"
 "+--------------------|\n"
@@ -3666,15 +3690,15 @@ msgid "New Recycle flag is: %s\n"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
 #: src/tools/dbcheck.c:1352
 msgid "yes"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
 msgid "no"
 msgstr ""
 
@@ -3753,7 +3777,7 @@ msgstr ""
 msgid "New ActionOnPurge is: %s\n"
 msgstr ""
 
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
 msgid "Parameters to modify:\n"
 msgstr ""
 
@@ -3825,7 +3849,7 @@ msgstr ""
 msgid "Done"
 msgstr ""
 
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
 msgid "Select parameter to modify"
 msgstr ""
 
@@ -4054,7 +4078,7 @@ msgstr ""
 msgid "Pool resource \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
 #, c-format
 msgid "Could not get job record for JobId %s to %s. ERR=%s"
 msgstr ""
@@ -4069,140 +4093,140 @@ msgstr ""
 msgid "Start %s JobId %s, Job=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
 #, c-format
 msgid "No %s SQL selection pattern specified.\n"
 msgstr ""
 
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
 #, c-format
 msgid "SQL failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
 #, c-format
 msgid "No Volumes found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
 msgid "Invalid JobId found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
 #, c-format
 msgid "Unknown %s Selection Type.\n"
 msgstr ""
 
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
 #, c-format
 msgid "No JobIds found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
 #, c-format
 msgid "The following %u JobId%s chosen to be %s: %s\n"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid " was"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid "s were"
 msgstr ""
 
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
 #, c-format
 msgid "%s using JobId=%s Job=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
 msgid "Could not start migration job.\n"
 msgstr ""
 
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
 #, c-format
 msgid "%s JobId %d started.\n"
 msgstr ""
 
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
 #, c-format
 msgid "No %s found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
 #, c-format
 msgid "SQL error. Expected 1 MediaId got %d\n"
 msgstr ""
 
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
 #, c-format
 msgid "No %ss found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
 msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
 msgstr ""
 
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
 #, c-format
 msgid "SQL to get uncopied jobs failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
 #, c-format
 msgid "No %s %s selection pattern specified.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
 #, c-format
 msgid "SQL to get %s failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
 #, c-format
 msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
 #, c-format
 msgid "Regex pattern matched no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
 #, c-format
 msgid "%s OK -- with warnings"
 msgstr ""
 
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
 #, c-format
 msgid "%s OK"
 msgstr ""
 
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
 #, c-format
 msgid "*** %s Error ***"
 msgstr ""
 
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
 #, c-format
 msgid "%s Canceled"
 msgstr ""
 
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
 #, c-format
 msgid "Inappropriate %s term code"
 msgstr ""
 
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
 #, c-format
 msgid "%s -- no files to %s"
 msgstr ""
 
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -4237,17 +4261,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
 #, c-format
 msgid "No Next Pool specification found in Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
 #, c-format
 msgid "No Storage specification found in Next Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
 msgid "Storage from Pool's NextPool resource"
 msgstr ""
 
@@ -4255,43 +4279,43 @@ msgstr ""
 msgid "Choose item to prune"
 msgstr ""
 
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
 #, c-format
 msgid "Cannot prune Volume \"%s\" because it is archived.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
 msgid "Pruned Jobs from JobHisto catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
 msgid "Begin pruning Files.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
 msgid "No Files found to prune.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
 #, c-format
 msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
 #, c-format
 msgid "Begin pruning Jobs older than %s.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
 #, c-format
 msgid "Pruned %d %s for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
 msgid "Jobs"
 msgstr ""
 
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
 msgid "No Jobs found to prune.\n"
 msgstr ""
 
@@ -4314,50 +4338,58 @@ msgstr ""
 msgid "Job queued. JobId=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
 msgid "Job not run.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
 msgid "Level"
 msgstr ""
 
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
 msgid "Restore Client"
 msgstr ""
 
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
 #: src/wx-console/wxbrestorepanel.cpp:854
 #: src/wx-console/wxbrestorepanel.cpp:1918
 msgid "When"
 msgstr ""
 
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
 #: src/wx-console/wxbrestorepanel.cpp:1128
 #: src/wx-console/wxbrestorepanel.cpp:1921
 msgid "Priority"
 msgstr ""
 
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
 msgid "Verify Job"
 msgstr ""
 
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
 #: src/wx-console/wxbrestorepanel.cpp:1899
 msgid "Bootstrap"
 msgstr ""
 
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
 #: src/wx-console/wxbrestorepanel.cpp:1104
 #: src/wx-console/wxbrestorepanel.cpp:1901
 msgid "Where"
 msgstr ""
 
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
 msgid "File Relocation"
 msgstr ""
 
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
 #: src/wx-console/wxbrestorepanel.cpp:1112
 #: src/wx-console/wxbrestorepanel.cpp:1905
 #: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4367,212 +4399,212 @@ msgstr ""
 msgid "Replace"
 msgstr ""
 
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
 msgid "JobId"
 msgstr ""
 
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
 msgid "Plugin Options"
 msgstr ""
 
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
 msgid "user selection"
 msgstr ""
 
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
 msgid ""
 "Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
 msgstr ""
 
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
 msgid "Invalid time, using current time.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
 msgid "Enter new Priority: "
 msgstr ""
 
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
 msgid "Priority must be a positive integer.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
 msgid "Please enter the Bootstrap file name: "
 msgstr ""
 
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
 #, c-format
 msgid "Warning cannot open %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
 msgid "Please enter the full path prefix for restore (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
 msgid "Replace:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
 msgid "Select replace option"
 msgstr ""
 
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
 msgid ""
 "You must set the bootstrap file to NULL to be able to specify a JobId.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
 msgid "Please Plugin Options string: "
 msgstr ""
 
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
 msgid "User input"
 msgstr ""
 
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
 #, c-format
 msgid "Invalid replace option: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
 msgid "This will replace your current Where value\n"
 msgstr ""
 
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
 msgid "Strip prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
 msgid "Add prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
 msgid "Add file suffix"
 msgstr ""
 
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
 msgid "Enter a regexp"
 msgstr ""
 
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
 msgid "Test filename manipulation"
 msgstr ""
 
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
 msgid "Use this ?"
 msgstr ""
 
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
 msgid "Please enter the path prefix to strip: "
 msgstr ""
 
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
 msgid "Please enter the path prefix to add (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
 msgid "Please enter the file suffix to add: "
 msgstr ""
 
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
 msgid "Please enter a valid regexp (!from!to!): "
 msgstr ""
 
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
 #, c-format
 msgid "regexwhere=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
 msgid "Cannot use your regexp\n"
 msgstr ""
 
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
 msgid "Enter a period (.) to stop this test\n"
 msgstr ""
 
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
 msgid "Please enter filename to test: "
 msgstr ""
 
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
 #, c-format
 msgid "%s -> %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
 msgid "Cannot use your regexp.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
 msgid "Levels:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
 #: src/lib/util.c:472 src/filed/status.c:519
 msgid "Full"
 msgstr ""
 
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
 #: src/filed/status.c:522
 msgid "Incremental"
 msgstr ""
 
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
 #: src/filed/status.c:525
 msgid "Differential"
 msgstr ""
 
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
 #: src/filed/status.c:528
 msgid "Since"
 msgstr ""
 
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
 msgid "VirtualFull"
 msgstr ""
 
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
 msgid "Select level"
 msgstr ""
 
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
 msgid "Initialize Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
 #: src/filed/status.c:531
 msgid "Verify Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
 msgid "Verify Volume to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
 msgid "Verify Disk to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
 msgid "Verify Volume Data (not yet implemented)"
 msgstr ""
 
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
 msgid "Level not appropriate for this Job. Cannot be changed.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
 #, c-format
 msgid ""
 "Run Admin Job\n"
@@ -4584,7 +4616,7 @@ msgid ""
 "Priority: %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
 #, c-format
 msgid ""
 "Run Backup job\n"
@@ -4599,12 +4631,12 @@ msgid ""
 "%s%s%s"
 msgstr ""
 
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
 #, c-format
 msgid "Could not get job record for selected JobId. ERR=%s"
 msgstr ""
 
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
 #, c-format
 msgid ""
 "Run Verify Job\n"
@@ -4620,11 +4652,11 @@ msgid ""
 "Priority:    %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
 msgid "Please enter a JobId for restore: "
 msgstr ""
 
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4642,7 +4674,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4660,7 +4692,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4668,17 +4700,17 @@ msgid ""
 "Bootstrap:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
 #, c-format
 msgid "RegexWhere: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
 #, c-format
 msgid "Where:      %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
 #, c-format
 msgid ""
 "Replace:         %s\n"
@@ -4691,215 +4723,215 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
 msgid "Run Copy job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
 msgid "Run Migration job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
 #, c-format
 msgid "Unknown Job Type=%d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
 #, c-format
 msgid "Value missing for keyword %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
 msgid "Job name specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
 msgid "JobId specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
 msgid "Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
 msgid "FileSet specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
 msgid "Level specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
 msgid "Storage specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
 msgid "RegexWhere or Where specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
 msgid "No authorization for \"regexwhere\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
 msgid "Where or RegexWhere specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
 msgid "No authoriztion for \"where\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
 msgid "Bootstrap specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
 msgid "Replace specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
 msgid "When specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
 msgid "Priority specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
 msgid "Priority must be positive nonzero setting it to 10.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
 msgid "Verify Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
 msgid "Migration Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
 msgid "Pool specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
 msgid "Restore Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
 msgid "Plugin Options not yet implemented.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
 msgid "Plugin Options specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
 msgid "No authoriztion for \"PluginOptions\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
 msgid "Spool flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
 msgid "Invalid spooldata flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
 msgid "IgnoreDuplicateCheck flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
 msgid "Invalid ignoreduplicatecheck flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
 msgid "Accurate flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
 msgid "Invalid accurate flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
 #, c-format
 msgid "Invalid keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
 #, c-format
 msgid "Catalog \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
 #, c-format
 msgid "No authorization. Catalog \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
 #, c-format
 msgid "Job \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
 msgid "A job name must be specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
 #, c-format
 msgid "No authorization. Job \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
 #, c-format
 msgid "Pool \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
 #, c-format
 msgid "No authorization. Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
 #, c-format
 msgid "Storage \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
 msgid "No storage specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
 #, c-format
 msgid "No authorization. Storage \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
 #, c-format
 msgid "No authorization. Client \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
 #, c-format
 msgid "Restore Client \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
 #, c-format
 msgid "FileSet \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
 #, c-format
 msgid "No authorization. FileSet \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
 #, c-format
 msgid "Verify Job \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
 #, c-format
 msgid "Migration Job \"%s\" not found.\n"
 msgstr ""
@@ -4956,25 +4988,25 @@ msgstr ""
 msgid "Start Backup JobId %s, Job=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
 #, c-format
 msgid "Unexpected Client Job message: %s\n"
 msgstr ""
 
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
 #, c-format
 msgid "Network error with FD during %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
 msgid "No Job status returned from FD.\n"
 msgstr ""
 
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
 msgid "Backup failed -- incomplete"
 msgstr ""
 
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5013,19 +5045,19 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
 #, c-format
 msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
 #, c-format
 msgid ""
 "Could not open WriteBootstrap file:\n"
 "%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
 #, c-format
 msgid "Could not open bootstrap file %s: ERR=%s\n"
 msgstr ""
@@ -5040,39 +5072,39 @@ msgstr ""
 msgid "Could not acquire read storage lock for \"%s\""
 msgstr ""
 
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
 msgid ""
 "Cannot restore without a bootstrap file.\n"
 "You probably ran a restore job directly. All restore jobs must\n"
 "be run using the restore command.\n"
 msgstr ""
 
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
 #, c-format
 msgid "Start Restore Job %s\n"
 msgstr ""
 
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
 msgid "Restore OK -- warning file count mismatch"
 msgstr ""
 
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
 msgid "Restore OK"
 msgstr ""
 
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
 msgid "Restore OK -- with warnings"
 msgstr ""
 
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
 msgid "*** Restore Error ***"
 msgstr ""
 
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
 msgid "Restore Canceled"
 msgstr ""
 
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5101,7 +5133,7 @@ msgstr ""
 msgid "Select daemon type for status"
 msgstr ""
 
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s\n"
 msgstr ""
@@ -5111,7 +5143,7 @@ msgstr ""
 msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
 msgstr ""
 
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
 #, c-format
 msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
 msgstr ""
@@ -5168,7 +5200,7 @@ msgstr ""
 msgid "No Scheduled Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
 msgid ""
 "\n"
 "Running Jobs:\n"
@@ -5332,13 +5364,13 @@ msgstr ""
 msgid "No Terminated Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
 msgid ""
 "\n"
 "Terminated Jobs:\n"
 msgstr ""
 
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
 msgid " JobId  Level    Files      Bytes   Status   Finished        Name \n"
 msgstr ""
 
@@ -5346,41 +5378,41 @@ msgstr ""
 msgid "====================================================================\n"
 msgstr ""
 
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
 #: src/filed/status.c:363
 msgid "Created"
 msgstr ""
 
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
 #: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
 msgid "Error"
 msgstr ""
 
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
 msgid "Diffs"
 msgstr ""
 
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
 #: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
 #: src/wx-console/wxbconfigpanel.cpp:209
 msgid "OK"
 msgstr ""
 
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
 #: src/lib/util.c:327
 msgid "OK -- with warnings"
 msgstr ""
 
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
 msgid "Other"
 msgstr ""
 
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
 #, c-format
 msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
 msgstr ""
 
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
 #, c-format
 msgid "%6d  %-6s %8s %10s  %-7s  %-8s %s\n"
 msgstr ""
@@ -5549,7 +5581,7 @@ msgstr ""
 msgid "Job DiffPool override"
 msgstr ""
 
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
 #, c-format
 msgid "Could not create Client record. ERR=%s\n"
 msgstr ""
@@ -5873,7 +5905,17 @@ msgstr ""
 msgid "<stored: bad response to Job command: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:311
+#, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:318
 #, c-format
 msgid ""
 "\n"
@@ -5881,24 +5923,19 @@ msgid ""
 "     %s"
 msgstr ""
 
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
 #, c-format
 msgid ""
 "\n"
 "     Storage daemon didn't accept Device \"%s\" command.\n"
 msgstr ""
 
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
 #, c-format
 msgid "Cannot create message thread: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
 msgid "Director's comm line to SD dropped.\n"
 msgstr ""
 
@@ -6348,26 +6385,26 @@ msgstr ""
 msgid "Unable to initialize reservation lock. ERR=%s\n"
 msgstr ""
 
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
 #, c-format
 msgid "Hey! num_writers=%d!!!!\n"
 msgstr ""
 
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
 msgid "3939 Could not get dcr\n"
 msgstr ""
 
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
 #, c-format
 msgid "Device reservation failed for JobId=%d: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
 #, c-format
 msgid "Failed command: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
 #, c-format
 msgid ""
 "\n"
@@ -6375,85 +6412,85 @@ msgid ""
 "does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
 #, c-format
 msgid ""
 "\n"
 "     Device \"%s\" requested by DIR could not be opened or does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
 #, c-format
 msgid "3926 Could not get dcr for device: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
 #, c-format
 msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
 #, c-format
 msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
 msgstr ""
 
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
 #, c-format
 msgid "3603 JobId=%u device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
 #, c-format
 msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
 #, c-format
 msgid ""
 "3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
 "%s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
 #, c-format
 msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
 #, c-format
 msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
 #, c-format
 msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
 msgstr ""
 
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
 #, c-format
 msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
 #, c-format
 msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
 #, c-format
 msgid "Logic error!!!! JobId=%u Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
 #, c-format
 msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
 msgid "Logic error!!!! Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
 #, c-format
 msgid "3911 JobId=%u failed reserve drive %s.\n"
 msgstr ""
@@ -6585,7 +6622,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
 msgstr ""
 
 #: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
 #, c-format
 msgid "Mount Volume \"%s\" on device %s and press return when ready: "
 msgstr ""
@@ -6880,7 +6917,7 @@ msgstr ""
 msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
 #, c-format
 msgid ""
 "Bootstrap file error: %s\n"
@@ -6888,154 +6925,154 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
 #, c-format
 msgid "Cannot open bootstrap file %s: %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
 #, c-format
 msgid "MediaType %s in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
 #, c-format
 msgid "Device \"%s\" in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
 #, c-format
 msgid "REGEX '%s' compile error. ERR=%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
 msgid "JobType not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
 msgid "JobLevel not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
 #, c-format
 msgid "Slot %d in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
 #, c-format
 msgid "VolFile     : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
 #, c-format
 msgid "VolBlock    : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
 #, c-format
 msgid "VolAddr    : %llu-%llu\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
 #, c-format
 msgid "FileIndex   : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
 #, c-format
 msgid "FileIndex   : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
 #, c-format
 msgid "JobId       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
 #, c-format
 msgid "JobId       : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
 #, c-format
 msgid "SessId      : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
 #, c-format
 msgid "SessId      : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
 #, c-format
 msgid "VolumeName  : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
 #, c-format
 msgid "  MediaType : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
 #, c-format
 msgid "  Device    : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
 #, c-format
 msgid "  Slot      : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
 #, c-format
 msgid "Client      : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
 #, c-format
 msgid "Job          : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
 #, c-format
 msgid "SessTime    : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
 msgid "BSR is NULL\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
 #, c-format
 msgid "Next        : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
 #, c-format
 msgid "Root bsr    : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
 #, c-format
 msgid "count       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
 #, c-format
 msgid "found       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
 #, c-format
 msgid "done        : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
 #, c-format
 msgid "positioning : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
 #, c-format
 msgid "fast_reject : %d\n"
 msgstr ""
@@ -7120,7 +7157,7 @@ msgid "Unable to set network buffer size.\n"
 msgstr ""
 
 #: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
 msgid "NULL Volume name. This shouldn't happen!!!\n"
 msgstr ""
 
@@ -7229,7 +7266,7 @@ msgstr ""
 msgid "Volume on %s has bad Bacula label type: %x\n"
 msgstr ""
 
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
 #, c-format
 msgid "Could not reserve volume %s on %s\n"
 msgstr ""
@@ -7239,7 +7276,7 @@ msgstr ""
 msgid "Cannot write Volume label to block for device %s\n"
 msgstr ""
 
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
 #, c-format
 msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
@@ -7405,82 +7442,101 @@ msgstr ""
 msgid "Used Volume status:\n"
 msgstr ""
 
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
 msgid ""
-"====\n"
 "\n"
+"SD Resources:\n"
 msgstr ""
 
-#: src/stored/status.c:128
+#: src/stored/status.c:153
 msgid ""
 "\n"
 "Device status:\n"
 msgstr ""
 
-#: src/stored/status.c:132
+#: src/stored/status.c:157
 #, c-format
 msgid "Autochanger \"%s\" with devices:\n"
 msgstr ""
 
-#: src/stored/status.c:150
+#: src/stored/status.c:177
 #, c-format
 msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
 "    Volume:      %s\n"
 "    Pool:        %s\n"
 "    Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+msgid "*unknown*"
+msgstr ""
+
+#: src/stored/status.c:188
 #, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
 msgstr ""
 
-#: src/stored/status.c:171
+#: src/stored/status.c:199
 #, c-format
 msgid "    Total Bytes=%s Blocks=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:186
+#: src/stored/status.c:214
 #, c-format
 msgid "    Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:192
+#: src/stored/status.c:220
 #, c-format
 msgid "    Positioned at File=%s Block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:199
+#: src/stored/status.c:227
 #, c-format
-msgid "Device %s is not open.\n"
+msgid ""
+"\n"
+"Device %s is not open.\n"
 msgstr ""
 
-#: src/stored/status.c:203
+#: src/stored/status.c:231
 #, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
 msgstr ""
 
-#: src/stored/status.c:225
+#: src/stored/status.c:255
 #, c-format
 msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
 msgstr ""
 
-#: src/stored/status.c:248
+#: src/stored/status.c:293
 msgid ""
 "No DEVICE structure.\n"
 "\n"
 msgstr ""
 
-#: src/stored/status.c:254
+#: src/stored/status.c:299
 msgid "    Device is BLOCKED. User unmounted.\n"
 msgstr ""
 
-#: src/stored/status.c:258
+#: src/stored/status.c:303
 msgid "    Device is BLOCKED. User unmounted during wait for media/mount.\n"
 msgstr ""
 
-#: src/stored/status.c:270
+#: src/stored/status.c:313
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7488,7 +7544,7 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:279
+#: src/stored/status.c:322
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting to create a volume for:\n"
@@ -7496,172 +7552,165 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:291
+#: src/stored/status.c:333
 msgid "    Device is BLOCKED waiting for media.\n"
 msgstr ""
 
-#: src/stored/status.c:297
+#: src/stored/status.c:339
 msgid "    Device is being initialized.\n"
 msgstr ""
 
-#: src/stored/status.c:301
+#: src/stored/status.c:343
 msgid "    Device is blocked labeling a Volume.\n"
 msgstr ""
 
-#: src/stored/status.c:310
+#: src/stored/status.c:352
 #, c-format
-msgid "    Slot %d is loaded in drive %d.\n"
+msgid "    Slot %d %s loaded in drive %d.\n"
 msgstr ""
 
-#: src/stored/status.c:314
+#: src/stored/status.c:356
 #, c-format
 msgid "    Drive %d is not loaded.\n"
 msgstr ""
 
-#: src/stored/status.c:317
-#, c-format
-msgid "    Drive %d status unknown.\n"
-msgstr ""
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
 #, c-format
 msgid "Configured device capabilities:\n"
 msgstr ""
 
-#: src/stored/status.c:349
+#: src/stored/status.c:389
 msgid "Device state:\n"
 msgstr ""
 
-#: src/stored/status.c:367
+#: src/stored/status.c:405
 #, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid "  num_writers=%d reserves=%d block=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
+msgid "Attached Jobs: "
 msgstr ""
 
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:427 src/stored/btape.c:720
 #, c-format
 msgid "Device parameters:\n"
 msgstr ""
 
-#: src/stored/status.c:374
+#: src/stored/status.c:429
 #, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid "  Archive name: %s Device name: %s\n"
 msgstr ""
 
-#: src/stored/status.c:378
+#: src/stored/status.c:432
 #, c-format
-msgid "File=%u block=%u\n"
+msgid "  File=%u block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:381
+#: src/stored/status.c:434
 #, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid "  Min block=%u Max block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:401
+#: src/stored/status.c:455
 #, c-format
 msgid "%s Job %s waiting for Client connection.\n"
 msgstr ""
 
-#: src/stored/status.c:417
+#: src/stored/status.c:471
 #, c-format
 msgid ""
 "Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:430
+#: src/stored/status.c:484
 #, c-format
 msgid ""
 "Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:441
+#: src/stored/status.c:495
 #, c-format
 msgid "    spooling=%d despooling=%d despool_wait=%d\n"
 msgstr ""
 
-#: src/stored/status.c:450
+#: src/stored/status.c:511
 #, c-format
-msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
+msgid "    Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
 msgstr ""
 
-#: src/stored/status.c:458
+#: src/stored/status.c:523
 #, c-format
 msgid "    FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
 msgstr ""
 
-#: src/stored/status.c:464
+#: src/stored/status.c:529
 msgid "    FDSocket closed\n"
 msgstr ""
 
-#: src/stored/status.c:485
+#: src/stored/status.c:550
 msgid ""
 "\n"
 "Jobs waiting to reserve a drive:\n"
 msgstr ""
 
-#: src/stored/status.c:516
+#: src/stored/status.c:581
 msgid "===================================================================\n"
 msgstr ""
 
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
 msgid "Base"
 msgstr ""
 
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
 msgid "Init Catalog"
 msgstr ""
 
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
 msgid "Volume to Catalog"
 msgstr ""
 
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
 msgid "Disk to Catalog"
 msgstr ""
 
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
 msgid "Data"
 msgstr ""
 
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
 msgid "Unknown Job Level"
 msgstr ""
 
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
 #, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
+msgid "3900 No arg in .status command: %s\n"
 msgstr ""
 
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
+#: src/stored/status.c:811
+#, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
 msgstr ""
 
-#: src/stored/status.c:760
+#: src/stored/status.c:826
 msgid "Bacula Storage: Idle"
 msgstr ""
 
-#: src/stored/status.c:771
+#: src/stored/status.c:837
 msgid "Bacula Storage: Running"
 msgstr ""
 
-#: src/stored/status.c:785
+#: src/stored/status.c:851
 msgid "Bacula Storage: Last Job Canceled"
 msgstr ""
 
-#: src/stored/status.c:789
+#: src/stored/status.c:855
 msgid "Bacula Storage: Last Job Failed"
 msgstr ""
 
-#: src/stored/status.c:793
+#: src/stored/status.c:859
 msgid "Bacula Storage: Last Job had Warnings"
 msgstr ""
 
@@ -7762,7 +7811,7 @@ msgid "%u files restored.\n"
 msgstr ""
 
 #: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
 #, c-format
 msgid "Write error on %s: %s\n"
 msgstr ""
@@ -7771,7 +7820,7 @@ msgstr ""
 msgid "Logic error output file should be open but is not.\n"
 msgstr ""
 
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
 #, c-format
 msgid "%s stream not supported on this Client.\n"
 msgstr ""
@@ -7787,7 +7836,7 @@ msgid "Seek error on %s: %s\n"
 msgstr ""
 
 #: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
 #, c-format
 msgid "Seek to %s error on %s: ERR=%s\n"
 msgstr ""
@@ -7797,16 +7846,16 @@ msgstr ""
 msgid "Uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
 msgid "GZIP data stream found, but GZIP not configured!\n"
 msgstr ""
 
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
 #, c-format
 msgid "Compressed header version error. version=0x%x\n"
 msgstr ""
 
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
 #, c-format
 msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
 msgstr ""
@@ -7816,7 +7865,7 @@ msgstr ""
 msgid "LZO uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
 #, c-format
 msgid "Compression algorithm 0x%x found, but not supported!\n"
 msgstr ""
@@ -7825,7 +7874,7 @@ msgstr ""
 msgid "Got Program Name or Data Stream. Ignored.\n"
 msgstr ""
 
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
 #, c-format
 msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
 msgstr ""
@@ -8015,125 +8064,125 @@ msgstr ""
 msgid "Unexpected Tape is Off-line\n"
 msgstr ""
 
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
 #, c-format
 msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
 #, c-format
 msgid "No volumes specified for reading. Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
 #, c-format
 msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
 msgstr ""
 
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
 #, c-format
 msgid ""
 "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
 "  device=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
 #, c-format
 msgid "Media Type change.  New read device %s chosen.\n"
 msgstr ""
 
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
 #, c-format
 msgid "No suitable device found to read Volume \"%s\"\n"
 msgstr ""
 
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
 #, c-format
 msgid "Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
 #, c-format
 msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
 #, c-format
 msgid "Too many errors trying to mount device %s for reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
 #, c-format
 msgid "Ready to read from volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
 #, c-format
 msgid "Want to append, but device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
 #, c-format
 msgid "Could not ready device %s for append.\n"
 msgstr ""
 
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
 #: src/stored/block.c:769 src/stored/block.c:847
 #, c-format
 msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
 #, c-format
 msgid "Alert: %s"
 msgstr ""
 
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
 #, c-format
 msgid "3997 Bad alert command: %s: ERR=%s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
 #: src/lib/openssl.c:122 src/lib/openssl.c:181
 #, c-format
 msgid "Unable to init mutex: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/askdir.c:179
 msgid "Network error on bnet_recv in req_vol_info.\n"
 msgstr ""
 
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
 #, c-format
 msgid "Error getting Volume info: %s"
 msgstr ""
 
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
 #, c-format
 msgid "Didn't get vol info vol=%s: ERR=%s"
 msgstr ""
 
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
 #, c-format
 msgid "Error creating JobMedia record: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
 #, c-format
 msgid "Error creating JobMedia record: %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
 msgstr ""
 
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
 #, c-format
 msgid ""
 "Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8143,45 +8192,45 @@ msgid ""
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
 #, c-format
 msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
 msgid "pthread error in mount_next_volume.\n"
 msgstr ""
 
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
 msgid "Cannot request another volume: no volume name given.\n"
 msgstr ""
 
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
 msgstr ""
 
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
 msgid "pthread error in mount_volume\n"
 msgstr ""
 
@@ -8514,32 +8563,32 @@ msgstr ""
 msgid "Attempt to open read on non-open session.\n"
 msgstr ""
 
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
 #, c-format
 msgid "Too many errors trying to mount device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
 #, c-format
 msgid "Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
 #, c-format
 msgid "Volume \"%s\" previously written, moving to end of data.\n"
 msgstr ""
 
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
 #, c-format
 msgid "Unable to position to end of data on device %s: ERR=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
 #, c-format
 msgid "Volume \"%s\" not on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
 #, c-format
 msgid ""
 "Director wanted Volume \"%s\".\n"
@@ -8547,24 +8596,24 @@ msgid ""
 "    %s"
 msgstr ""
 
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
 #, c-format
 msgid ""
 "Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
 msgstr ""
 
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8572,23 +8621,23 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
 msgid "Error updating Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
 #, c-format
 msgid ""
 "Bacula cannot write on tape Volume \"%s\" because:\n"
 "The number of files mismatch! Volume=%u Catalog=%u\n"
 msgstr ""
 
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8596,46 +8645,46 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
 #, c-format
 msgid ""
 "Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
 #, c-format
 msgid "Labeled new Volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
 #, c-format
 msgid "Device %s not configured to autolabel Volumes.\n"
 msgstr ""
 
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
 #, c-format
 msgid "Marking Volume \"%s\" in Error in Catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
 #, c-format
 msgid ""
 "Autochanger Volume \"%s\" not found in slot %d.\n"
 "    Setting InChanger to zero in catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
 msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
 msgstr ""
 
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
 #, c-format
 msgid ""
 "Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
 msgstr ""
 
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
 #, c-format
 msgid "Cannot open Dev=%s, Vol=%s\n"
 msgstr ""
@@ -8721,7 +8770,7 @@ msgid ""
 "Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
 msgstr ""
 
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
 #, c-format
 msgid "Ftruncate spool file failed: ERR=%s\n"
 msgstr ""
@@ -8751,77 +8800,86 @@ msgstr ""
 msgid "Spool data read error. Wanted %u bytes, got %d\n"
 msgstr ""
 
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr ""
+
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
 msgstr ""
 
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
 msgid "Bad return from despool in write_block.\n"
 msgstr ""
 
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
 msgid "Spooling data again ...\n"
 msgstr ""
 
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
 #, c-format
 msgid "Error writing header to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
 #, c-format
 msgid ""
 "Error writing header to spool file. Disk probably full. Attempting recovery. "
 "Wanted to write=%d got=%d\n"
 msgstr ""
 
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
 msgid "Fatal despooling error."
 msgstr ""
 
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
 msgid "Retrying after header spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
 #, c-format
 msgid "Error writing data to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
 msgid "Retrying after data spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
 msgid "Network error on BlastAttributes.\n"
 msgstr ""
 
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
 #, c-format
 msgid "Fseek on attributes file failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
 #, c-format
 msgid "Truncate on attributes file failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
 #, c-format
 msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
 msgstr ""
 
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
 #, c-format
 msgid "fopen attr spool file %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
 #, c-format
 msgid "pthread_cond_wait failure. ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
 msgid "unknown blocked code"
 msgstr ""
 
@@ -8941,6 +8999,21 @@ msgstr ""
 msgid "Unable to init cond variable: ERR=%s\n"
 msgstr ""
 
+#: src/stored/dev.c:288
+#, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/dev.c:294
+#, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/dev.c:300
+#, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr ""
+
 #: src/stored/dev.c:416
 msgid "Illegal mode given to open dev.\n"
 msgstr ""
@@ -9289,7 +9362,7 @@ msgstr ""
 msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
 msgstr ""
 
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
 msgstr ""
@@ -9347,107 +9420,107 @@ msgstr ""
 msgid "Got Prog Data Stream record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
 #, c-format
 msgid "Unknown stream type!!! stream=%d len=%i\n"
 msgstr ""
 
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
 #, c-format
 msgid "Could not create File Attributes record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
 #, c-format
 msgid "Created File record: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
 #, c-format
 msgid "Could not create media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
 #, c-format
 msgid "Could not update media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
 #, c-format
 msgid "Created Media record for Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
 #, c-format
 msgid "Updated Media record at end of Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
 #, c-format
 msgid "Could not create pool record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
 #, c-format
 msgid "Created Pool record for Pool: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
 #, c-format
 msgid "Could not get Client record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
 #, c-format
 msgid "Created Client record for Client: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
 #, c-format
 msgid "Fileset \"%s\" already exists.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
 #, c-format
 msgid "Could not create FileSet record \"%s\". ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
 #, c-format
 msgid "Created FileSet record \"%s\"\n"
 msgstr ""
 
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
 #, c-format
 msgid "Could not create JobId record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
 #, c-format
 msgid "Could not update job start record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
 #, c-format
 msgid "Created new JobId=%u record for original JobId=%u\n"
 msgstr ""
 
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
 #, c-format
 msgid "Could not update JobId=%u record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
 #, c-format
 msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
 msgstr ""
 
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
 #, c-format
 msgid "Job Termination code: %d"
 msgstr ""
 
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
 #, c-format
 msgid ""
 "%s\n"
@@ -9467,27 +9540,27 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
 #, c-format
 msgid "Could not create JobMedia record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
 #, c-format
 msgid "Created JobMedia record JobId %d, MediaId %d\n"
 msgstr ""
 
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
 #, c-format
 msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
 msgid "Updated MD5/SHA1 record\n"
 msgstr ""
 
@@ -11570,40 +11643,40 @@ msgid ""
 "Please see "
 msgstr ""
 
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
 #, c-format
 msgid "Could not open console message file %s: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:376
+#: src/lib/message.c:377
 #, c-format
 msgid "Could not get con mutex: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:481
+#: src/lib/message.c:482
 msgid "Bacula Message"
 msgstr ""
 
-#: src/lib/message.c:485
+#: src/lib/message.c:486
 #, c-format
 msgid "open mail pipe %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:553
+#: src/lib/message.c:577
 msgid "open mail pipe failed.\n"
 msgstr ""
 
-#: src/lib/message.c:565
+#: src/lib/message.c:590
 #, c-format
 msgid "close error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:576
+#: src/lib/message.c:601
 #, c-format
 msgid "Mail prog: %s"
 msgstr ""
 
-#: src/lib/message.c:585
+#: src/lib/message.c:610
 #, c-format
 msgid ""
 "Mail program terminated in error.\n"
@@ -11611,12 +11684,16 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:684
+#: src/lib/message.c:713
 #, c-format
 msgid "fopen %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
 #, c-format
 msgid ""
 "Msg delivery error: Operator mail program terminated in error.\n"
@@ -11624,77 +11701,77 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:878
+#: src/lib/message.c:911
 #, c-format
 msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
 #, c-format
 msgid "%s: ABORTING due to ERROR in %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
 #, c-format
 msgid "%s: ERROR TERMINATION at %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
 #, c-format
 msgid "%s: Fatal Error because: "
 msgstr ""
 
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
 #, c-format
 msgid "%s: Fatal Error at %s:%d because:\n"
 msgstr ""
 
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
 #, c-format
 msgid "%s: ERROR: "
 msgstr ""
 
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
 #, c-format
 msgid "%s: ERROR in %s:%d "
 msgstr ""
 
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
 #, c-format
 msgid "%s: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
 #, c-format
 msgid "%s: Security violation: "
 msgstr ""
 
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
 #, c-format
 msgid "%s ABORTING due to ERROR\n"
 msgstr ""
 
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
 #, c-format
 msgid "%s ERROR TERMINATION\n"
 msgstr ""
 
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
 #, c-format
 msgid "%s JobId %u: Fatal error: "
 msgstr ""
 
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
 #, c-format
 msgid "%s JobId %u: Error: "
 msgstr ""
 
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
 #, c-format
 msgid "%s JobId %u: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
 #, c-format
 msgid "%s JobId %u: Security violation: "
 msgstr ""
@@ -11748,71 +11825,6 @@ msgstr ""
 msgid "Could not destroy client queue: ERR=%s\n"
 msgstr ""
 
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
 #: src/lib/bpipe.c:361 src/lib/bpipe.c:444
 msgid "Program killed by Bacula (timeout)\n"
 msgstr ""
@@ -12262,7 +12274,7 @@ msgstr ""
 msgid "Truncate"
 msgstr ""
 
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
 msgid "None"
 msgstr ""
 
@@ -12312,7 +12324,7 @@ msgstr ""
 
 #: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
 #: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
 msgid "*none*"
 msgstr ""
 
@@ -12524,20 +12536,20 @@ msgstr ""
 msgid "pthread_setspecific failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Storage "
 "daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -12723,203 +12735,271 @@ msgstr ""
 msgid "Invalid errno. No error message possible."
 msgstr ""
 
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
 #: src/lib/signal.c:67
 msgid "Invalid signal number"
 msgstr ""
 
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
 #, c-format
 msgid "Bacula interrupted by signal %d: %s\n"
 msgstr ""
 
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
 #, c-format
 msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
 msgstr ""
 
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
 #, c-format
 msgid "Kaboom! exepath=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
 #, c-format
 msgid "Fork error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
 #, c-format
 msgid "Calling: %s %s %s %s\n"
 msgstr ""
 
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
 #, c-format
 msgid "execv: %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
 #, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
 msgstr ""
 
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
 #, c-format
 msgid "BA_NSIG too small (%d) should be (%d)\n"
 msgstr ""
 
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
 msgid "UNKNOWN SIGNAL"
 msgstr ""
 
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
 msgid "Hangup"
 msgstr ""
 
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
 msgid "Interrupt"
 msgstr ""
 
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
 msgid "Quit"
 msgstr ""
 
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
 msgid "Illegal instruction"
 msgstr ""
 
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
 msgid "Trace/Breakpoint trap"
 msgstr ""
 
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
 msgid "Abort"
 msgstr ""
 
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
 msgid "EMT instruction (Emulation Trap)"
 msgstr ""
 
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
 msgid "IOT trap"
 msgstr ""
 
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
 msgid "BUS error"
 msgstr ""
 
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
 msgid "Floating-point exception"
 msgstr ""
 
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
 msgid "Kill, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
 msgid "User-defined signal 1"
 msgstr ""
 
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
 msgid "Segmentation violation"
 msgstr ""
 
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
 msgid "User-defined signal 2"
 msgstr ""
 
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
 msgid "Broken pipe"
 msgstr ""
 
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
 msgid "Alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
 msgid "Termination"
 msgstr ""
 
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
 msgid "Stack fault"
 msgstr ""
 
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
 msgid "Child status has changed"
 msgstr ""
 
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
 msgid "Continue"
 msgstr ""
 
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
 msgid "Stop, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
 msgid "Keyboard stop"
 msgstr ""
 
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
 msgid "Background read from tty"
 msgstr ""
 
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
 msgid "Background write to tty"
 msgstr ""
 
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
 msgid "Urgent condition on socket"
 msgstr ""
 
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
 msgid "CPU limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
 msgid "File size limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
 msgid "Virtual alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
 msgid "Profiling alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
 msgid "Window size change"
 msgstr ""
 
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
 msgid "I/O now possible"
 msgstr ""
 
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
 msgid "Power failure restart"
 msgstr ""
 
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
 msgid "No runnable lwp"
 msgstr ""
 
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
 msgid "SIGLWP special signal used by thread library"
 msgstr ""
 
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
 msgid "Checkpoint Freeze"
 msgstr ""
 
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
 msgid "Checkpoint Thaw"
 msgstr ""
 
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
 msgid "Thread Cancellation"
 msgstr ""
 
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
 msgid "Resource Lost (e.g. record-lock lost)"
 msgstr ""
 
@@ -12945,47 +13025,47 @@ msgstr ""
 msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
 #, c-format
 msgid "Out of memory: ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
 msgid "Buffer overflow.\n"
 msgstr ""
 
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
 msgid "Bad errno"
 msgstr ""
 
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
 #, c-format
 msgid "Memset for %d bytes at %s:%d\n"
 msgstr ""
 
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
 #, c-format
 msgid "Cannot open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
 #, c-format
 msgid ""
 "%s is already running. pid=%d\n"
 "Check file %s\n"
 msgstr ""
 
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
 #, c-format
 msgid "Could not open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
 #, c-format
 msgid "Could not create state file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
 #, c-format
 msgid "Write final hdr error: ERR=%s\n"
 msgstr ""
@@ -13033,98 +13113,98 @@ msgstr ""
 msgid "Close of NULL file\n"
 msgstr ""
 
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
 msgid ""
 "get_char: called after EOF. You may have a open double quote without the "
 "closing double quote.\n"
 msgstr ""
 
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
 #, c-format
 msgid "Config token too long, file: %s, line %d, begins at line %d\n"
 msgstr ""
 
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
 msgid "none"
 msgstr ""
 
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
 msgid "comment"
 msgstr ""
 
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
 msgid "number"
 msgstr ""
 
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
 msgid "ip_addr"
 msgstr ""
 
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
 msgid "identifier"
 msgstr ""
 
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
 msgid "string"
 msgstr ""
 
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
 msgid "quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
 msgid "include"
 msgstr ""
 
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
 msgid "include_quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
 msgid "UTF-8 Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
 msgid "UTF-16le Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
 #, c-format
 msgid "expected a positive integer number, got: %s"
 msgstr ""
 
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
 msgid ""
 "This config file appears to be in an unsupported Unicode format (UTF-16be). "
 "Please resave as UTF-8\n"
 msgstr ""
 
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
 #, c-format
 msgid "Cannot open included config file %s: %s\n"
 msgstr ""
 
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
 #, c-format
 msgid "expected an integer or a range, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
 #, c-format
 msgid "expected an integer number, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
 #, c-format
 msgid "expected a name, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
 #, c-format
 msgid "name %s length %d too long, max is %d\n"
 msgstr ""
 
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
 #, c-format
 msgid "expected a string, got %s: %s"
 msgstr ""
@@ -13798,42 +13878,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
 msgstr ""
 
 #: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
 msgid "NetBSD Specific Extended attribs"
 msgstr ""
 
@@ -13847,27 +13939,27 @@ msgstr ""
 msgid "Unknown include/exclude option: %c\n"
 msgstr ""
 
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
 #, c-format
 msgid "     NODUMP flag set - will not process %s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
 #, c-format
 msgid "Cannot stat file %s: ERR=%s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
 #, c-format
 msgid "%s mtime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
 #, c-format
 msgid "%s ctime changed during backup.\n"
 msgstr ""
 
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
 #, c-format
 msgid "%s size changed during backup.\n"
 msgstr ""
@@ -15637,6 +15729,11 @@ msgstr ""
 msgid " SDSocket=closed\n"
 msgstr ""
 
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
 #: src/filed/status.c:464
 msgid "2900 Bad .status command, missing argument.\n"
 msgstr ""
@@ -15665,276 +15762,276 @@ msgstr ""
 msgid "Bacula Client: Last Job had Warnings"
 msgstr ""
 
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
 #: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
 #, c-format
 msgid "Network send error to SD. ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
 #, c-format
 msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
 #, c-format
 msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
 #, c-format
 msgid "llistea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
 #, c-format
 msgid "lgetea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
 #, c-format
 msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
 msgstr ""
 
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
 #, c-format
 msgid "Failed to serialize extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
 #, c-format
 msgid "lsetea error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
 #, c-format
 msgid "attr_list error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
 #, c-format
 msgid "Received illegal xattr named %s on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
 #, c-format
 msgid "attr_set error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
 #, c-format
 msgid "llistxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
 #, c-format
 msgid "lgetxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
 #, c-format
 msgid "lsetxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
 #, c-format
 msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
 #, c-format
 msgid "Failed to convert %d into namespace on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
 #, c-format
 msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
 #, c-format
 msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
 #, c-format
 msgid "Failed to convert %s into namespace on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
 #, c-format
 msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
 #, c-format
 msgid "getproplist error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
 #, c-format
 msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
 #, c-format
 msgid "setproplist error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
 #, c-format
 msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
 #, c-format
 msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
 #, c-format
 msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
 #, c-format
 msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
 #, c-format
 msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
 #, c-format
 msgid "Unable to read content of xattr %s on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
 #, c-format
 msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
 #, c-format
 msgid "Unable to open file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
 #, c-format
 msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
 #, c-format
 msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
 #, c-format
 msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
 #, c-format
 msgid "Unable to convert acl from text on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
 #, c-format
 msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
 #, c-format
 msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
 #, c-format
 msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
 #, c-format
 msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
 #, c-format
 msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
 #, c-format
 msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
 #, c-format
 msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
 #, c-format
 msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
 #, c-format
 msgid ""
 "Unable to restore data of xattr %s on file \"%s\": Not all data available in "
 "xattr stream\n"
 msgstr ""
 
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
 #, c-format
 msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
 #, c-format
 msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
 #, c-format
 msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
 #, c-format
 msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
 #, c-format
 msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
 #, c-format
 msgid "Failed to restore extensible attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
 #, c-format
 msgid "Failed to restore extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
 #, c-format
 msgid "Unable to stat file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
 #, c-format
 msgid ""
 "Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16073,189 +16170,189 @@ msgstr ""
 msgid "No Director resource defined in %s\n"
 msgstr ""
 
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
 #, c-format
 msgid "aclx_get error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
 #, c-format
 msgid "Unknown acl type encountered on file \"%s\": %ld\n"
 msgstr ""
 
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
 #, c-format
 msgid "Failed to convert acl into text on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
 #, c-format
 msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
 #, c-format
 msgid "aclx_put error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
 #, c-format
 msgid "acl_to_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
 #, c-format
 msgid "acl_get_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
 #, c-format
 msgid ""
 "acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
 #, c-format
 msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
 #, c-format
 msgid "acl_from_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
 #, c-format
 msgid "acl_valid error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
 #, c-format
 msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
 #, c-format
 msgid "acl_set_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
 #, c-format
 msgid "pathconf error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
 #, c-format
 msgid "getacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
 #, c-format
 msgid "acltostr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
 #, c-format
 msgid "strtoacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
 #, c-format
 msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
 #, c-format
 msgid "setacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
 #, c-format
 msgid "acl_get error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
 #, c-format
 msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
 #, c-format
 msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
 #, c-format
 msgid "acl_set error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
 #, c-format
 msgid "acltotext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
 #, c-format
 msgid "aclfromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
 #, c-format
 msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
 #, c-format
 msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
 #, c-format
 msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
 #, c-format
 msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
 msgstr ""
@@ -16264,17 +16361,17 @@ msgstr ""
 msgid "Storage command not issued before Verify.\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
 #, c-format
 msgid "Record header scan error: %s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
 #, c-format
 msgid "Data record error. ERR=%s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
 #, c-format
 msgid "Actual data size %d not same as header %d\n"
 msgstr ""
@@ -16434,7 +16531,7 @@ msgstr ""
 msgid "Invalid file flags, no supported data stream type.\n"
 msgstr ""
 
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
 #, c-format
 msgid "VSS Writer (BackupComplete): %s\n"
 msgstr ""
@@ -16454,192 +16551,192 @@ msgstr ""
 msgid "Could not set Finder Info on %s\n"
 msgstr ""
 
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
 msgid "LZO init failed\n"
 msgstr ""
 
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
 msgid "Unexpected cryptographic session data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
 msgid ""
 "No private decryption keys have been defined to decrypt encrypted backup "
 "data.\n"
 msgstr ""
 
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
 msgid "Could not create digest.\n"
 msgstr ""
 
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
 msgid "Missing private key required to decrypt encrypted backup data.\n"
 msgstr ""
 
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
 msgid "Decrypt of the session key failed.\n"
 msgstr ""
 
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
 #, c-format
 msgid "An error occurred while decoding encrypted session data stream: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
 #, c-format
 msgid "Missing encryption session data stream for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
 #, c-format
 msgid "Failed to initialize decryption context for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
 #, c-format
 msgid "Cannot open resource fork for %s.\n"
 msgstr ""
 
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
 msgid "Unexpected cryptographic signature data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
 #, c-format
 msgid "Failed to decode message signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
 #, c-format
 msgid "Encountered %ld acl errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
 #, c-format
 msgid "Encountered %ld xattr errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
 #, c-format
 msgid ""
 "%d non-supported data streams and %d non-supported attrib streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
 #, c-format
 msgid "%d non-supported resource fork streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
 #, c-format
 msgid "%d non-supported Finder Info streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
 #, c-format
 msgid "%d non-supported acl streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
 #, c-format
 msgid "%d non-supported crypto streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
 #, c-format
 msgid "%d non-supported xattr streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
 msgid "Zlib errno"
 msgstr ""
 
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
 msgid "Zlib stream error"
 msgstr ""
 
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
 msgid "Zlib data error"
 msgstr ""
 
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
 msgid "Zlib memory error"
 msgstr ""
 
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
 msgid "Zlib buffer error"
 msgstr ""
 
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
 msgid "Zlib version error"
 msgstr ""
 
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
 #, c-format
 msgid "Missing cryptographic signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
 #, c-format
 msgid "Signature validation failed for file %s: ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
 #, c-format
 msgid "Digest one file failed for file: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
 #, c-format
 msgid "Signature validation failed for %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
 #, c-format
 msgid "LZO uncompression error on file %s. ERR=%d\n"
 msgstr ""
 
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
 #, c-format
 msgid "Uncompression error on file %s. ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
 #, c-format
 msgid "Write error in Win32 Block Decomposition on %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
 msgid "Decryption error\n"
 msgstr ""
 
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
 msgid "Logic error: output file should be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
 msgid "Logic error: output file should not be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
 #, c-format
 msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
 msgid "Open File Manager paused\n"
 msgstr ""
 
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
 msgid "FAILED to pause Open File Manager\n"
 msgstr ""
 
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
 #, c-format
 msgid "Running as '%s'. Privmask=%#08x\n"
 msgstr ""
 
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
 msgid "Failed to retrieve current UserName\n"
 msgstr ""
 
@@ -16918,7 +17015,7 @@ msgid ""
 "Version: "
 msgstr ""
 
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
 #, c-format
 msgid "Failed ASSERT: %s\n"
 msgstr ""
@@ -17879,15 +17976,15 @@ msgstr ""
 msgid "At main prompt waiting for input ..."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
 msgid "At prompt waiting for input ..."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
 msgid "Command failed."
 msgstr ""
 
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
 msgid "Director disconnected."
 msgstr ""
 
diff --git a/po/uk.po b/po/uk.po
index 65d07d8..70a7e3a 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: bacula 3.0.3\n"
 "Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
 "PO-Revision-Date: 2010-01-08 17:32+0300\n"
 "Last-Translator: Vitaliy Kosharskiy <kisa_co at ukrpost.net>\n"
 "Language-Team: Ukrainian\n"
@@ -95,7 +95,7 @@ msgstr ""
 msgid "Continue? (yes/mod/no): "
 msgstr ""
 
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
 msgid "mod"
 msgstr ""
 
@@ -115,8 +115,8 @@ msgstr ""
 msgid "The defined Storage resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
 #: src/wx-console/wxbrestorepanel.cpp:355
 #: src/wx-console/wxbrestorepanel.cpp:479
 #: src/wx-console/wxbrestorepanel.cpp:480
@@ -137,7 +137,7 @@ msgstr ""
 msgid "The defined FileSet resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
 msgid "FileSet"
 msgstr ""
 
@@ -145,7 +145,7 @@ msgstr ""
 msgid "Select FileSet resource"
 msgstr ""
 
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
 msgid "Could not find a Catalog resource\n"
 msgstr ""
 
@@ -170,8 +170,8 @@ msgid "The defined Job resources are:\n"
 msgstr ""
 
 #: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
 msgid "Job"
 msgstr ""
 
@@ -196,8 +196,8 @@ msgstr ""
 msgid "The defined Client resources are:\n"
 msgstr ""
 
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
 #: src/wx-console/wxbrestorepanel.cpp:336
 #: src/wx-console/wxbrestorepanel.cpp:354
 #: src/wx-console/wxbrestorepanel.cpp:431
@@ -256,7 +256,7 @@ msgstr ""
 msgid "Could not find Pool \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
 #, c-format
 msgid "Error obtaining pool ids. ERR=%s\n"
 msgstr ""
@@ -270,12 +270,12 @@ msgid "Defined Pools:\n"
 msgstr ""
 
 #: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
 msgid "*None*"
 msgstr ""
 
 #: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
 #: src/wx-console/wxbrestorepanel.cpp:527
 #: src/wx-console/wxbrestorepanel.cpp:537
 #: src/wx-console/wxbrestorepanel.cpp:1834
@@ -418,7 +418,7 @@ msgstr ""
 msgid "Unauthorized command from this console.\n"
 msgstr ""
 
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
 msgid "No Jobs running.\n"
 msgstr ""
 
@@ -723,8 +723,8 @@ msgstr ""
 msgid "Start Admin JobId %d, Job=%s\n"
 msgstr ""
 
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
 #, c-format
 msgid "Error getting Job record for Job report: ERR=%s"
 msgstr ""
@@ -741,8 +741,8 @@ msgstr ""
 msgid "Admin Canceled"
 msgstr ""
 
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
 #, c-format
 msgid "Inappropriate term code: %c\n"
 msgstr ""
@@ -751,7 +751,7 @@ msgstr ""
 msgid "Bacula "
 msgstr ""
 
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -783,66 +783,66 @@ msgstr ""
 "       -?          print this message.\n"
 "\n"
 
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
 #: src/filed/filed.c:218 src/qt-console/main.cpp:165
 msgid "Cryptography library initialization failed.\n"
 msgstr "Ініціалізація криптографії невдала.\n"
 
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
 #: src/filed/filed.c:223 src/qt-console/main.cpp:169
 #, c-format
 msgid "Please correct configuration file: %s\n"
 msgstr "Будьласка виправте файл конфігурації: %s\n"
 
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
 msgid "Too many open reload requests. Request ignored.\n"
 msgstr ""
 
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
 msgid "Out of reload table entries. Giving up.\n"
 msgstr ""
 
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
 msgid "Resetting previous configuration.\n"
 msgstr ""
 
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
 #, c-format
 msgid ""
 "No Director resource defined in %s\n"
 "Without that I don't know who I am :-(\n"
 msgstr ""
 
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
 #, c-format
 msgid "No Messages resource defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
 #, c-format
 msgid "Only one Director resource permitted in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
 #: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
 #: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
 #: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
 msgid "TLS required but not configured in Bacula.\n"
 msgstr "TLS необхідний, але не налаштовано у Bacula.\n"
 
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
 #, c-format
 msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -850,46 +850,46 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
 #, c-format
 msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
 #, c-format
 msgid "No Job records defined in %s\n"
 msgstr ""
 
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
 #, c-format
 msgid "Hey something is wrong. p=0x%lu\n"
 msgstr ""
 
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
 #, c-format
 msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
 msgstr ""
 
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
 msgid "Too many items in Job resource\n"
 msgstr ""
 
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
 #, c-format
 msgid "No storage specified in Job \"%s\" nor in Pool.\n"
 msgstr ""
 
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
 #, c-format
 msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
 #, c-format
 msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -897,51 +897,51 @@ msgid ""
 "using \"TLS Verify Peer\".\n"
 msgstr ""
 
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
 #, c-format
 msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "File daemon \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
 #, c-format
 msgid ""
 "Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
 "Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
 #, c-format
 msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
 msgstr ""
 
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
 #, c-format
 msgid "Could not open Catalog \"%s\", database \"%s\".\n"
 msgstr ""
 
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
 #, fuzzy, c-format
 msgid "Could not create storage record for %s\n"
 msgstr "Не вдалось відновити прапорці для файлу %s: ERR=%s\n"
 
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
 #, fuzzy, c-format
 msgid "Could not update storage record for %s\n"
 msgstr "Не вдалось відновити прапорці для файлу %s: ERR=%s\n"
 
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
 #, c-format
 msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr ""
@@ -960,18 +960,18 @@ msgstr ""
 msgid "Old style Include/Exclude not supported\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
 #, c-format
 msgid "Expecting keyword, got: %s\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
 #: src/lib/parse_conf.c:976
 #, c-format
 msgid "expected an equals, got: %s"
 msgstr ""
 
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
 #, c-format
 msgid "Keyword %s not permitted in this resource"
 msgstr ""
@@ -1023,7 +1023,7 @@ msgstr ""
 msgid "Options section not permitted in Exclude\n"
 msgstr ""
 
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
 #, c-format
 msgid "Expecting open brace. Got %s"
 msgstr ""
@@ -1212,13 +1212,13 @@ msgid ""
 "There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d ...\n"
 msgstr ""
 
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
 msgid "Failed to connect to Storage daemon.\n"
 msgstr ""
 
@@ -1294,34 +1294,34 @@ msgstr ""
 msgid "Could not get or create the FileSet record.\n"
 msgstr ""
 
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
 #, c-format
 msgid "Error getting Client record for Job report: ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
 #, c-format
 msgid "Error getting Media record for Volume \"%s\": ERR=%s"
 msgstr ""
 
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
 msgid "Backup OK -- with warnings"
 msgstr ""
 
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
 msgid "Backup OK"
 msgstr ""
 
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
 msgid "*** Backup Error ***"
 msgstr ""
 
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
 msgid "Backup Canceled"
 msgstr ""
 
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -1368,93 +1368,93 @@ msgstr ""
 msgid "disabled"
 msgstr ""
 
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
 msgid "Keywords for the show command are:\n"
 msgstr ""
 
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
 #, c-format
 msgid "%s resource %s not found.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
 #, c-format
 msgid "Resource %s not found\n"
 msgstr ""
 
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
 msgid "Hey! DB is NULL\n"
 msgstr ""
 
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
 #, c-format
 msgid "Jobid %d used %d Volume(s): %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
 msgid "No Pool specified.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
 #, c-format
 msgid "Pool: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
 msgid "Ignoring invalid value for days. Max is 50.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
 #, c-format
 msgid "Unknown list keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
 #, c-format
 msgid "%s is not a job name.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
 #, c-format
 msgid "Could not find Pool for Job %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
 #, c-format
 msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
 msgstr ""
 
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
 #, c-format
 msgid ""
 "The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
 msgstr ""
 
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
 #, c-format
 msgid "Could not find next Volume for Job %s.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
 #, c-format
 msgid "Could not open database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
 #, c-format
 msgid "Pool %s not in database. %s"
 msgstr ""
 
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
 #, c-format
 msgid "Pool %s created in database.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
 msgid "You have no messages.\n"
 msgstr ""
 
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
 msgid "Message too long to display.\n"
 msgstr ""
 
@@ -1467,88 +1467,88 @@ msgstr ""
 msgid ": is an invalid command.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
 #: src/dird/ua_restore.c:823
 #, c-format
 msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
 #: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
 #: src/dird/job.c:1160 src/dird/job.c:1164
 msgid "unknown source"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
 #, c-format
 msgid "Connecting to Storage daemon %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
 msgid "Connected to storage daemon\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
 #: src/dird/ua_status.c:397
 #, c-format
 msgid "Connecting to Client %s at %s:%d\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
 msgid "Failed to connect to Client.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
 #, c-format
 msgid "Unknown command: %s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
 msgid "Available daemons are: \n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
 msgid "Director"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
 msgid "Select daemon type to make die"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
 msgid "The Director will generate a deadlock.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
 msgid "The Director will segment fault.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
 msgid "Access to specified Client or FileSet not allowed.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
 #: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
 #: src/dird/ua_restore.c:990
 #, c-format
 msgid "Query failed: %s. ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
 msgid "query keyword not found.\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
 #, c-format
 msgid "List MediaType failed: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
 #, c-format
 msgid "List Media failed: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
 #, fuzzy, c-format
 msgid "List Location failed: ERR=%s\n"
 msgstr "Невдале встановлення з'єднання TLS\n"
@@ -1862,11 +1862,11 @@ msgstr ""
 msgid "Enter base volume name: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
 msgid "Volume name too long.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
 msgid "Volume name must be at least one character long.\n"
 msgstr ""
 
@@ -1925,11 +1925,11 @@ msgstr ""
 msgid "Python interpreter restarted.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
 msgid "Nothing done.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
 #, c-format
 msgid "Client \"%s\" not found.\n"
 msgstr ""
@@ -1956,7 +1956,7 @@ msgstr ""
 msgid "Select daemon type to set debug level"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
 #, c-format
 msgid "No authorization for Client \"%s\"\n"
 msgstr ""
@@ -1965,7 +1965,7 @@ msgstr ""
 msgid "Client name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
 #, c-format
 msgid "No authorization for Job \"%s\"\n"
 msgstr ""
@@ -1988,7 +1988,7 @@ msgstr ""
 msgid "Fileset name missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
 #, c-format
 msgid "Level \"%s\" not valid.\n"
 msgstr ""
@@ -1997,43 +1997,67 @@ msgstr ""
 msgid "Level value missing.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
 msgid "Invalid value for accurate. It must be yes or no.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+msgid "Accurate value missing.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1167
 msgid "No job specified.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
 msgid "Error sending include list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
 msgid "Error sending exclude list.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
 msgid ""
 "In general it is not a good idea to delete either a\n"
 "Pool or a Volume since they may contain data.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
 msgid "Choose catalog item to delete"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
 msgid "Enter JobId to delete: "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
 #, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Jobid %s and associated records deleted from the catalog.\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
 #, c-format
 msgid ""
 "\n"
@@ -2041,44 +2065,44 @@ msgid ""
 "and all Jobs saved on that volume from the Catalog\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
 #, c-format
 msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
 msgid "Can't list jobs on this volume\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
 #, c-format
 msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
 msgstr ""
 
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
 #, c-format
 msgid "Using Catalog name=%s DB=%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
 msgid "ERR: Can't open db\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
 msgid "Wait on mount timed out\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
 msgid "ERR: Job was not found\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
 msgid ""
 "  Command       Description\n"
 "  =======       ===========\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
 #, c-format
 msgid ""
 "  %-13s %s\n"
@@ -2087,12 +2111,12 @@ msgid ""
 "\t%s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
 #, c-format
 msgid "  %-13s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -2100,29 +2124,29 @@ msgid ""
 "\n"
 msgstr ": неправильна команда\n"
 
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
 msgid ""
 "\n"
 "When at a prompt, entering a period cancels the command.\n"
 "\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s %s\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
 #, c-format
 msgid "No authorization for Catalog \"%s\"\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
 #, c-format
 msgid "Could not open catalog database \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
 #, c-format
 msgid "Using Catalog \"%s\"\n"
 msgstr ""
@@ -2320,57 +2344,57 @@ msgstr ""
 msgid "%d directories unmarked.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
 #: src/qt-console/tray-monitor/tray_conf.cpp:168
 #, c-format
 msgid "No %s resource defined\n"
 msgstr "Ресурс %s не визначено\n"
 
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
 #, c-format
 msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
 #, c-format
 msgid "   query_file=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
 msgid "  --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
 #, c-format
 msgid "Console: name=%s SSL=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
 #, c-format
 msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
 #, c-format
 msgid "Counter: name=%s min=%d max=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
 #, c-format
 msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s AutoPrune=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
 #, c-format
 msgid ""
 "Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2379,286 +2403,286 @@ msgid ""
 "      poolid=%s volname=%s MediaType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
 #, c-format
 msgid ""
 "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
 "      DeviceName=%s MediaType=%s StorageId=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
 #, c-format
 msgid ""
 "Catalog: name=%s address=%s DBport=%d db_name=%s\n"
 "      db_driver=%s db_user=%s MutliDBConn=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
 #, c-format
 msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
 msgid "JobDefs"
 msgstr ""
 
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
 #, c-format
 msgid ""
 "     MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
 "%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
 #, c-format
 msgid "     SpoolSize=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
 #, c-format
 msgid "     Accurate=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
 #, c-format
 msgid "     SelectionType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
 #, c-format
 msgid "  --> Where=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
 #, c-format
 msgid "  --> RegexWhere=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
 #, c-format
 msgid "  --> Bootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
 #, c-format
 msgid "  --> WriteBootstrap=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
 #, c-format
 msgid "  --> PluginOptions=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
 #, c-format
 msgid "  --> MaxRunTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
 #, c-format
 msgid "  --> MaxWaitTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
 #, c-format
 msgid "  --> MaxStartDelay=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
 #, c-format
 msgid "  --> MaxRunSchedTime=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
 #, c-format
 msgid "  --> Base %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
 msgid " --> RunScript\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
 #, c-format
 msgid "  --> Command=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
 #, c-format
 msgid "  --> Target=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
 #, c-format
 msgid "  --> RunOnSuccess=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
 #, c-format
 msgid "  --> RunOnFailure=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
 #, c-format
 msgid "  --> FailJobOnError=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
 #, c-format
 msgid "  --> RunWhen=%u\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
 #, c-format
 msgid "  --> Run=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
 #, c-format
 msgid "  --> SelectionPattern=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
 #, c-format
 msgid "FileSet: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
 #, c-format
 msgid "Schedule: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
 #, c-format
 msgid "  --> Run Level=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
 msgid "      hour="
 msgstr ""
 
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
 msgid "      mday="
 msgstr ""
 
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
 msgid "      month="
 msgstr ""
 
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
 msgid "      wday="
 msgstr ""
 
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
 msgid "      wom="
 msgstr ""
 
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
 msgid "      woy="
 msgstr ""
 
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
 #, c-format
 msgid "      mins=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
 msgid "     --> "
 msgstr ""
 
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
 #, c-format
 msgid "Pool: name=%s PoolType=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
 #, c-format
 msgid "      use_cat=%d use_once=%d cat_files=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
 #, c-format
 msgid "      max_vols=%d auto_prune=%d VolRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
 #, c-format
 msgid "      VolUse=%s recycle=%d LabelFormat=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
 #, c-format
 msgid "      CleaningPrefix=%s LabelType=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
 #, c-format
 msgid "      RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
 #, c-format
 msgid "      MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
 #, c-format
 msgid "      MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
 #, c-format
 msgid "      JobRetention=%s FileRetention=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
 #, c-format
 msgid "      NextPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
 #, c-format
 msgid "      RecyclePool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
 #, c-format
 msgid "      ScratchPool=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
 #, c-format
 msgid "      Catalog=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
 #, c-format
 msgid "Messages: name=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
 #, c-format
 msgid "      mailcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
 #, c-format
 msgid "      opcmd=%s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
 #: src/qt-console/tray-monitor/tray_conf.cpp:199
 #, c-format
 msgid "Unknown resource type %d in dump_resource.\n"
 msgstr "Невідомий тип ресурсу %d у dump_resource.\n"
 
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
 #: src/qt-console/tray-monitor/tray_conf.cpp:257
 #, c-format
 msgid "Unknown resource type %d in free_resource.\n"
 msgstr "Невідомий тип ресурсу %d у free_resource.\n"
 
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
 #: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
 #: src/console/console_conf.c:259 src/filed/filed_conf.c:361
 #: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2667,54 +2691,54 @@ msgstr "Невідомий тип ресурсу %d у free_resource.\n"
 msgid "%s item is required in %s resource, but not found.\n"
 msgstr "Не знайдено необхідний елемент %s для ресурсу %s.\n"
 
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
 #: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
 #, c-format
 msgid "Too many items in %s resource\n"
 msgstr "Забагато елементів у ресурсі %s\n"
 
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
 #, c-format
 msgid "Cannot find Pool resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
 #, c-format
 msgid "Cannot find Console resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
 #: src/filed/filed_conf.c:381
 #, c-format
 msgid "Cannot find Director resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
 #, c-format
 msgid "Cannot find Storage resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
 #, c-format
 msgid "Cannot find Job resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
 #, c-format
 msgid "Cannot find Counter resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
 #, c-format
 msgid "Cannot find Client resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
 #, c-format
 msgid "Cannot find Schedule resource %s\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
 #: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
 #: src/qt-console/tray-monitor/tray_conf.cpp:314
 #: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2722,12 +2746,12 @@ msgstr ""
 msgid "Unknown resource type %d in save_resource.\n"
 msgstr "Невідомий тип ресурсу %d у save_resource.\n"
 
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
 #, c-format
 msgid "Name item is required in %s resource, but not found.\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
 #: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
 #: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
 #: src/qt-console/bat_conf.cpp:334
@@ -2735,43 +2759,43 @@ msgstr ""
 msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
 msgstr "Спроба визначити другий %s ресурс із назвою \"%s\" не дозволяється.\n"
 
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
 #, c-format
 msgid "Inserting %s res: %s index=%d pass=%d\n"
 msgstr ""
 
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
 #, c-format
 msgid "Expected one of: %s, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
 #, c-format
 msgid "Expected a Migration Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
 #, c-format
 msgid "Expected a Job Type keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
 #, c-format
 msgid "Expected a Job Level keyword, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
 #, c-format
 msgid "Expected a Restore replacement option, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
 #: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
 #, c-format
 msgid "Expect %s, got: %s"
 msgstr ""
 
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
 #, c-format
 msgid "Could not find config Resource %s referenced on line %d : %s\n"
 msgstr ""
@@ -2899,7 +2923,7 @@ msgstr ""
 msgid "Select full restore to a specified Job date"
 msgstr ""
 
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
 #: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
 msgid "Cancel"
 msgstr ""
@@ -3302,179 +3326,179 @@ msgstr ""
 msgid "Slot too large.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
 msgid "command line"
 msgstr ""
 
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
 msgid "No slots in changer to scan.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
 msgid "No Volumes found to label, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
 #, c-format
 msgid "Slot %d greater than max %d ignored.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
 #, c-format
 msgid "No VolName for Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
 #, c-format
 msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
 #, c-format
 msgid "Catalog record for Volume \"%s\" is up to date.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
 #, c-format
 msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
 #, c-format
 msgid ""
 "Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
 "relabeling.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
 msgid "Enter new Volume name: "
 msgstr ""
 
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
 #, c-format
 msgid "Media record for new Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
 msgid "Enter slot (0 or Enter for none): "
 msgstr ""
 
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
 #, c-format
 msgid "Delete of Volume \"%s\" failed. ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
 #, c-format
 msgid "Old volume \"%s\" deleted from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
 #, c-format
 msgid "Requesting to mount %s ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
 msgid "Do not forget to mount the drive!!!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
 msgid ""
 "The following Volumes will be labeled:\n"
 "Slot  Volume\n"
 "==============\n"
 msgstr ""
 
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
 msgid "Do you want to label these Volumes? (yes|no): "
 msgstr ""
 
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
 #, c-format
 msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
 #, c-format
 msgid "Error setting InChanger: ERR=%s"
 msgstr ""
 
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
 #, c-format
 msgid "Maximum pool Volumes=%d reached.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
 #, c-format
 msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
 #, c-format
 msgid "Catalog error on cleaning tape: %s"
 msgstr ""
 
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
 #, c-format
 msgid "Illegal character \"%c\" in a volume name.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
 #, c-format
 msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
 #, c-format
 msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
 msgstr ""
 
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
 #, c-format
 msgid "Catalog record for Volume \"%s\", Slot %d  successfully created.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
 #, c-format
 msgid "Label command failed for Volume %s.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
 msgid "Could not open SD socket.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
 #, c-format
 msgid "Invalid Slot number: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
 #, c-format
 msgid "Invalid Volume name: %s\n"
 msgstr ""
 
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
 #, c-format
 msgid "Device \"%s\" has %d slots.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
 #, c-format
 msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
 msgid "No Volumes found, or no barcodes.\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
 msgid ""
 " Slot |   Volume Name    |   Status  |     Media Type       |      "
 "Pool          |\n"
 msgstr ""
 
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
 msgid ""
 "------+------------------+-----------+----------------------"
 "+--------------------|\n"
@@ -3695,15 +3719,15 @@ msgid "New Recycle flag is: %s\n"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
 #: src/tools/dbcheck.c:1352
 msgid "yes"
 msgstr ""
 
 #: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
 msgid "no"
 msgstr ""
 
@@ -3782,7 +3806,7 @@ msgstr ""
 msgid "New ActionOnPurge is: %s\n"
 msgstr ""
 
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
 msgid "Parameters to modify:\n"
 msgstr ""
 
@@ -3854,7 +3878,7 @@ msgstr ""
 msgid "Done"
 msgstr ""
 
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
 msgid "Select parameter to modify"
 msgstr ""
 
@@ -4083,7 +4107,7 @@ msgstr ""
 msgid "Pool resource \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
 #, c-format
 msgid "Could not get job record for JobId %s to %s. ERR=%s"
 msgstr ""
@@ -4098,140 +4122,140 @@ msgstr ""
 msgid "Start %s JobId %s, Job=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
 #, c-format
 msgid "No %s SQL selection pattern specified.\n"
 msgstr ""
 
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
 #, c-format
 msgid "SQL failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
 #, c-format
 msgid "No Volumes found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
 msgid "Invalid JobId found.\n"
 msgstr ""
 
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
 #, c-format
 msgid "Unknown %s Selection Type.\n"
 msgstr ""
 
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
 #, c-format
 msgid "No JobIds found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
 #, c-format
 msgid "The following %u JobId%s chosen to be %s: %s\n"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid " was"
 msgstr ""
 
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
 msgid "s were"
 msgstr ""
 
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
 #, c-format
 msgid "%s using JobId=%s Job=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
 msgid "Could not start migration job.\n"
 msgstr ""
 
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
 #, c-format
 msgid "%s JobId %d started.\n"
 msgstr ""
 
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
 #, c-format
 msgid "No %s found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
 #, c-format
 msgid "SQL error. Expected 1 MediaId got %d\n"
 msgstr ""
 
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
 #, c-format
 msgid "No %ss found to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
 msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
 msgstr ""
 
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
 #, c-format
 msgid "SQL to get uncopied jobs failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
 #, c-format
 msgid "No %s %s selection pattern specified.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
 #, c-format
 msgid "SQL to get %s failed. ERR=%s\n"
 msgstr ""
 
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
 #, c-format
 msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
 #, c-format
 msgid "Regex pattern matched no Jobs to %s.\n"
 msgstr ""
 
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
 #, c-format
 msgid "%s OK -- with warnings"
 msgstr ""
 
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
 #, c-format
 msgid "%s OK"
 msgstr ""
 
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
 #, c-format
 msgid "*** %s Error ***"
 msgstr ""
 
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
 #, c-format
 msgid "%s Canceled"
 msgstr ""
 
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
 #, c-format
 msgid "Inappropriate %s term code"
 msgstr ""
 
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
 #, c-format
 msgid "%s -- no files to %s"
 msgstr ""
 
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -4266,17 +4290,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
 #, c-format
 msgid "No Next Pool specification found in Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
 #, c-format
 msgid "No Storage specification found in Next Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
 msgid "Storage from Pool's NextPool resource"
 msgstr ""
 
@@ -4284,44 +4308,44 @@ msgstr ""
 msgid "Choose item to prune"
 msgstr ""
 
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
 #, c-format
 msgid "Cannot prune Volume \"%s\" because it is archived.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
 msgid "Pruned Jobs from JobHisto catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
 #, fuzzy
 msgid "Begin pruning Files.\n"
 msgstr "Починається чистка файлів Клієнта \"%s\"\n"
 
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
 msgid "No Files found to prune.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
 #, c-format
 msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
 #, fuzzy, c-format
 msgid "Begin pruning Jobs older than %s.\n"
 msgstr "Починається чистка файлів Клієнта \"%s\"\n"
 
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
 #, c-format
 msgid "Pruned %d %s for client %s from catalog.\n"
 msgstr ""
 
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
 msgid "Jobs"
 msgstr ""
 
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
 msgid "No Jobs found to prune.\n"
 msgstr ""
 
@@ -4344,50 +4368,58 @@ msgstr ""
 msgid "Job queued. JobId=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
 msgid "Job not run.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
 msgid "Level"
 msgstr ""
 
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
 msgid "Restore Client"
 msgstr ""
 
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
 #: src/wx-console/wxbrestorepanel.cpp:854
 #: src/wx-console/wxbrestorepanel.cpp:1918
 msgid "When"
 msgstr ""
 
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
 #: src/wx-console/wxbrestorepanel.cpp:1128
 #: src/wx-console/wxbrestorepanel.cpp:1921
 msgid "Priority"
 msgstr ""
 
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
 msgid "Verify Job"
 msgstr ""
 
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
 #: src/wx-console/wxbrestorepanel.cpp:1899
 msgid "Bootstrap"
 msgstr ""
 
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
 #: src/wx-console/wxbrestorepanel.cpp:1104
 #: src/wx-console/wxbrestorepanel.cpp:1901
 msgid "Where"
 msgstr ""
 
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
 msgid "File Relocation"
 msgstr ""
 
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
 #: src/wx-console/wxbrestorepanel.cpp:1112
 #: src/wx-console/wxbrestorepanel.cpp:1905
 #: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4397,212 +4429,212 @@ msgstr ""
 msgid "Replace"
 msgstr ""
 
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
 msgid "JobId"
 msgstr ""
 
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
 msgid "Plugin Options"
 msgstr ""
 
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
 msgid "user selection"
 msgstr ""
 
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
 msgid ""
 "Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
 msgstr ""
 
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
 msgid "Invalid time, using current time.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
 msgid "Enter new Priority: "
 msgstr ""
 
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
 msgid "Priority must be a positive integer.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
 msgid "Please enter the Bootstrap file name: "
 msgstr ""
 
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
 #, c-format
 msgid "Warning cannot open %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
 msgid "Please enter the full path prefix for restore (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
 msgid "Replace:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
 msgid "Select replace option"
 msgstr ""
 
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
 msgid ""
 "You must set the bootstrap file to NULL to be able to specify a JobId.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
 msgid "Please Plugin Options string: "
 msgstr ""
 
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
 msgid "User input"
 msgstr ""
 
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
 #, c-format
 msgid "Invalid replace option: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
 msgid "This will replace your current Where value\n"
 msgstr ""
 
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
 msgid "Strip prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
 msgid "Add prefix"
 msgstr ""
 
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
 msgid "Add file suffix"
 msgstr ""
 
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
 msgid "Enter a regexp"
 msgstr ""
 
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
 msgid "Test filename manipulation"
 msgstr ""
 
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
 msgid "Use this ?"
 msgstr ""
 
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
 msgid "Please enter the path prefix to strip: "
 msgstr ""
 
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
 msgid "Please enter the path prefix to add (/ for none): "
 msgstr ""
 
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
 msgid "Please enter the file suffix to add: "
 msgstr ""
 
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
 msgid "Please enter a valid regexp (!from!to!): "
 msgstr ""
 
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
 #, c-format
 msgid "regexwhere=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
 #, c-format
 msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
 msgid "Cannot use your regexp\n"
 msgstr ""
 
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
 msgid "Enter a period (.) to stop this test\n"
 msgstr ""
 
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
 msgid "Please enter filename to test: "
 msgstr ""
 
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
 #, c-format
 msgid "%s -> %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
 msgid "Cannot use your regexp.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
 msgid "Levels:\n"
 msgstr ""
 
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
 #: src/lib/util.c:472 src/filed/status.c:519
 msgid "Full"
 msgstr ""
 
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
 #: src/filed/status.c:522
 msgid "Incremental"
 msgstr ""
 
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
 #: src/filed/status.c:525
 msgid "Differential"
 msgstr ""
 
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
 #: src/filed/status.c:528
 msgid "Since"
 msgstr ""
 
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
 msgid "VirtualFull"
 msgstr ""
 
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
 msgid "Select level"
 msgstr ""
 
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
 msgid "Initialize Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
 #: src/filed/status.c:531
 msgid "Verify Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
 msgid "Verify Volume to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
 msgid "Verify Disk to Catalog"
 msgstr ""
 
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
 msgid "Verify Volume Data (not yet implemented)"
 msgstr ""
 
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
 msgid "Level not appropriate for this Job. Cannot be changed.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
 #, c-format
 msgid ""
 "Run Admin Job\n"
@@ -4614,7 +4646,7 @@ msgid ""
 "Priority: %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
 #, c-format
 msgid ""
 "Run Backup job\n"
@@ -4629,12 +4661,12 @@ msgid ""
 "%s%s%s"
 msgstr ""
 
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
 #, fuzzy, c-format
 msgid "Could not get job record for selected JobId. ERR=%s"
 msgstr "Не вдалось відновити прапорці для файлу %s: ERR=%s\n"
 
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
 #, c-format
 msgid ""
 "Run Verify Job\n"
@@ -4650,11 +4682,11 @@ msgid ""
 "Priority:    %d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
 msgid "Please enter a JobId for restore: "
 msgstr ""
 
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4672,7 +4704,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4690,7 +4722,7 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
 #, c-format
 msgid ""
 "Run Restore job\n"
@@ -4698,17 +4730,17 @@ msgid ""
 "Bootstrap:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
 #, c-format
 msgid "RegexWhere: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
 #, c-format
 msgid "Where:      %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
 #, c-format
 msgid ""
 "Replace:         %s\n"
@@ -4721,215 +4753,215 @@ msgid ""
 "Plugin Options:  %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
 msgid "Run Copy job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
 msgid "Run Migration job\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
 #, c-format
 msgid "Unknown Job Type=%d\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
 #, c-format
 msgid "Value missing for keyword %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
 msgid "Job name specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
 msgid "JobId specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
 msgid "Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
 msgid "FileSet specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
 msgid "Level specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
 msgid "Storage specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
 msgid "RegexWhere or Where specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
 msgid "No authorization for \"regexwhere\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
 msgid "Where or RegexWhere specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
 msgid "No authoriztion for \"where\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
 msgid "Bootstrap specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
 msgid "Replace specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
 msgid "When specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
 msgid "Priority specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
 msgid "Priority must be positive nonzero setting it to 10.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
 msgid "Verify Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
 msgid "Migration Job specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
 msgid "Pool specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
 msgid "Restore Client specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
 msgid "Plugin Options not yet implemented.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
 msgid "Plugin Options specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
 msgid "No authoriztion for \"PluginOptions\" specification.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
 msgid "Spool flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
 msgid "Invalid spooldata flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
 msgid "IgnoreDuplicateCheck flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
 msgid "Invalid ignoreduplicatecheck flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
 msgid "Accurate flag specified twice.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
 msgid "Invalid accurate flag.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
 #, c-format
 msgid "Invalid keyword: %s\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
 #, c-format
 msgid "Catalog \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
 #, c-format
 msgid "No authorization. Catalog \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
 #, c-format
 msgid "Job \"%s\" not found\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
 msgid "A job name must be specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
 #, c-format
 msgid "No authorization. Job \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
 #, c-format
 msgid "Pool \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
 #, c-format
 msgid "No authorization. Pool \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
 #, c-format
 msgid "Storage \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
 msgid "No storage specified.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
 #, c-format
 msgid "No authorization. Storage \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
 #, c-format
 msgid "No authorization. Client \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
 #, c-format
 msgid "Restore Client \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
 #, c-format
 msgid "FileSet \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
 #, c-format
 msgid "No authorization. FileSet \"%s\".\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
 #, c-format
 msgid "Verify Job \"%s\" not found.\n"
 msgstr ""
 
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
 #, c-format
 msgid "Migration Job \"%s\" not found.\n"
 msgstr ""
@@ -4986,25 +5018,25 @@ msgstr ""
 msgid "Start Backup JobId %s, Job=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
 #, c-format
 msgid "Unexpected Client Job message: %s\n"
 msgstr ""
 
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
 #, c-format
 msgid "Network error with FD during %s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
 msgid "No Job status returned from FD.\n"
 msgstr ""
 
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
 msgid "Backup failed -- incomplete"
 msgstr ""
 
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5043,19 +5075,19 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
 #, c-format
 msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
 msgstr ""
 
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
 #, c-format
 msgid ""
 "Could not open WriteBootstrap file:\n"
 "%s: ERR=%s\n"
 msgstr ""
 
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
 #, c-format
 msgid "Could not open bootstrap file %s: ERR=%s\n"
 msgstr ""
@@ -5070,39 +5102,39 @@ msgstr "Не вдалось відновити прапорці для файл
 msgid "Could not acquire read storage lock for \"%s\""
 msgstr "Не вдалось відновити прапорці для файлу %s: ERR=%s\n"
 
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
 msgid ""
 "Cannot restore without a bootstrap file.\n"
 "You probably ran a restore job directly. All restore jobs must\n"
 "be run using the restore command.\n"
 msgstr ""
 
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
 #, c-format
 msgid "Start Restore Job %s\n"
 msgstr ""
 
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
 msgid "Restore OK -- warning file count mismatch"
 msgstr ""
 
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
 msgid "Restore OK"
 msgstr ""
 
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
 msgid "Restore OK -- with warnings"
 msgstr ""
 
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
 msgid "*** Restore Error ***"
 msgstr ""
 
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
 msgid "Restore Canceled"
 msgstr ""
 
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
 #, c-format
 msgid ""
 "%s %s %s (%s):\n"
@@ -5131,7 +5163,7 @@ msgstr ""
 msgid "Select daemon type for status"
 msgstr ""
 
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
 #, c-format
 msgid "%s Version: %s (%s) %s %s %s\n"
 msgstr ""
@@ -5141,7 +5173,7 @@ msgstr ""
 msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
 msgstr ""
 
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
 #, c-format
 msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
 msgstr ""
@@ -5198,7 +5230,7 @@ msgstr ""
 msgid "No Scheduled Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
 msgid ""
 "\n"
 "Running Jobs:\n"
@@ -5362,13 +5394,13 @@ msgstr ""
 msgid "No Terminated Jobs.\n"
 msgstr ""
 
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
 msgid ""
 "\n"
 "Terminated Jobs:\n"
 msgstr ""
 
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
 msgid " JobId  Level    Files      Bytes   Status   Finished        Name \n"
 msgstr ""
 
@@ -5376,41 +5408,41 @@ msgstr ""
 msgid "====================================================================\n"
 msgstr ""
 
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
 #: src/filed/status.c:363
 msgid "Created"
 msgstr ""
 
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
 #: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
 msgid "Error"
 msgstr ""
 
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
 msgid "Diffs"
 msgstr ""
 
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
 #: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
 #: src/wx-console/wxbconfigpanel.cpp:209
 msgid "OK"
 msgstr ""
 
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
 #: src/lib/util.c:327
 msgid "OK -- with warnings"
 msgstr ""
 
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
 msgid "Other"
 msgstr ""
 
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
 #, c-format
 msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
 msgstr ""
 
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
 #, c-format
 msgid "%6d  %-6s %8s %10s  %-7s  %-8s %s\n"
 msgstr ""
@@ -5579,7 +5611,7 @@ msgstr ""
 msgid "Job DiffPool override"
 msgstr ""
 
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
 #, c-format
 msgid "Could not create Client record. ERR=%s\n"
 msgstr ""
@@ -5905,7 +5937,17 @@ msgstr ""
 msgid "<stored: bad response to Job command: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:311
+#, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:318
 #, c-format
 msgid ""
 "\n"
@@ -5913,24 +5955,19 @@ msgid ""
 "     %s"
 msgstr ""
 
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
 #, c-format
 msgid ""
 "\n"
 "     Storage daemon didn't accept Device \"%s\" command.\n"
 msgstr ""
 
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
 #, c-format
 msgid "Cannot create message thread: %s\n"
 msgstr ""
 
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
 msgid "Director's comm line to SD dropped.\n"
 msgstr ""
 
@@ -6405,26 +6442,26 @@ msgstr ""
 msgid "Unable to initialize reservation lock. ERR=%s\n"
 msgstr ""
 
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
 #, c-format
 msgid "Hey! num_writers=%d!!!!\n"
 msgstr ""
 
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
 msgid "3939 Could not get dcr\n"
 msgstr ""
 
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
 #, c-format
 msgid "Device reservation failed for JobId=%d: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
 #, c-format
 msgid "Failed command: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
 #, c-format
 msgid ""
 "\n"
@@ -6432,85 +6469,85 @@ msgid ""
 "does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
 #, c-format
 msgid ""
 "\n"
 "     Device \"%s\" requested by DIR could not be opened or does not exist.\n"
 msgstr ""
 
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
 #, c-format
 msgid "3926 Could not get dcr for device: %s\n"
 msgstr ""
 
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
 #, c-format
 msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
 #, c-format
 msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
 msgstr ""
 
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
 #, c-format
 msgid "3603 JobId=%u device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
 #, c-format
 msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
 msgstr ""
 
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
 #, c-format
 msgid ""
 "3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
 "%s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
 #, c-format
 msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
 #, c-format
 msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
 #, c-format
 msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
 msgstr ""
 
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
 #, c-format
 msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
 #, c-format
 msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
 #, c-format
 msgid "Logic error!!!! JobId=%u Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
 #, c-format
 msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
 msgid "Logic error!!!! Should not get here.\n"
 msgstr ""
 
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
 #, c-format
 msgid "3911 JobId=%u failed reserve drive %s.\n"
 msgstr ""
@@ -6642,7 +6679,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
 msgstr ""
 
 #: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
 #, c-format
 msgid "Mount Volume \"%s\" on device %s and press return when ready: "
 msgstr ""
@@ -6937,7 +6974,7 @@ msgstr ""
 msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
 #, c-format
 msgid ""
 "Bootstrap file error: %s\n"
@@ -6945,154 +6982,154 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
 #, c-format
 msgid "Cannot open bootstrap file %s: %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
 #, c-format
 msgid "MediaType %s in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
 #, c-format
 msgid "Device \"%s\" in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
 #, c-format
 msgid "REGEX '%s' compile error. ERR=%s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
 msgid "JobType not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
 msgid "JobLevel not yet implemented\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
 #, c-format
 msgid "Slot %d in bsr at inappropriate place.\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
 #, c-format
 msgid "VolFile     : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
 #, c-format
 msgid "VolBlock    : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
 #, c-format
 msgid "VolAddr    : %llu-%llu\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
 #, c-format
 msgid "FileIndex   : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
 #, c-format
 msgid "FileIndex   : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
 #, c-format
 msgid "JobId       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
 #, c-format
 msgid "JobId       : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
 #, c-format
 msgid "SessId      : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
 #, c-format
 msgid "SessId      : %u-%u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
 #, c-format
 msgid "VolumeName  : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
 #, c-format
 msgid "  MediaType : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
 #, c-format
 msgid "  Device    : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
 #, c-format
 msgid "  Slot      : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
 #, c-format
 msgid "Client      : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
 #, c-format
 msgid "Job          : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
 #, c-format
 msgid "SessTime    : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
 msgid "BSR is NULL\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
 #, c-format
 msgid "Next        : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
 #, c-format
 msgid "Root bsr    : 0x%x\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
 #, c-format
 msgid "count       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
 #, c-format
 msgid "found       : %u\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
 #, c-format
 msgid "done        : %s\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
 #, c-format
 msgid "positioning : %d\n"
 msgstr ""
 
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
 #, c-format
 msgid "fast_reject : %d\n"
 msgstr ""
@@ -7177,7 +7214,7 @@ msgid "Unable to set network buffer size.\n"
 msgstr ""
 
 #: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
 msgid "NULL Volume name. This shouldn't happen!!!\n"
 msgstr ""
 
@@ -7286,7 +7323,7 @@ msgstr ""
 msgid "Volume on %s has bad Bacula label type: %x\n"
 msgstr ""
 
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
 #, c-format
 msgid "Could not reserve volume %s on %s\n"
 msgstr ""
@@ -7296,7 +7333,7 @@ msgstr ""
 msgid "Cannot write Volume label to block for device %s\n"
 msgstr ""
 
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
 #, c-format
 msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
@@ -7462,82 +7499,101 @@ msgstr ""
 msgid "Used Volume status:\n"
 msgstr ""
 
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
 msgid ""
-"====\n"
 "\n"
+"SD Resources:\n"
 msgstr ""
 
-#: src/stored/status.c:128
+#: src/stored/status.c:153
 msgid ""
 "\n"
 "Device status:\n"
 msgstr ""
 
-#: src/stored/status.c:132
+#: src/stored/status.c:157
 #, c-format
 msgid "Autochanger \"%s\" with devices:\n"
 msgstr ""
 
-#: src/stored/status.c:150
+#: src/stored/status.c:177
 #, c-format
 msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
 "    Volume:      %s\n"
 "    Pool:        %s\n"
 "    Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+msgid "*unknown*"
+msgstr ""
+
+#: src/stored/status.c:188
 #, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
 msgstr ""
 
-#: src/stored/status.c:171
+#: src/stored/status.c:199
 #, c-format
 msgid "    Total Bytes=%s Blocks=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:186
+#: src/stored/status.c:214
 #, c-format
 msgid "    Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:192
+#: src/stored/status.c:220
 #, c-format
 msgid "    Positioned at File=%s Block=%s\n"
 msgstr ""
 
-#: src/stored/status.c:199
+#: src/stored/status.c:227
 #, c-format
-msgid "Device %s is not open.\n"
+msgid ""
+"\n"
+"Device %s is not open.\n"
 msgstr ""
 
-#: src/stored/status.c:203
+#: src/stored/status.c:231
 #, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
 msgstr ""
 
-#: src/stored/status.c:225
+#: src/stored/status.c:255
 #, c-format
 msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
 msgstr ""
 
-#: src/stored/status.c:248
+#: src/stored/status.c:293
 msgid ""
 "No DEVICE structure.\n"
 "\n"
 msgstr ""
 
-#: src/stored/status.c:254
+#: src/stored/status.c:299
 msgid "    Device is BLOCKED. User unmounted.\n"
 msgstr ""
 
-#: src/stored/status.c:258
+#: src/stored/status.c:303
 msgid "    Device is BLOCKED. User unmounted during wait for media/mount.\n"
 msgstr ""
 
-#: src/stored/status.c:270
+#: src/stored/status.c:313
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7545,7 +7601,7 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:279
+#: src/stored/status.c:322
 #, c-format
 msgid ""
 "    Device is BLOCKED waiting to create a volume for:\n"
@@ -7553,172 +7609,165 @@ msgid ""
 "       Media type:  %s\n"
 msgstr ""
 
-#: src/stored/status.c:291
+#: src/stored/status.c:333
 msgid "    Device is BLOCKED waiting for media.\n"
 msgstr ""
 
-#: src/stored/status.c:297
+#: src/stored/status.c:339
 msgid "    Device is being initialized.\n"
 msgstr ""
 
-#: src/stored/status.c:301
+#: src/stored/status.c:343
 msgid "    Device is blocked labeling a Volume.\n"
 msgstr ""
 
-#: src/stored/status.c:310
+#: src/stored/status.c:352
 #, c-format
-msgid "    Slot %d is loaded in drive %d.\n"
+msgid "    Slot %d %s loaded in drive %d.\n"
 msgstr ""
 
-#: src/stored/status.c:314
+#: src/stored/status.c:356
 #, c-format
 msgid "    Drive %d is not loaded.\n"
 msgstr ""
 
-#: src/stored/status.c:317
-#, c-format
-msgid "    Drive %d status unknown.\n"
-msgstr ""
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
 #, c-format
 msgid "Configured device capabilities:\n"
 msgstr ""
 
-#: src/stored/status.c:349
+#: src/stored/status.c:389
 msgid "Device state:\n"
 msgstr ""
 
-#: src/stored/status.c:367
+#: src/stored/status.c:405
 #, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid "  num_writers=%d reserves=%d block=%d\n"
 msgstr ""
 
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:409
+msgid "Attached Jobs: "
+msgstr ""
+
+#: src/stored/status.c:427 src/stored/btape.c:720
 #, c-format
 msgid "Device parameters:\n"
 msgstr ""
 
-#: src/stored/status.c:374
+#: src/stored/status.c:429
 #, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid "  Archive name: %s Device name: %s\n"
 msgstr ""
 
-#: src/stored/status.c:378
+#: src/stored/status.c:432
 #, c-format
-msgid "File=%u block=%u\n"
+msgid "  File=%u block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:381
+#: src/stored/status.c:434
 #, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid "  Min block=%u Max block=%u\n"
 msgstr ""
 
-#: src/stored/status.c:401
+#: src/stored/status.c:455
 #, c-format
 msgid "%s Job %s waiting for Client connection.\n"
 msgstr ""
 
-#: src/stored/status.c:417
+#: src/stored/status.c:471
 #, c-format
 msgid ""
 "Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:430
+#: src/stored/status.c:484
 #, c-format
 msgid ""
 "Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
 "    pool=\"%s\" device=%s\n"
 msgstr ""
 
-#: src/stored/status.c:441
+#: src/stored/status.c:495
 #, c-format
 msgid "    spooling=%d despooling=%d despool_wait=%d\n"
 msgstr ""
 
-#: src/stored/status.c:450
+#: src/stored/status.c:511
 #, c-format
-msgid "    Files=%s Bytes=%s Bytes/sec=%s\n"
+msgid "    Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
 msgstr ""
 
-#: src/stored/status.c:458
+#: src/stored/status.c:523
 #, c-format
 msgid "    FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
 msgstr ""
 
-#: src/stored/status.c:464
+#: src/stored/status.c:529
 msgid "    FDSocket closed\n"
 msgstr ""
 
-#: src/stored/status.c:485
+#: src/stored/status.c:550
 msgid ""
 "\n"
 "Jobs waiting to reserve a drive:\n"
 msgstr ""
 
-#: src/stored/status.c:516
+#: src/stored/status.c:581
 msgid "===================================================================\n"
 msgstr ""
 
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
 msgid "Base"
 msgstr ""
 
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
 msgid "Init Catalog"
 msgstr ""
 
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
 msgid "Volume to Catalog"
 msgstr ""
 
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
 msgid "Disk to Catalog"
 msgstr ""
 
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
 msgid "Data"
 msgstr ""
 
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
 msgid "Unknown Job Level"
 msgstr ""
 
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
 #, c-format
-msgid "Bad .status command: %s\n"
+msgid "3900 No arg in .status command: %s\n"
 msgstr ""
 
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
-msgstr ""
-
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
-msgstr ""
+#: src/stored/status.c:811
+#, fuzzy, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
+msgstr "Невідомий статус задачі %c. "
 
-#: src/stored/status.c:760
+#: src/stored/status.c:826
 msgid "Bacula Storage: Idle"
 msgstr ""
 
-#: src/stored/status.c:771
+#: src/stored/status.c:837
 msgid "Bacula Storage: Running"
 msgstr ""
 
-#: src/stored/status.c:785
+#: src/stored/status.c:851
 msgid "Bacula Storage: Last Job Canceled"
 msgstr ""
 
-#: src/stored/status.c:789
+#: src/stored/status.c:855
 msgid "Bacula Storage: Last Job Failed"
 msgstr ""
 
-#: src/stored/status.c:793
+#: src/stored/status.c:859
 msgid "Bacula Storage: Last Job had Warnings"
 msgstr ""
 
@@ -7819,7 +7868,7 @@ msgid "%u files restored.\n"
 msgstr ""
 
 #: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
 #, c-format
 msgid "Write error on %s: %s\n"
 msgstr ""
@@ -7828,7 +7877,7 @@ msgstr ""
 msgid "Logic error output file should be open but is not.\n"
 msgstr ""
 
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
 #, c-format
 msgid "%s stream not supported on this Client.\n"
 msgstr ""
@@ -7844,7 +7893,7 @@ msgid "Seek error on %s: %s\n"
 msgstr ""
 
 #: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
 #, c-format
 msgid "Seek to %s error on %s: ERR=%s\n"
 msgstr ""
@@ -7854,16 +7903,16 @@ msgstr ""
 msgid "Uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
 msgid "GZIP data stream found, but GZIP not configured!\n"
 msgstr ""
 
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
 #, c-format
 msgid "Compressed header version error. version=0x%x\n"
 msgstr ""
 
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
 #, c-format
 msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
 msgstr ""
@@ -7873,7 +7922,7 @@ msgstr ""
 msgid "LZO uncompression error. ERR=%d\n"
 msgstr ""
 
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
 #, c-format
 msgid "Compression algorithm 0x%x found, but not supported!\n"
 msgstr ""
@@ -7882,7 +7931,7 @@ msgstr ""
 msgid "Got Program Name or Data Stream. Ignored.\n"
 msgstr ""
 
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
 #, c-format
 msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
 msgstr ""
@@ -8072,125 +8121,125 @@ msgstr ""
 msgid "Unexpected Tape is Off-line\n"
 msgstr ""
 
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
 #, c-format
 msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
 #, c-format
 msgid "No volumes specified for reading. Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
 #, c-format
 msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
 msgstr ""
 
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
 #, c-format
 msgid ""
 "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
 "  device=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
 #, c-format
 msgid "Media Type change.  New read device %s chosen.\n"
 msgstr ""
 
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
 #, c-format
 msgid "No suitable device found to read Volume \"%s\"\n"
 msgstr ""
 
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
 #, c-format
 msgid "Job %s canceled.\n"
 msgstr ""
 
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
 #, c-format
 msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
 #, c-format
 msgid "Too many errors trying to mount device %s for reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
 #, c-format
 msgid "Ready to read from volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
 #, c-format
 msgid "Want to append, but device %s is busy reading.\n"
 msgstr ""
 
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
 #, c-format
 msgid "Could not ready device %s for append.\n"
 msgstr ""
 
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
 #: src/stored/block.c:769 src/stored/block.c:847
 #, c-format
 msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
 msgstr ""
 
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
 #, c-format
 msgid "Alert: %s"
 msgstr ""
 
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
 #, c-format
 msgid "3997 Bad alert command: %s: ERR=%s.\n"
 msgstr ""
 
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
 #: src/lib/openssl.c:122 src/lib/openssl.c:181
 #, c-format
 msgid "Unable to init mutex: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
+
+#: src/stored/askdir.c:179
 msgid "Network error on bnet_recv in req_vol_info.\n"
 msgstr ""
 
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
 #, c-format
 msgid "Error getting Volume info: %s"
 msgstr ""
 
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
 #, c-format
 msgid "Didn't get vol info vol=%s: ERR=%s"
 msgstr ""
 
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
 #, c-format
 msgid "Error creating JobMedia record: ERR=%s\n"
 msgstr ""
 
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
 #, c-format
 msgid "Error creating JobMedia record: %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
 msgstr ""
 
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
 #, c-format
 msgid ""
 "Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8200,45 +8249,45 @@ msgid ""
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
 #, c-format
 msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
 msgid "pthread error in mount_next_volume.\n"
 msgstr ""
 
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
 msgid "Cannot request another volume: no volume name given.\n"
 msgstr ""
 
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
 #, c-format
 msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
 msgstr ""
 
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
 #, c-format
 msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
 "    Job:          %s\n"
 "    Storage:      %s\n"
 "    Pool:         %s\n"
 "    Media type:   %s\n"
 msgstr ""
 
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
 msgid "pthread error in mount_volume\n"
 msgstr ""
 
@@ -8581,32 +8630,32 @@ msgstr ""
 msgid "Attempt to open read on non-open session.\n"
 msgstr ""
 
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
 #, c-format
 msgid "Too many errors trying to mount device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
 #, c-format
 msgid "Job %d canceled.\n"
 msgstr ""
 
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
 #, c-format
 msgid "Volume \"%s\" previously written, moving to end of data.\n"
 msgstr ""
 
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
 #, c-format
 msgid "Unable to position to end of data on device %s: ERR=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
 #, c-format
 msgid "Volume \"%s\" not on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
 #, c-format
 msgid ""
 "Director wanted Volume \"%s\".\n"
@@ -8614,24 +8663,24 @@ msgid ""
 "    %s"
 msgstr ""
 
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
 #, c-format
 msgid ""
 "Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
 msgstr ""
 
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8639,23 +8688,23 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
 msgid "Error updating Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
 #, c-format
 msgid ""
 "Bacula cannot write on tape Volume \"%s\" because:\n"
 "The number of files mismatch! Volume=%u Catalog=%u\n"
 msgstr ""
 
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
 #, c-format
 msgid "Ready to append to end of Volume \"%s\" size=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
 #, c-format
 msgid ""
 "For Volume \"%s\":\n"
@@ -8663,46 +8712,46 @@ msgid ""
 "Correcting Catalog\n"
 msgstr ""
 
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
 #, c-format
 msgid ""
 "Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
 "Volume=%s Catalog=%s\n"
 msgstr ""
 
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
 #, c-format
 msgid "Labeled new Volume \"%s\" on device %s.\n"
 msgstr ""
 
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
 #, c-format
 msgid "Device %s not configured to autolabel Volumes.\n"
 msgstr ""
 
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
 #, c-format
 msgid "Marking Volume \"%s\" in Error in Catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
 #, c-format
 msgid ""
 "Autochanger Volume \"%s\" not found in slot %d.\n"
 "    Setting InChanger to zero in catalog.\n"
 msgstr ""
 
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
 msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
 msgstr ""
 
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
 #, c-format
 msgid ""
 "Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
 msgstr ""
 
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
 #, c-format
 msgid "Cannot open Dev=%s, Vol=%s\n"
 msgstr ""
@@ -8788,7 +8837,7 @@ msgid ""
 "Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
 msgstr ""
 
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
 #, c-format
 msgid "Ftruncate spool file failed: ERR=%s\n"
 msgstr ""
@@ -8818,77 +8867,86 @@ msgstr ""
 msgid "Spool data read error. Wanted %u bytes, got %d\n"
 msgstr ""
 
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:489
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
+msgstr ""
+
+#: src/stored/spool.c:492
 msgid "Bad return from despool in write_block.\n"
 msgstr ""
 
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
 msgid "Spooling data again ...\n"
 msgstr ""
 
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
 #, c-format
 msgid "Error writing header to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
 #, c-format
 msgid ""
 "Error writing header to spool file. Disk probably full. Attempting recovery. "
 "Wanted to write=%d got=%d\n"
 msgstr ""
 
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
 msgid "Fatal despooling error."
 msgstr ""
 
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
 msgid "Retrying after header spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
 #, c-format
 msgid "Error writing data to spool file. ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
 msgid "Retrying after data spooling error failed.\n"
 msgstr ""
 
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
 msgid "Network error on BlastAttributes.\n"
 msgstr ""
 
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
 #, c-format
 msgid "Fseek on attributes file failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
 #, fuzzy, c-format
 msgid "Truncate on attributes file failed: ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
 #, c-format
 msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
 msgstr ""
 
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
 #, c-format
 msgid "fopen attr spool file %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
 #, c-format
 msgid "pthread_cond_wait failure. ERR=%s\n"
 msgstr ""
 
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
 msgid "unknown blocked code"
 msgstr ""
 
@@ -9008,6 +9066,21 @@ msgstr ""
 msgid "Unable to init cond variable: ERR=%s\n"
 msgstr ""
 
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
+
 #: src/stored/dev.c:416
 msgid "Illegal mode given to open dev.\n"
 msgstr ""
@@ -9356,7 +9429,7 @@ msgstr ""
 msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
 msgstr ""
 
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
 msgstr ""
@@ -9414,107 +9487,107 @@ msgstr ""
 msgid "Got Prog Data Stream record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
 #, c-format
 msgid "Unknown stream type!!! stream=%d len=%i\n"
 msgstr ""
 
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
 #, c-format
 msgid "Could not create File Attributes record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
 #, c-format
 msgid "Created File record: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
 #, c-format
 msgid "Could not create media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
 #, c-format
 msgid "Could not update media record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
 #, c-format
 msgid "Created Media record for Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
 #, c-format
 msgid "Updated Media record at end of Volume: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
 #, c-format
 msgid "Could not create pool record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
 #, c-format
 msgid "Created Pool record for Pool: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
 #, c-format
 msgid "Could not get Client record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
 #, c-format
 msgid "Created Client record for Client: %s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
 #, c-format
 msgid "Fileset \"%s\" already exists.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
 #, c-format
 msgid "Could not create FileSet record \"%s\". ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
 #, c-format
 msgid "Created FileSet record \"%s\"\n"
 msgstr ""
 
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
 #, c-format
 msgid "Could not create JobId record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
 #, c-format
 msgid "Could not update job start record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
 #, c-format
 msgid "Created new JobId=%u record for original JobId=%u\n"
 msgstr ""
 
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
 #, c-format
 msgid "Could not update JobId=%u record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
 #, c-format
 msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
 msgstr ""
 
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
 #, c-format
 msgid "Job Termination code: %d"
 msgstr ""
 
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
 #, c-format
 msgid ""
 "%s\n"
@@ -9534,27 +9607,27 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
 #, c-format
 msgid "Could not create JobMedia record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
 #, c-format
 msgid "Created JobMedia record JobId %d, MediaId %d\n"
 msgstr ""
 
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
 #, c-format
 msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
 msgstr ""
 
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
 #, c-format
 msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
 msgstr ""
 
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
 msgid "Updated MD5/SHA1 record\n"
 msgstr ""
 
@@ -11652,40 +11725,40 @@ msgstr ""
 "Для отримання допомоги, будь ласка, перегляньте http://www.bacula.org/en/rel-"
 "manual/Bacula_Freque_Asked_Questi.html#SECTION003760000000000000000.\n"
 
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
 #, c-format
 msgid "Could not open console message file %s: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:376
+#: src/lib/message.c:377
 #, c-format
 msgid "Could not get con mutex: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:481
+#: src/lib/message.c:482
 msgid "Bacula Message"
 msgstr ""
 
-#: src/lib/message.c:485
+#: src/lib/message.c:486
 #, c-format
 msgid "open mail pipe %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:553
+#: src/lib/message.c:577
 msgid "open mail pipe failed.\n"
 msgstr ""
 
-#: src/lib/message.c:565
+#: src/lib/message.c:590
 #, c-format
 msgid "close error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:576
+#: src/lib/message.c:601
 #, c-format
 msgid "Mail prog: %s"
 msgstr ""
 
-#: src/lib/message.c:585
+#: src/lib/message.c:610
 #, c-format
 msgid ""
 "Mail program terminated in error.\n"
@@ -11693,12 +11766,16 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:684
+#: src/lib/message.c:713
 #, c-format
 msgid "fopen %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
 #, c-format
 msgid ""
 "Msg delivery error: Operator mail program terminated in error.\n"
@@ -11706,77 +11783,77 @@ msgid ""
 "ERR=%s\n"
 msgstr ""
 
-#: src/lib/message.c:878
+#: src/lib/message.c:911
 #, fuzzy, c-format
 msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
 #, c-format
 msgid "%s: ABORTING due to ERROR in %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
 #, c-format
 msgid "%s: ERROR TERMINATION at %s:%d\n"
 msgstr ""
 
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
 #, c-format
 msgid "%s: Fatal Error because: "
 msgstr ""
 
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
 #, c-format
 msgid "%s: Fatal Error at %s:%d because:\n"
 msgstr ""
 
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
 #, c-format
 msgid "%s: ERROR: "
 msgstr ""
 
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
 #, c-format
 msgid "%s: ERROR in %s:%d "
 msgstr ""
 
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
 #, c-format
 msgid "%s: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
 #, c-format
 msgid "%s: Security violation: "
 msgstr ""
 
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
 #, c-format
 msgid "%s ABORTING due to ERROR\n"
 msgstr ""
 
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
 #, c-format
 msgid "%s ERROR TERMINATION\n"
 msgstr ""
 
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
 #, c-format
 msgid "%s JobId %u: Fatal error: "
 msgstr ""
 
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
 #, c-format
 msgid "%s JobId %u: Error: "
 msgstr ""
 
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
 #, c-format
 msgid "%s JobId %u: Warning: "
 msgstr ""
 
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
 #, c-format
 msgid "%s JobId %u: Security violation: "
 msgstr ""
@@ -11830,71 +11907,6 @@ msgstr ""
 msgid "Could not destroy client queue: ERR=%s\n"
 msgstr ""
 
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
 #: src/lib/bpipe.c:361 src/lib/bpipe.c:444
 msgid "Program killed by Bacula (timeout)\n"
 msgstr ""
@@ -12344,7 +12356,7 @@ msgstr ""
 msgid "Truncate"
 msgstr ""
 
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
 msgid "None"
 msgstr ""
 
@@ -12394,7 +12406,7 @@ msgstr ""
 
 #: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
 #: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
 msgid "*none*"
 msgstr ""
 
@@ -12606,20 +12618,20 @@ msgstr ""
 msgid "pthread_setspecific failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Storage "
 "daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
 msgstr ""
 
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
 #, c-format
 msgid ""
 "Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -12805,203 +12817,271 @@ msgstr ""
 msgid "Invalid errno. No error message possible."
 msgstr ""
 
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
 #: src/lib/signal.c:67
 msgid "Invalid signal number"
 msgstr ""
 
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
 #, c-format
 msgid "Bacula interrupted by signal %d: %s\n"
 msgstr ""
 
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
 #, c-format
 msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
 msgstr ""
 
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
 #, c-format
 msgid "Kaboom! exepath=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
 #, c-format
 msgid "Fork error: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
 #, c-format
 msgid "Calling: %s %s %s %s\n"
 msgstr ""
 
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
 #, c-format
 msgid "execv: %s failed: ERR=%s\n"
 msgstr ""
 
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
 #, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
 msgstr ""
 
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
 #, c-format
 msgid "BA_NSIG too small (%d) should be (%d)\n"
 msgstr ""
 
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
 msgid "UNKNOWN SIGNAL"
 msgstr ""
 
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
 msgid "Hangup"
 msgstr ""
 
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
 msgid "Interrupt"
 msgstr ""
 
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
 msgid "Quit"
 msgstr ""
 
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
 msgid "Illegal instruction"
 msgstr ""
 
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
 msgid "Trace/Breakpoint trap"
 msgstr ""
 
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
 msgid "Abort"
 msgstr ""
 
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
 msgid "EMT instruction (Emulation Trap)"
 msgstr ""
 
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
 msgid "IOT trap"
 msgstr ""
 
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
 msgid "BUS error"
 msgstr ""
 
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
 msgid "Floating-point exception"
 msgstr ""
 
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
 msgid "Kill, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
 msgid "User-defined signal 1"
 msgstr ""
 
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
 msgid "Segmentation violation"
 msgstr ""
 
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
 msgid "User-defined signal 2"
 msgstr ""
 
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
 msgid "Broken pipe"
 msgstr ""
 
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
 msgid "Alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
 msgid "Termination"
 msgstr ""
 
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
 msgid "Stack fault"
 msgstr ""
 
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
 msgid "Child status has changed"
 msgstr ""
 
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
 msgid "Continue"
 msgstr ""
 
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
 msgid "Stop, unblockable"
 msgstr ""
 
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
 msgid "Keyboard stop"
 msgstr ""
 
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
 msgid "Background read from tty"
 msgstr ""
 
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
 msgid "Background write to tty"
 msgstr ""
 
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
 msgid "Urgent condition on socket"
 msgstr ""
 
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
 msgid "CPU limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
 msgid "File size limit exceeded"
 msgstr ""
 
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
 msgid "Virtual alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
 msgid "Profiling alarm clock"
 msgstr ""
 
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
 msgid "Window size change"
 msgstr ""
 
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
 msgid "I/O now possible"
 msgstr ""
 
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
 msgid "Power failure restart"
 msgstr ""
 
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
 msgid "No runnable lwp"
 msgstr ""
 
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
 msgid "SIGLWP special signal used by thread library"
 msgstr ""
 
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
 msgid "Checkpoint Freeze"
 msgstr ""
 
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
 msgid "Checkpoint Thaw"
 msgstr ""
 
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
 msgid "Thread Cancellation"
 msgstr ""
 
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
 msgid "Resource Lost (e.g. record-lock lost)"
 msgstr ""
 
@@ -13027,47 +13107,47 @@ msgstr ""
 msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
 msgstr "Не вдалось створити %s: ERR=%s\n"
 
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
 #, c-format
 msgid "Out of memory: ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
 msgid "Buffer overflow.\n"
 msgstr ""
 
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
 msgid "Bad errno"
 msgstr ""
 
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
 #, c-format
 msgid "Memset for %d bytes at %s:%d\n"
 msgstr ""
 
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
 #, c-format
 msgid "Cannot open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
 #, c-format
 msgid ""
 "%s is already running. pid=%d\n"
 "Check file %s\n"
 msgstr ""
 
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
 #, c-format
 msgid "Could not open pid file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
 #, c-format
 msgid "Could not create state file. %s ERR=%s\n"
 msgstr ""
 
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
 #, c-format
 msgid "Write final hdr error: ERR=%s\n"
 msgstr ""
@@ -13115,98 +13195,98 @@ msgstr ""
 msgid "Close of NULL file\n"
 msgstr ""
 
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
 msgid ""
 "get_char: called after EOF. You may have a open double quote without the "
 "closing double quote.\n"
 msgstr ""
 
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
 #, c-format
 msgid "Config token too long, file: %s, line %d, begins at line %d\n"
 msgstr ""
 
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
 msgid "none"
 msgstr ""
 
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
 msgid "comment"
 msgstr ""
 
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
 msgid "number"
 msgstr ""
 
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
 msgid "ip_addr"
 msgstr ""
 
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
 msgid "identifier"
 msgstr ""
 
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
 msgid "string"
 msgstr ""
 
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
 msgid "quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
 msgid "include"
 msgstr ""
 
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
 msgid "include_quoted_string"
 msgstr ""
 
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
 msgid "UTF-8 Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
 msgid "UTF-16le Byte Order Mark"
 msgstr ""
 
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
 #, c-format
 msgid "expected a positive integer number, got: %s"
 msgstr ""
 
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
 msgid ""
 "This config file appears to be in an unsupported Unicode format (UTF-16be). "
 "Please resave as UTF-8\n"
 msgstr ""
 
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
 #, c-format
 msgid "Cannot open included config file %s: %s\n"
 msgstr ""
 
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
 #, c-format
 msgid "expected an integer or a range, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
 #, c-format
 msgid "expected an integer number, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
 #, c-format
 msgid "expected a name, got %s: %s"
 msgstr ""
 
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
 #, c-format
 msgid "name %s length %d too long, max is %d\n"
 msgstr ""
 
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
 #, c-format
 msgid "expected a string, got %s: %s"
 msgstr ""
@@ -13896,45 +13976,60 @@ msgstr "Специфічні атрибути FreeBSD Access ACL"
 
 #: src/findlib/bfile.c:191
 #, fuzzy
+msgid "GNU Hurd Specific Default ACL attribs"
+msgstr "Специфічні атрибути Irix Default ACL"
+
+#: src/findlib/bfile.c:193
+#, fuzzy
+msgid "GNU Hurd Specific Access ACL attribs"
+msgstr "Специфічні атрибути Irix Access ACL"
+
+#: src/findlib/bfile.c:195
+#, fuzzy
+msgid "GNU Hurd Specific Extended attribs"
+msgstr "Специфічні додаткові атрибути Linux"
+
+#: src/findlib/bfile.c:197
+#, fuzzy
 msgid "IRIX Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути Linux"
 
-#: src/findlib/bfile.c:193
+#: src/findlib/bfile.c:199
 #, fuzzy
 msgid "TRU64 Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути Linux"
 
-#: src/findlib/bfile.c:195
+#: src/findlib/bfile.c:201
 #, fuzzy
 msgid "AIX Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути Linux"
 
-#: src/findlib/bfile.c:197
+#: src/findlib/bfile.c:203
 #, fuzzy
 msgid "OpenBSD Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути NetBSD"
 
-#: src/findlib/bfile.c:199
+#: src/findlib/bfile.c:205
 msgid "Solaris Specific Extensible attribs or System Extended attribs"
 msgstr ""
 
-#: src/findlib/bfile.c:201
+#: src/findlib/bfile.c:207
 msgid "Solaris Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути Solaris"
 
-#: src/findlib/bfile.c:203
+#: src/findlib/bfile.c:209
 msgid "Darwin Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути Darwin"
 
-#: src/findlib/bfile.c:205
+#: src/findlib/bfile.c:211
 msgid "FreeBSD Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути FreeBS"
 
-#: src/findlib/bfile.c:207
+#: src/findlib/bfile.c:213
 msgid "Linux Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути Linux"
 
-#: src/findlib/bfile.c:209
+#: src/findlib/bfile.c:215
 msgid "NetBSD Specific Extended attribs"
 msgstr "Специфічні додаткові атрибути NetBSD"
 
@@ -13948,27 +14043,27 @@ msgstr ""
 msgid "Unknown include/exclude option: %c\n"
 msgstr "Не зрозуміла опція параметру include/exclude: %c\n"
 
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
 #, c-format
 msgid "     NODUMP flag set - will not process %s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
 #, c-format
 msgid "Cannot stat file %s: ERR=%s\n"
 msgstr ""
 
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
 #, c-format
 msgid "%s mtime changed during backup.\n"
 msgstr "%s mtime змінився під час резервування.\n"
 
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
 #, c-format
 msgid "%s ctime changed during backup.\n"
 msgstr "%s ctime змінився під час резервування.\n"
 
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
 #, c-format
 msgid "%s size changed during backup.\n"
 msgstr "%s розмір змінився під час резервування.\n"
@@ -15755,6 +15850,11 @@ msgstr ""
 msgid " SDSocket=closed\n"
 msgstr ""
 
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
 #: src/filed/status.c:464
 msgid "2900 Bad .status command, missing argument.\n"
 msgstr ""
@@ -15783,276 +15883,276 @@ msgstr ""
 msgid "Bacula Client: Last Job had Warnings"
 msgstr ""
 
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
 #: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
 #, c-format
 msgid "Network send error to SD. ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
 #, c-format
 msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
 #, c-format
 msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
 #, fuzzy, c-format
 msgid "llistea error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
 #, fuzzy, c-format
 msgid "lgetea error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
 #, c-format
 msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
 msgstr ""
 
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
 #, c-format
 msgid "Failed to serialize extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
 #, fuzzy, c-format
 msgid "lsetea error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
 #, fuzzy, c-format
 msgid "attr_list error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
 #, c-format
 msgid "Received illegal xattr named %s on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
 #, fuzzy, c-format
 msgid "attr_set error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
 #, c-format
 msgid "llistxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
 #, c-format
 msgid "lgetxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
 #, c-format
 msgid "lsetxattr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
 #, fuzzy, c-format
 msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
 #, c-format
 msgid "Failed to convert %d into namespace on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
 #, fuzzy, c-format
 msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
 #, c-format
 msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
 #, c-format
 msgid "Failed to convert %s into namespace on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
 #, fuzzy, c-format
 msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
 #, fuzzy, c-format
 msgid "getproplist error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
 #, c-format
 msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
 #, fuzzy, c-format
 msgid "setproplist error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
 #, c-format
 msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
 #, c-format
 msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
 #, c-format
 msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
 #, c-format
 msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
 #, c-format
 msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
 #, c-format
 msgid "Unable to read content of xattr %s on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
 #, c-format
 msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
 #, c-format
 msgid "Unable to open file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
 #, c-format
 msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
 #, c-format
 msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
 #, c-format
 msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
 #, c-format
 msgid "Unable to convert acl from text on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
 #, c-format
 msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
 #, c-format
 msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
 #, c-format
 msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
 #, c-format
 msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
 #, c-format
 msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
 #, c-format
 msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
 #, c-format
 msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
 #, c-format
 msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
 #, c-format
 msgid ""
 "Unable to restore data of xattr %s on file \"%s\": Not all data available in "
 "xattr stream\n"
 msgstr ""
 
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
 #, c-format
 msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
 #, c-format
 msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
 #, c-format
 msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
 #, c-format
 msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
 #, c-format
 msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
 #, c-format
 msgid "Failed to restore extensible attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
 #, c-format
 msgid "Failed to restore extended attributes on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
 #, fuzzy, c-format
 msgid "Unable to stat file \"%s\": ERR=%s\n"
 msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
 
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
 #, c-format
 msgid ""
 "Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16191,189 +16291,189 @@ msgstr ""
 msgid "No Director resource defined in %s\n"
 msgstr ""
 
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
 #, fuzzy, c-format
 msgid "aclx_get error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
 #, fuzzy, c-format
 msgid "Unknown acl type encountered on file \"%s\": %ld\n"
 msgstr "Невідомий тип файлу %d: не відновлено: %s\n"
 
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
 #, fuzzy, c-format
 msgid "Failed to convert acl into text on file \"%s\"\n"
 msgstr "Ініціалізація контексту TLS для Консолі невдала \"%s\".\n"
 
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
 #, fuzzy, c-format
 msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
 #, fuzzy, c-format
 msgid "aclx_put error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
 #, c-format
 msgid "acl_to_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
 #, c-format
 msgid "acl_get_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
 #, c-format
 msgid ""
 "acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
 #, c-format
 msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
 #, c-format
 msgid "acl_from_text error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
 #, fuzzy, c-format
 msgid "acl_valid error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
 #, c-format
 msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
 #, c-format
 msgid "acl_set_file error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
 #, c-format
 msgid "pathconf error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
 #, c-format
 msgid "getacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
 #, c-format
 msgid "acltostr error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
 #, c-format
 msgid "strtoacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
 #, c-format
 msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
 msgstr ""
 
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
 #, c-format
 msgid "setacl error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
 #, c-format
 msgid "acl_get error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
 #, c-format
 msgid ""
 "Trying to restore acl on file \"%s\" on filesystem without acl support\n"
 msgstr ""
 
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
 #, c-format
 msgid ""
 "Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
 #, c-format
 msgid ""
 "Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
 "support\n"
 msgstr ""
 
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
 #, c-format
 msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
 #, c-format
 msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
 msgstr ""
 
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
 #, c-format
 msgid "acl_set error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
 #, c-format
 msgid "acltotext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
 #, c-format
 msgid "aclfromtext error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
 #, c-format
 msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
 msgstr ""
 
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
 #, fuzzy, c-format
 msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
 #, fuzzy, c-format
 msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
 #, c-format
 msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
 msgstr ""
@@ -16382,17 +16482,17 @@ msgstr ""
 msgid "Storage command not issued before Verify.\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
 #, c-format
 msgid "Record header scan error: %s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
 #, c-format
 msgid "Data record error. ERR=%s\n"
 msgstr ""
 
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
 #, c-format
 msgid "Actual data size %d not same as header %d\n"
 msgstr ""
@@ -16552,7 +16652,7 @@ msgstr ""
 msgid "Invalid file flags, no supported data stream type.\n"
 msgstr ""
 
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
 #, c-format
 msgid "VSS Writer (BackupComplete): %s\n"
 msgstr ""
@@ -16572,193 +16672,193 @@ msgstr ""
 msgid "Could not set Finder Info on %s\n"
 msgstr "Не вдалось перевстановити прапорці для файлу %s: ERR=%s\n"
 
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
 #, fuzzy
 msgid "LZO init failed\n"
 msgstr "Невдале встановлення з'єднання TLS\n"
 
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
 msgid "Unexpected cryptographic session data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
 msgid ""
 "No private decryption keys have been defined to decrypt encrypted backup "
 "data.\n"
 msgstr ""
 
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
 msgid "Could not create digest.\n"
 msgstr "Не можливо створити відбиток.\n"
 
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
 msgid "Missing private key required to decrypt encrypted backup data.\n"
 msgstr ""
 
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
 msgid "Decrypt of the session key failed.\n"
 msgstr ""
 
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
 #, c-format
 msgid "An error occurred while decoding encrypted session data stream: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
 #, c-format
 msgid "Missing encryption session data stream for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
 #, c-format
 msgid "Failed to initialize decryption context for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
 #, fuzzy, c-format
 msgid "Cannot open resource fork for %s.\n"
 msgstr "Не вдається відкрити файл %s для виведення. ERR=%s\n"
 
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
 msgid "Unexpected cryptographic signature data stream.\n"
 msgstr ""
 
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
 #, c-format
 msgid "Failed to decode message signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
 #, c-format
 msgid "Encountered %ld acl errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
 #, c-format
 msgid "Encountered %ld xattr errors while doing restore\n"
 msgstr ""
 
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
 #, c-format
 msgid ""
 "%d non-supported data streams and %d non-supported attrib streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
 #, c-format
 msgid "%d non-supported resource fork streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
 #, c-format
 msgid "%d non-supported Finder Info streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
 #, c-format
 msgid "%d non-supported acl streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
 #, c-format
 msgid "%d non-supported crypto streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
 #, c-format
 msgid "%d non-supported xattr streams ignored.\n"
 msgstr ""
 
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
 msgid "Zlib errno"
 msgstr ""
 
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
 msgid "Zlib stream error"
 msgstr ""
 
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
 msgid "Zlib data error"
 msgstr ""
 
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
 msgid "Zlib memory error"
 msgstr ""
 
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
 msgid "Zlib buffer error"
 msgstr ""
 
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
 msgid "Zlib version error"
 msgstr ""
 
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
 #, c-format
 msgid "Missing cryptographic signature for %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
 #, c-format
 msgid "Signature validation failed for file %s: ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
 #, c-format
 msgid "Digest one file failed for file: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
 #, c-format
 msgid "Signature validation failed for %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
 #, fuzzy, c-format
 msgid "LZO uncompression error on file %s. ERR=%d\n"
 msgstr "Помилка у %s файл %s: ERR=%s\n"
 
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
 #, c-format
 msgid "Uncompression error on file %s. ERR=%s\n"
 msgstr ""
 
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
 #, c-format
 msgid "Write error in Win32 Block Decomposition on %s: %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
 msgid "Decryption error\n"
 msgstr ""
 
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
 msgid "Logic error: output file should be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
 msgid "Logic error: output file should not be open\n"
 msgstr ""
 
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
 #, c-format
 msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
 msgstr ""
 
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
 msgid "Open File Manager paused\n"
 msgstr ""
 
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
 msgid "FAILED to pause Open File Manager\n"
 msgstr ""
 
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
 #, c-format
 msgid "Running as '%s'. Privmask=%#08x\n"
 msgstr ""
 
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
 msgid "Failed to retrieve current UserName\n"
 msgstr ""
 
@@ -17037,7 +17137,7 @@ msgid ""
 "Version: "
 msgstr ""
 
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
 #, c-format
 msgid "Failed ASSERT: %s\n"
 msgstr ""
@@ -18063,15 +18163,15 @@ msgstr "Виконання команди ..."
 msgid "At main prompt waiting for input ..."
 msgstr "Очікуться введення у основній рядку ..."
 
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
 msgid "At prompt waiting for input ..."
 msgstr "Очікуться введення у рядку ..."
 
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
 msgid "Command failed."
 msgstr "Помилка команди"
 
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
 msgid "Director disconnected."
 msgstr "Керівник від'єднано"
 
diff --git a/release/clean b/release/clean
index 72f24be..4a547d5 100755
--- a/release/clean
+++ b/release/clean
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 # Remove old baculas
-rm -f bacula-*
+rm -f bacula-* win*.log
diff --git a/release/makeall b/release/makeall
index ce60e11..7a90791 100755
--- a/release/makeall
+++ b/release/makeall
@@ -12,7 +12,7 @@ cd $cwd
 
 ./makebacularel $bacula $remote $branch $ver
 ./makedocsrel $bacula $docs $remote $branch $ver
-./makewinrel $bacula $remote $branch $ver | tee win$$.log
+#./makewinrel $bacula $remote $branch $ver | tee win$$.log
 
 # strip ./configure strerror from Win log file
 sed -i -e 's%strerror%%' win$$.log
diff --git a/release/makedocsrel b/release/makedocsrel
index e6281bc..10d34a3 100755
--- a/release/makedocsrel
+++ b/release/makedocsrel
@@ -97,6 +97,7 @@ mv docs $base_pkg-$ver
 cd $base_pkg-$ver
 ./configure --with-bacula=$bsrc
 make en
+make clean
 cd ${cwd}
 echo "Tarring docs ..."
 tar cf $base_pkg-$ver.tar $base_pkg-$ver
diff --git a/src/baconfig.h b/src/baconfig.h
index cbcd954..58661cb 100644
--- a/src/baconfig.h
+++ b/src/baconfig.h
@@ -58,7 +58,7 @@
 #define ioctl_req_t int
 #endif
 
-#define MANUAL_AUTH_URL "http://www.bacula.org/en/rel-manual/Bacula_Freque_Asked_Questi.html#SECTION003760000000000000000"
+#define MANUAL_AUTH_URL "http://www.bacula.org/en/rel-manual/Bacula_Freque_Asked_Questi.html#SECTION00260000000000000000"
 
 #ifdef PROTOTYPES
 # define __PROTO(p)     p
@@ -72,8 +72,16 @@
    Emsg1(M_ERROR, 0, _("Failed ASSERT: %s\n"), #x); \
    Pmsg1(000, _("Failed ASSERT: %s\n"), #x); \
    jcr[0] = 0; }
+
+#define ASSERT2(x,y) if (!(x)) { \
+   assert_msg =  y; \
+   Emsg1(M_ERROR, 0, _("Failed ASSERT: %s\n"), #x); \
+   Pmsg1(000, _("Failed ASSERT: %s\n"), #x); \
+   char *jcr = NULL; \
+   jcr[0] = 0; }
 #else
 #define ASSERT(x)
+#define ASSERT2(x, y)
 #endif
 
 /* Allow printing of NULL pointers */
@@ -415,6 +423,8 @@ void b_memset(const char *file, int line, void *mem, int val, size_t num);
 #define Jmsg4(jcr, typ, lvl, msg, a1, a2, a3, a4) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4)
 #define Jmsg5(jcr, typ, lvl, msg, a1, a2, a3, a4, a5) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4, a5)
 #define Jmsg6(jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6)
+#define Jmsg7(jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6, a7) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6, a7)
+#define Jmsg8(jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6, a7, a8) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6, a7, a8)
 
 /** Queued Job Error Messages that are delivered according to the message resource */
 #define Qmsg0(jcr, typ, lvl, msg)             q_msg(__FILE__, __LINE__, jcr, typ, lvl, msg)
@@ -637,4 +647,15 @@ int getdomainname(char *name, int len);
 /** Determine endianes */
 static inline bool bigendian() { return htonl(1) == 1L; }
 
+#ifndef __GNUC__
+#define __PRETTY_FUNCTION__ __func__
+#endif
+#ifdef ENTER_LEAVE
+#define Enter(lvl) Dmsg1(lvl, "Enter: %s\n", __PRETTY_FUNCTION__)
+#define Leave(lvl) Dmsg1(lvl, "Leave: %s\n", __PRETTY_FUNCTION__)
+#else
+#define Enter(lvl)
+#define Leave(lvl)
+#endif
+
 #endif /* _BACONFIG_H */
diff --git a/src/cats/bvfs.c b/src/cats/bvfs.c
index 10b283e..27f76d5 100644
--- a/src/cats/bvfs.c
+++ b/src/cats/bvfs.c
@@ -1020,8 +1020,8 @@ bool Bvfs::compute_restore_list(char *fileid, char *dirid, char *hardlink,
       goto bail_out;
    }
 
-   /* TODO: handle basejob and SQLite3 */
-   Mmsg(query, sql_bvfs_select[db_get_type_index(db)], output_table, output_table);
+   Mmsg(query, sql_bvfs_select[db_get_type_index(db)], 
+        output_table, output_table, output_table);
 
    /* TODO: handle jobid filter */
    Dmsg1(dbglevel_sql, "q=%s\n", query.c_str());
diff --git a/src/cats/make_postgresql_tables.in b/src/cats/make_postgresql_tables.in
index cb8d58d..9e57088 100644
--- a/src/cats/make_postgresql_tables.in
+++ b/src/cats/make_postgresql_tables.in
@@ -219,7 +219,8 @@ CREATE TABLE media
     primary key (mediaid)
 );
 
-create unique index media_volumename_id on media (volumename);
+CREATE UNIQUE INDEX media_volumename_id ON Media (VolumeName);
+CREATE INDEX media_poolid_idx ON Media (PoolId);
 
  
 CREATE TABLE MediaType (
diff --git a/src/cats/sql_cmds.c b/src/cats/sql_cmds.c
index 860def1..6ebcb62 100644
--- a/src/cats/sql_cmds.c
+++ b/src/cats/sql_cmds.c
@@ -465,7 +465,8 @@ const char *create_temp_basefile[] = {
    /* Mysql */
    "CREATE TEMPORARY TABLE basefile%lld ("
    "Path BLOB NOT NULL,"
-   "Name BLOB NOT NULL)",
+   "Name BLOB NOT NULL,"
+   "INDEX (Path(255), Name(255)))",
 
    /* Postgresql */
    "CREATE TEMPORARY TABLE basefile%lld ("
@@ -817,17 +818,27 @@ const char *sql_get_max_connections[] = {
    "SELECT 0"
 };
 
-/* TODO: Check for corner cases with MySQL and SQLite3
+/*
  *  The Group By can return strange numbers when having multiple
  *  version of a file in the same dataset.
  */
+const char *default_sql_bvfs_select = 
+"CREATE TABLE %s AS "
+"SELECT File.JobId, File.FileIndex, File.FileId "
+"FROM Job, File, ( "
+    "SELECT MAX(JobTDate) AS JobTDate, PathId, FilenameId "
+       "FROM btemp%s GROUP BY PathId, FilenameId "
+    ") AS T1 JOIN Filename USING (FilenameId) "
+"WHERE T1.JobTDate = Job.JobTDate "
+  "AND Job.JobId = File.JobId "
+  "AND T1.PathId = File.PathId "
+  "AND T1.FilenameId = File.FilenameId "
+  "AND File.FileIndex > 0 "
+  "AND Job.JobId IN (SELECT DISTINCT JobId FROM btemp%s) ";
+
 const char *sql_bvfs_select[] = {
    /* Mysql */
-   "CREATE TABLE %s AS ( "
-      "SELECT JobId, FileIndex, FileId, max(JobTDate) as JobTDate "
-        "FROM btemp%s "
-      "GROUP BY PathId, FilenameId "
-   "HAVING FileIndex > 0)",
+   default_sql_bvfs_select,
 
    /* Postgresql */
    "CREATE TABLE %s AS ( "
@@ -841,12 +852,7 @@ const char *sql_bvfs_select[] = {
           "WHERE FileIndex > 0)",
 
    /* SQLite3 */
-   "CREATE TABLE %s AS "
-      "SELECT JobId, FileIndex, FileId, max(JobTDate) as JobTDate "
-        "FROM btemp%s "
-      "GROUP BY PathId, FilenameId "
-   "HAVING FileIndex > 0",
-
+   default_sql_bvfs_select,
 
    /* Ingres (TODO) */
    "SELECT 0"
@@ -867,13 +873,15 @@ static const char *sql_bvfs_list_files_default =
                "JOIN File USING (FileId) "
                "JOIN Job  ON    (BaseJobId = Job.JobId) "
          "WHERE BaseFiles.JobId IN (%s)   AND PathId = %s "
-       ") AS tmp GROUP BY PathId, FilenameId LIMIT %lld OFFSET %lld"
+       ") AS tmp GROUP BY PathId, FilenameId "
+     "LIMIT %lld OFFSET %lld"
     ") AS T1 JOIN Filename USING (FilenameId) "
 "WHERE T1.JobTDate = Job.JobTDate "
   "AND Job.JobId = File.JobId "
   "AND T1.PathId = File.PathId "
   "AND T1.FilenameId = File.FilenameId "
   "AND Filename.Name != '' "
+  "AND File.FileIndex > 0 "
   " %s "                     /* AND Name LIKE '' */
   "AND (Job.JobId IN ( "
         "SELECT DISTINCT BaseJobId FROM BaseFiles WHERE JobId IN (%s)) "
@@ -886,20 +894,24 @@ const char *sql_bvfs_list_files[] = {
 
    /* JobId PathId JobId PathId WHERE? Filename? Limit Offset*/
    /* Postgresql */
- "SELECT DISTINCT ON (FilenameId) 'F', PathId, T.FilenameId, "
-  "Filename.Name, JobId, LStat, FileId "
-   "FROM "
-       "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5 "
-          "FROM File WHERE JobId IN (%s) AND PathId = %s "
-         "UNION ALL "
-        "SELECT File.FileId, File.JobId, PathId, FilenameId, "
-               "File.FileIndex, LStat, MD5 "
-          "FROM BaseFiles JOIN File USING (FileId) "
-         "WHERE BaseFiles.JobId IN (%s) AND File.PathId = %s "
-        ") AS T JOIN Job USING (JobId) JOIN Filename USING (FilenameId) "
-        " WHERE Filename.Name != '' "
-        " %s "               /* AND Name LIKE '' */
-   "ORDER BY FilenameId, StartTime DESC LIMIT %lld OFFSET %lld",
+ "SELECT Type, PathId, FilenameId, Name, JobId, LStat, FileId "
+  "FROM ("
+   "SELECT DISTINCT ON (FilenameId) 'F' as Type, PathId, T.FilenameId, "
+    "Filename.Name, JobId, LStat, FileId, FileIndex "
+     "FROM "
+         "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5 "
+            "FROM File WHERE JobId IN (%s) AND PathId = %s "
+           "UNION ALL "
+          "SELECT File.FileId, File.JobId, PathId, FilenameId, "
+                 "File.FileIndex, LStat, MD5 "
+            "FROM BaseFiles JOIN File USING (FileId) "
+           "WHERE BaseFiles.JobId IN (%s) AND File.PathId = %s "
+          ") AS T JOIN Job USING (JobId) JOIN Filename USING (FilenameId) "
+          " WHERE Filename.Name != '' "
+          " %s "               /* AND Name LIKE '' */
+     "ORDER BY FilenameId, StartTime DESC "
+   ") AS A WHERE A.FileIndex > 0 "
+   "LIMIT %lld OFFSET %lld ",
 
    /* SQLite */
    sql_bvfs_list_files_default,
diff --git a/src/cats/update_postgresql_tables.in b/src/cats/update_postgresql_tables.in
index d737bcf..f97cb60 100644
--- a/src/cats/update_postgresql_tables.in
+++ b/src/cats/update_postgresql_tables.in
@@ -45,6 +45,9 @@ ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;
 UPDATE Version SET VersionId=14;
 COMMIT;
 
+set client_min_messages = fatal;
+CREATE INDEX media_poolid_idx on Media (PoolId);
+
 ANALYSE;
 
 END-OF-DATA
diff --git a/src/console/conio.c b/src/console/conio.c
index 8a6ffd4..1b39d29 100755
--- a/src/console/conio.c
+++ b/src/console/conio.c
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 1981-2010 Free Software Foundation Europe e.V.
+   Copyright (C) 1981-2012 Free Software Foundation Europe e.V.
              Yes, that is 1981 no error.
 
    The main author of Bacula is Kern Sibbald, with contributions from
@@ -54,6 +54,7 @@
 #include <signal.h>
 #include <string.h>
 #include <ctype.h>
+#define HAVE_CONIO 1
 #else
 
 /* We are in Bacula */
@@ -61,6 +62,8 @@
 
 #endif
 
+#ifdef HAVE_CONIO
+
 #include <curses.h>
 #include <term.h>
 
@@ -69,8 +72,10 @@
 extern "C" int tgetent(void *, const char *);
 extern "C" int tgetnum(const char *);
 extern "C" char *tgetstr (const char*, char**);
-#endif
+# Note: the following on older (Solaris 10) systems 
+#  may need to be moved to after the #endif
 extern "C" char *tgoto (const char *, int, int);
+#endif
 #elif defined(__sgi)
 extern "C" int tgetent(char *, char *);
 extern "C" int tgetnum(char id[2]);
@@ -1189,3 +1194,5 @@ static void asdell()
 {
    t_send(t_dl);
 }
+
+#endif
diff --git a/src/dird/backup.c b/src/dird/backup.c
index 77a3845..65d5803 100644
--- a/src/dird/backup.c
+++ b/src/dird/backup.c
@@ -418,6 +418,10 @@ bool do_backup(JCR *jcr)
       goto bail_out;
    }
 
+   /* Declare the job started to start the MaxRunTime check */
+   jcr->setJobStarted();
+
+   /* Send and run the RunBefore */
    if (!send_runscripts_commands(jcr)) {
       goto bail_out;
    }
diff --git a/src/dird/dird.c b/src/dird/dird.c
index 07ad49d..147ab3f 100644
--- a/src/dird/dird.c
+++ b/src/dird/dird.c
@@ -65,7 +65,6 @@ extern int job_setattr(PyObject *self, char *attrname, PyObject *value);
 /* Forward referenced subroutines */
 void terminate_dird(int sig);
 static bool check_resources();
-static void dir_sql_query(JCR *jcr, const char *cmd);
 static void cleanup_old_files();
   
 /* Exported subroutines */
@@ -117,6 +116,32 @@ static bool check_catalog(cat_op mode);
 
 #define CONFIG_FILE "bacula-dir.conf" /* default configuration file */
 
+/*
+ * This allows the message handler to operate on the database
+ *   by using a pointer to this function. The pointer is
+ *   needed because the other daemons do not have access
+ *   to the database.  If the pointer is
+ *   not defined (other daemons), then writing the database
+ *   is disabled.
+ */
+static bool dir_sql_query(JCR *jcr, const char *cmd)
+{
+   if (!jcr || !jcr->db || !jcr->db->is_connected()) {
+      return false;
+   }
+
+   return db_sql_query(jcr->db, cmd);
+}
+
+static bool dir_sql_escape(JCR *jcr, B_DB *mdb, char *snew, char *old, int len)
+{
+   if (!jcr || !jcr->db || !jcr->db->is_connected()) {
+      return false;
+   }
+
+   db_escape_string(jcr, mdb, snew, old, len);
+   return true;
+}
 
 static void usage()
 {
@@ -313,7 +338,7 @@ int main (int argc, char *argv[])
 
    /* Plug database interface for library routines */
    p_sql_query = (sql_query_func)dir_sql_query;
-   p_sql_escape = (sql_escape_func)db_escape_string;
+   p_sql_escape = (sql_escape_func)dir_sql_escape;
 
    FDConnectTimeout = (int)director->FDConnectTimeout;
    SDConnectTimeout = (int)director->SDConnectTimeout;
@@ -365,22 +390,6 @@ int main (int argc, char *argv[])
    return 0;
 }
 
-/*
- * This allows the message handler to operate on the database
- *   by using a pointer to this function. The pointer is
- *   needed because the other daemons do not have access
- *   to the database.  If the pointer is
- *   not defined (other daemons), then writing the database
- *   is disabled. 
- */
-static void dir_sql_query(JCR *jcr, const char *cmd)
-{
-   if (!jcr || !jcr->db) {
-      return;
-   }
-   db_sql_query(jcr->db, cmd, NULL, NULL);
-}
-
 /* Cleanup and then exit */
 void terminate_dird(int sig)
 {
@@ -555,7 +564,7 @@ void reload_config(int sig)
          Jmsg(NULL, M_ERROR, 0, _("Resetting previous configuration.\n"));
       }
       reload_table[rtable].res_table = config->save_resources();
-      /* Now restore old resoure values */
+      /* Now restore old resource values */
       int num = r_last - r_first + 1;
       RES **res_tab = reload_table[table].res_table;
       for (int i=0; i<num; i++) {
diff --git a/src/dird/dird_conf.c b/src/dird/dird_conf.c
index 2f2eb00..b8477f5 100644
--- a/src/dird/dird_conf.c
+++ b/src/dird/dird_conf.c
@@ -224,6 +224,7 @@ static RES_ITEM store_items[] = {
    {"allowcompression",  store_bool, ITEM(res_store.AllowCompress), 0, ITEM_DEFAULT, true},
    {"heartbeatinterval", store_time, ITEM(res_store.heartbeat_interval), 0, ITEM_DEFAULT, 0},
    {"maximumconcurrentjobs", store_pint32, ITEM(res_store.MaxConcurrentJobs), 0, ITEM_DEFAULT, 1},
+   {"maximumconcurrentreadjobs", store_pint32, ITEM(res_store.MaxConcurrentReadJobs), 0, ITEM_DEFAULT, 0},
    {"sddport", store_pint32, ITEM(res_store.SDDport), 0, 0, 0}, /* deprecated */
    {"tlsauthenticate",      store_bool,      ITEM(res_store.tls_authenticate), 0, 0, 0},
    {"tlsenable",            store_bool,      ITEM(res_store.tls_enable), 0, 0, 0},
@@ -473,6 +474,12 @@ struct s_jl joblevels[] = {
    {"VolumeToCatalog", L_VERIFY_VOLUME_TO_CATALOG,   JT_VERIFY},
    {"DiskToCatalog", L_VERIFY_DISK_TO_CATALOG,   JT_VERIFY},
    {"Data",          L_VERIFY_DATA,     JT_VERIFY},
+   {"Full",          L_FULL,            JT_COPY},
+   {"Incremental",   L_INCREMENTAL,     JT_COPY},
+   {"Differential",  L_DIFFERENTIAL,    JT_COPY},
+   {"Full",          L_FULL,            JT_MIGRATE},
+   {"Incremental",   L_INCREMENTAL,     JT_MIGRATE},
+   {"Differential",  L_DIFFERENTIAL,    JT_MIGRATE},
    {" ",             L_NONE,            JT_ADMIN},
    {" ",             L_NONE,            JT_RESTORE},
    {NULL,            0,                          0}
diff --git a/src/dird/dird_conf.h b/src/dird/dird_conf.h
index 0a9d26c..9525781 100644
--- a/src/dird/dird_conf.h
+++ b/src/dird/dird_conf.h
@@ -294,6 +294,7 @@ public:
    char *media_type;
    alist *device;                     /* Alternate devices for this Storage */
    int32_t MaxConcurrentJobs;         /* Maximum concurrent jobs */
+   int32_t MaxConcurrentReadJobs;     /* Maximum concurrent jobs reading */
    int32_t NumConcurrentJobs;         /* number of concurrent jobs running */
    int32_t NumConcurrentReadJobs;     /* number of jobs reading */
    char *tls_ca_certfile;             /* TLS CA Certificate File */
diff --git a/src/dird/job.c b/src/dird/job.c
index dae019b..9865e37 100644
--- a/src/dird/job.c
+++ b/src/dird/job.c
@@ -611,7 +611,7 @@ static bool job_check_maxruntime(JCR *jcr)
    JOB *job = jcr->job;
    utime_t run_time;
 
-   if (job_canceled(jcr) || jcr->JobStatus == JS_Created) {
+   if (job_canceled(jcr) || !jcr->job_started) {
       return false;
    }
    if (jcr->job->MaxRunTime == 0 && job->FullMaxRunTime == 0 &&
diff --git a/src/dird/jobq.c b/src/dird/jobq.c
index 10a4ccd..5c79d78 100644
--- a/src/dird/jobq.c
+++ b/src/dird/jobq.c
@@ -809,7 +809,10 @@ static pthread_mutex_t rstore_mutex = PTHREAD_MUTEX_INITIALIZER;
 bool inc_read_store(JCR *jcr)
 {
    P(rstore_mutex);
-   if (jcr->rstore->NumConcurrentJobs < jcr->rstore->MaxConcurrentJobs) {
+   if (jcr->rstore->NumConcurrentJobs < jcr->rstore->MaxConcurrentJobs &&
+       (jcr->getJobType() == JT_RESTORE ||
+        jcr->rstore->MaxConcurrentReadJobs == 0 ||
+        jcr->rstore->NumConcurrentReadJobs < jcr->rstore->MaxConcurrentReadJobs)) {
       jcr->rstore->NumConcurrentReadJobs++;
       jcr->rstore->NumConcurrentJobs++;
       Dmsg1(200, "Inc rncj=%d\n", jcr->rstore->NumConcurrentJobs);
diff --git a/src/dird/migrate.c b/src/dird/migrate.c
index 5193921..c4738ea 100644
--- a/src/dird/migrate.c
+++ b/src/dird/migrate.c
@@ -365,6 +365,8 @@ bool do_migration(JCR *jcr)
    }
    Dmsg0(150, "Storage daemon connection OK\n");
 
+   /* Declare the job started to start the MaxRunTime check */
+   jcr->setJobStarted();
 
    /*    
     * We re-update the job start record so that the start
diff --git a/src/dird/msgchan.c b/src/dird/msgchan.c
index 1e7cfc7..686f0c7 100644
--- a/src/dird/msgchan.c
+++ b/src/dird/msgchan.c
@@ -269,6 +269,9 @@ bool start_storage_daemon_job(JCR *jcr, alist *rstore, alist *wstore, bool send_
       } else {
          ok = false;
       }
+      if (ok) {
+         Jmsg(jcr, M_INFO, 0, _("Using Device \"%s\" to read.\n"), device_name.c_str());
+      }
    }
 
    /* Do write side of storage daemon */
@@ -304,6 +307,9 @@ bool start_storage_daemon_job(JCR *jcr, alist *rstore, alist *wstore, bool send_
       } else {
          ok = false;
       }
+      if (ok) {
+         Jmsg(jcr, M_INFO, 0, _("Using Device \"%s\" to write.\n"), device_name.c_str());
+      }
    }
    if (!ok) {
       POOL_MEM err_msg;
@@ -317,8 +323,6 @@ bool start_storage_daemon_job(JCR *jcr, alist *rstore, alist *wstore, bool send_
               "     Storage daemon didn't accept Device \"%s\" command.\n"), 
               device_name.c_str());
       }
-   } else {
-      Jmsg(jcr, M_INFO, 0, _("Using Device \"%s\"\n"), device_name.c_str());
    }
    return ok;
 }
diff --git a/src/dird/restore.c b/src/dird/restore.c
index 0a8945a..eee86be 100644
--- a/src/dird/restore.c
+++ b/src/dird/restore.c
@@ -432,6 +432,9 @@ bool restore_bootstrap(JCR *jcr)
          goto bail_out;
       }
 
+      /* Declare the job started to start the MaxRunTime check */
+      jcr->setJobStarted();
+
       /* Only pass "global" commands to the FD once */
       if (first_time) {
          first_time = false;
diff --git a/src/dird/ua_acl.c b/src/dird/ua_acl.c
index 1a386fd..c510df6 100644
--- a/src/dird/ua_acl.c
+++ b/src/dird/ua_acl.c
@@ -56,7 +56,7 @@ bool acl_access_ok(UAContext *ua, int acl, const char *item, int len)
    }
 
    /* If no console resource => default console and all is permitted */
-   if (!ua->cons) {
+   if (!ua || !ua->cons) {
       Dmsg0(1400, "Root cons access OK.\n");
       return true;                    /* No cons resource -> root console OK for everything */
    }
diff --git a/src/dird/ua_cmds.c b/src/dird/ua_cmds.c
index d42bc7f..422eaa8 100644
--- a/src/dird/ua_cmds.c
+++ b/src/dird/ua_cmds.c
@@ -192,7 +192,7 @@ static struct cmdstruct commands[] = {                                      /* C
        "\n\tvolume=<volname> volstatus=<status> volretention=<time-def>"
        "\n\t pool=<pool> recycle=<yes/no> slot=<number>\n\t inchanger=<yes/no>"
        "\n\t maxvolbytes=<size> maxvolfiles=<nb> maxvoljobs=<nb>"
-       "\n\t enable=<yes/no> recyclepool=<pool> actiononpurge=<action>"),true},
+       "\n\t enabled=<yes/no> recyclepool=<pool> actiononpurge=<action>"),true},
  { NT_("use"),        use_cmd,       _("Use catalog xxx"), NT_("catalog=<catalog>"),     false},
  { NT_("var"),        var_cmd,       _("Does variable expansion"), NT_(""),  false},
  { NT_("version"),    version_cmd,   _("Print Director version"),  NT_(""),  true},
@@ -1139,8 +1139,8 @@ static int estimate_cmd(UAContext *ua, const char *cmd)
             }
             continue;
          } else {
-           ua->error_msg(_("Level value missing.\n"));
-           return 1;
+            ua->error_msg(_("Level value missing.\n"));
+            return 1;
          }
       }
       if (strcasecmp(ua->argk[i], NT_("accurate")) == 0) {
@@ -1152,6 +1152,7 @@ static int estimate_cmd(UAContext *ua, const char *cmd)
             continue;
          } else {
             ua->error_msg(_("Accurate value missing.\n"));
+            return 1;
          }
       }
    }
@@ -1309,7 +1310,7 @@ static int delete_cmd(UAContext *ua, const char *cmd)
       return 1;
    case 2:
       int i;
-      while ((i=find_arg(ua, "jobid")) > 0) {
+      while ((i = find_arg(ua, "jobid")) > 0) {
          delete_job(ua);
          *ua->argk[i] = 0;         /* zap keyword already visited */
       }
@@ -1339,52 +1340,66 @@ static int delete_cmd(UAContext *ua, const char *cmd)
    return 1;
 }
 
-
 /*
- * delete_job has been modified to parse JobID lists like the
- * following:
+ * delete_job has been modified to parse JobID lists like the following:
  * delete JobID=3,4,6,7-11,14
  *
  * Thanks to Phil Stracchino for the above addition.
  */
-
 static void delete_job(UAContext *ua)
 {
+   int i;
    JobId_t JobId;
-   char *s,*sep,*tok;
+   char *s, *sep, *tok;
 
-   int i = find_arg_with_value(ua, NT_("jobid"));
+   i = find_arg_with_value(ua, NT_("jobid"));
    if (i >= 0) {
-      if (strchr(ua->argv[i], ',') != NULL || strchr(ua->argv[i], '-') != NULL) {
-        s = bstrdup(ua->argv[i]);
-        tok = s;
-        /*
-         * We could use strtok() here.  But we're not going to, because:
-         * (a) strtok() is deprecated, having been replaced by strsep();
-         * (b) strtok() is broken in significant ways.
-         * we could use strsep() instead, but it's not universally available.
-         * so we grow our own using strchr().
-         */
-        sep = strchr(tok, ',');
-        while (sep != NULL) {
-           *sep = '\0';
-           if (!delete_job_id_range(ua, tok)) {
-              JobId = str_to_int64(tok);
-              do_job_delete(ua, JobId);
-           }
-           tok = ++sep;
-           sep = strchr(tok, ',');
-        }
-        /* pick up the last token */
-        if (!delete_job_id_range(ua, tok)) {
-            JobId = str_to_int64(tok);
-            do_job_delete(ua, JobId);
-        }
+      if (strchr(ua->argv[i], ',') || strchr(ua->argv[i], '-')) {
+         s = bstrdup(ua->argv[i]);
+         tok = s;
+
+         /*
+          * We could use strtok() here.  But we're not going to, because:
+          * (a) strtok() is deprecated, having been replaced by strsep();
+          * (b) strtok() is broken in significant ways.
+          * we could use strsep() instead, but it's not universally available.
+          * so we grow our own using strchr().
+          */
+         sep = strchr(tok, ',');
+         while (sep != NULL) {
+            *sep = '\0';
+            if (!delete_job_id_range(ua, tok)) {
+               if (is_a_number(tok)) {
+                  JobId = (JobId_t)str_to_uint64(tok);
+                  do_job_delete(ua, JobId);
+               } else {
+                  ua->warning_msg(_("Illegal JobId %s ignored\n"), tok);
+               }
+            }
+            tok = ++sep;
+            sep = strchr(tok, ',');
+         }
+
+         /*
+          * Pick up the last token
+          */
+         if (!delete_job_id_range(ua, tok)) {
+            if (is_a_number(tok)) {
+               JobId = (JobId_t)str_to_uint64(tok);
+               do_job_delete(ua, JobId);
+            } else {
+               ua->warning_msg(_("Illegal JobId %s ignored\n"), tok);
+            }
+         }
 
          free(s);
       } else {
-         JobId = str_to_int64(ua->argv[i]);
-        do_job_delete(ua, JobId);
+         if (is_a_number(ua->argv[i])) {
+            JobId = (JobId_t)str_to_uint64(ua->argv[i]);
+            do_job_delete(ua, JobId);
+         } else {
+            ua->warning_msg(_("Illegal JobId %s ignored\n"), ua->argv[i]);
+         }
       }
    } else if (!get_pint(ua, _("Enter JobId to delete: "))) {
       return;
@@ -1395,24 +1410,50 @@ static void delete_job(UAContext *ua)
 }
 
 /*
- * we call delete_job_id_range to parse range tokens and iterate over ranges
+ * We call delete_job_id_range to parse range tokens and iterate over ranges
  */
 static bool delete_job_id_range(UAContext *ua, char *tok)
 {
+   char buf[64];
    char *tok2;
-   JobId_t j,j1,j2;
+   JobId_t j, j1, j2;
 
    tok2 = strchr(tok, '-');
    if (!tok2) {
       return false;
    }
+
    *tok2 = '\0';
    tok2++;
-   j1 = str_to_int64(tok);
-   j2 = str_to_int64(tok2);
-   for (j=j1; j<=j2; j++) {
-      do_job_delete(ua, j);
+
+   if (is_a_number(tok) && is_a_number(tok2)) {
+      j1 = (JobId_t)str_to_uint64(tok);
+      j2 = (JobId_t)str_to_uint64(tok2);
+
+      if (j1 > j2) {
+         /*
+          * See if the range is big if more then 25 Jobs are deleted
+          * ask the user for confirmation.
+          */
+         if ((j2 - j1) > 25) {
+            bsnprintf(buf, sizeof(buf),
+                      _("Are you sure you want to delete %d JobIds ? (yes/no): "),
+                      j2 - j1);
+            if (!get_yesno(ua, buf)) {
+               return true;
+            }
+         }
+         for (j = j1; j <= j2; j++) {
+            do_job_delete(ua, j);
+         }
+      } else {
+         ua->warning_msg(_("Illegal JobId range %s - %s should define increasing JobIds, ignored\n"),
+                         tok, tok2);
+      }
+   } else {
+      ua->warning_msg(_("Illegal JobId range %s - %s, ignored\n"), tok, tok2);
    }
+
    return true;
 }
 
@@ -1425,7 +1466,7 @@ static void do_job_delete(UAContext *ua, JobId_t JobId)
 
    edit_int64(JobId, ed1);
    purge_jobs_from_catalog(ua, ed1);
-   ua->send_msg(_("Job %s and associated records deleted from the catalog.\n"), ed1);
+   ua->send_msg(_("Jobid %s and associated records deleted from the catalog.\n"), ed1);
 }
 
 /*
diff --git a/src/dird/ua_dotcmds.c b/src/dird/ua_dotcmds.c
index c90052b..d78fa3f 100644
--- a/src/dird/ua_dotcmds.c
+++ b/src/dird/ua_dotcmds.c
@@ -523,6 +523,8 @@ static bool dot_bvfs_versions(UAContext *ua, const char *cmd)
  *  -> returns needed jobids to restore
  * .bvfs_get_jobids jobid=1 all
  *  -> returns needed jobids to restore with all filesets a JobId=1 time
+ * .bvfs_get_jobids ujobid=JobName
+ *  -> returns needed jobids to restore
  */
 static bool dot_bvfs_get_jobids(UAContext *ua, const char *cmd)
 {
@@ -538,6 +540,11 @@ static bool dot_bvfs_get_jobids(UAContext *ua, const char *cmd)
    }
 
    memset(&jr, 0, sizeof(JOB_DBR));
+
+   if ((pos = find_arg_with_value(ua, "ujobid")) >= 0) {
+      bstrncpy(jr.Job, ua->argv[pos], sizeof(jr.Job));
+   }
+
    if ((pos = find_arg_with_value(ua, "jobid")) >= 0) {
       jr.JobId = str_to_int64(ua->argv[pos]);
    }
diff --git a/src/dird/ua_label.c b/src/dird/ua_label.c
index 7dd1ecf..93899cb 100644
--- a/src/dird/ua_label.c
+++ b/src/dird/ua_label.c
@@ -147,10 +147,12 @@ static bool get_user_slot_list(UAContext *ua, char *slot_list, int num_slots)
          slot_list[i] = 1;
       }
    }
-   Dmsg0(100, "Slots turned on:\n");
-   for (i=1; i <= num_slots; i++) {
-      if (slot_list[i]) {
-         Dmsg1(100, "%d\n", i);
+   if (debug_level >= 100) {
+      Dmsg0(100, "Slots turned on:\n");
+      for (i=1; i <= num_slots; i++) {
+         if (slot_list[i]) {
+            Dmsg1(100, "%d\n", i);
+         }
       }
    }
    return true;
@@ -413,7 +415,10 @@ checkName:
          continue;
       }
 
+      /* Search by Media name so set VolumeName and clear MediaId. */
+      mr.MediaId = 0;
       bstrncpy(mr.VolumeName, ua->cmd, sizeof(mr.VolumeName));
+
       /* If VolBytes are zero the Volume is not labeled */
       if (db_get_media_record(ua->jcr, ua->db, &mr)) {
          if (mr.VolBytes != 0) {
diff --git a/src/dird/ua_output.c b/src/dird/ua_output.c
index d7e93d0..adef8a5 100644
--- a/src/dird/ua_output.c
+++ b/src/dird/ua_output.c
@@ -201,7 +201,10 @@ int show_cmd(UAContext *ua, const char *cmd)
       switch (type) {
       case -1:                           /* all */
          for (j=r_first; j<=r_last; j++) {
-            dump_resource(j, res_head[j-r_first], bsendmsg, ua);
+            /* Skip R_DEVICE since it is really not used or updated */
+            if (j != R_DEVICE) {
+               dump_resource(j, res_head[j-r_first], bsendmsg, ua);
+            }
          }
          break;
       case -2:
diff --git a/src/dird/ua_prune.c b/src/dird/ua_prune.c
index a993edb..7380945 100644
--- a/src/dird/ua_prune.c
+++ b/src/dird/ua_prune.c
@@ -129,7 +129,9 @@ int prunecmd(UAContext *ua, const char *cmd)
 
    switch (kw) {
    case 0:  /* prune files */
-      client = get_client_resource(ua);
+      if (!(client = get_client_resource(ua))) {
+         return false;
+      }
       if (find_arg_with_value(ua, "pool") >= 0) {
          pool = get_pool_resource(ua);
       } else {
@@ -140,13 +142,15 @@ int prunecmd(UAContext *ua, const char *cmd)
          if (!confirm_retention(ua, &pool->FileRetention, "File")) {
             return false;
          }
-      } else if (!client || !confirm_retention(ua, &client->FileRetention, "File")) {
+      } else if (!confirm_retention(ua, &client->FileRetention, "File")) {
          return false;
       }
       prune_files(ua, client, pool);
       return true;
    case 1:  /* prune jobs */
-      client = get_client_resource(ua);
+      if (!(client = get_client_resource(ua))) {
+         return false;
+      }
       if (find_arg_with_value(ua, "pool") >= 0) {
          pool = get_pool_resource(ua);
       } else {
@@ -157,7 +161,7 @@ int prunecmd(UAContext *ua, const char *cmd)
          if (!confirm_retention(ua, &pool->JobRetention, "Job")) {
             return false;
          }
-      } else if (!client || !confirm_retention(ua, &client->JobRetention, "Job")) {
+      } else if (!confirm_retention(ua, &client->JobRetention, "Job")) {
          return false;
       }
       /* ****FIXME**** allow user to select JobType */
@@ -399,6 +403,9 @@ static int job_select_handler(void *ctx, int num_fields, char **row)
    struct accurate_check_ctx *res;
    ASSERT(num_fields == 6);
 
+   /* Quick fix for #5507, avoid locking res_head after db_lock() */
+
+#ifdef bug5507
    /* If this job doesn't exist anymore in the configuration, delete it */
    if (GetResWithName(R_JOB, row[0]) == NULL) {
       return 0;
@@ -413,6 +420,7 @@ static int job_select_handler(void *ctx, int num_fields, char **row)
    if (GetResWithName(R_CLIENT, row[2]) == NULL) {
       return 0;
    }
+#endif
 
    /* Don't compute accurate things for Verify jobs */
    if (*row[5] == 'V') {
@@ -522,7 +530,7 @@ int prune_jobs(UAContext *ua, CLIENT *client, POOL *pool, int JobType)
 
    /* The job_select_handler will skip jobs or filesets that are no longer
     * in the configuration file. Interesting ClientId/FileSetId will be
-    * added to jobids_check
+    * added to jobids_check (currently disabled in 6.0.7b)
     */
    if (!db_sql_query(ua->db, query.c_str(), job_select_handler, jobids_check)) {
       ua->error_msg("%s", db_strerror(ua->db));
diff --git a/src/dird/ua_run.c b/src/dird/ua_run.c
index e9c563d..a9941ad 100644
--- a/src/dird/ua_run.c
+++ b/src/dird/ua_run.c
@@ -197,6 +197,11 @@ start_job:
       }
       return JobId;
    }
+   if (strncasecmp(ua->cmd, _("no"), strlen(ua->cmd)) == 0) {
+      goto bail_out;
+   }
+   ua->send_msg(_("\nBad response: %s. You must answer yes, mod, or no.\n\n"), ua->cmd);
+   goto try_again;
 
 bail_out:
    ua->send_msg(_("Job not run.\n"));
@@ -208,24 +213,6 @@ int modify_job_parameters(UAContext *ua, JCR *jcr, run_ctx &rc)
 {
    int i, opt;
    
-   /* Some options are not available through the menu
-    * TODO: Add an advanced menu?
-    */
-   if (rc.spool_data_set) {
-      jcr->spool_data = rc.spool_data;
-   }
-
-   if (rc.accurate_set) {
-      jcr->accurate = rc.accurate;
-   }
-
-   /* Used by migration jobs that can have the same name,
-    * but can run at the same time
-    */
-   if (rc.ignoreduplicatecheck_set) {
-      jcr->IgnoreDuplicateJobChecking = rc.ignoreduplicatecheck;
-   }
-
    /*
     * At user request modify parameters of job to be run.
     */
@@ -570,6 +557,25 @@ static bool reset_restore_context(UAContext *ua, JCR *jcr, run_ctx &rc)
       jcr->RestoreJobId = str_to_int64(rc.jid);
       rc.jid = 0;
    }
+
+   /* Some options are not available through the menu
+    * TODO: Add an advanced menu?
+    */
+   if (rc.spool_data_set) {
+      jcr->spool_data = rc.spool_data;
+   }
+
+   if (rc.accurate_set) {
+      jcr->accurate = rc.accurate;
+   }
+
+   /* Used by migration jobs that can have the same name,
+    * but can run at the same time
+    */
+   if (rc.ignoreduplicatecheck_set) {
+      jcr->IgnoreDuplicateJobChecking = rc.ignoreduplicatecheck;
+   }
+
    return true;
 }
 
diff --git a/src/dird/vbackup.c b/src/dird/vbackup.c
index f24f9d6..2babd36 100644
--- a/src/dird/vbackup.c
+++ b/src/dird/vbackup.c
@@ -232,6 +232,9 @@ _("This Job is not an Accurate backup so is not equivalent to a Full backup.\n")
       return false;
    }
 
+   /* Declare the job started to start the MaxRunTime check */
+   jcr->setJobStarted();
+
    /*
     * Start the job prior to starting the message thread below
     * to avoid two threads from using the BSOCK structure at
diff --git a/src/filed/acl.c b/src/filed/acl.c
index b83bd7a..59eac94 100644
--- a/src/filed/acl.c
+++ b/src/filed/acl.c
@@ -32,6 +32,7 @@
  *   - AIX (pre-5.3 and post 5.3 acls, acl_get and aclx_get interface)
  *   - Darwin
  *   - FreeBSD (POSIX and NFSv4/ZFS acls)
+ *   - GNU Hurd
  *   - HPUX
  *   - IRIX
  *   - Linux
@@ -543,7 +544,8 @@ static bacl_exit_code (*os_parse_acl_streams)
       defined(HAVE_FREEBSD_OS) || \
       defined(HAVE_IRIX_OS) || \
       defined(HAVE_OSF1_OS) || \
-      defined(HAVE_LINUX_OS)
+      defined(HAVE_LINUX_OS) || \
+      defined(HAVE_HURD_OS)
 
 #include <sys/types.h>
 
@@ -642,7 +644,8 @@ static int acl_count_entries(acl_t acl)
 {
    int count = 0;
 #if defined(HAVE_FREEBSD_OS) || \
-    defined(HAVE_LINUX_OS)
+    defined(HAVE_LINUX_OS) || \
+    defined(HAVE_HURD_OS)
    acl_entry_t ace;
    int entry_available;
 
@@ -684,7 +687,8 @@ static bool acl_is_trivial(acl_t acl)
    acl_entry_t ace;
    acl_tag_t tag;
 #if defined(HAVE_FREEBSD_OS) || \
-    defined(HAVE_LINUX_OS)
+    defined(HAVE_LINUX_OS) || \
+    defined(HAVE_HURD_OS)
    int entry_available;
 
    entry_available = acl_get_entry(acl, ACL_FIRST_ENTRY, &ace);
@@ -1275,7 +1279,8 @@ static bacl_exit_code (*os_parse_acl_streams)
                       freebsd_parse_acl_streams;
 
 #elif defined(HAVE_IRIX_OS) || \
-      defined(HAVE_LINUX_OS)
+      defined(HAVE_LINUX_OS) || \
+      defined(HAVE_HURD_OS)
 /*
  * Define the supported ACL streams for these OSes
  */
@@ -1293,6 +1298,13 @@ static int os_access_acl_streams[1] = {
 static int os_default_acl_streams[1] = {
    STREAM_ACL_LINUX_DEFAULT_ACL
 };
+#elif defined(HAVE_HURD_OS)
+static int os_access_acl_streams[1] = {
+   STREAM_ACL_HURD_ACCESS_ACL
+};
+static int os_default_acl_streams[1] = {
+   STREAM_ACL_HURD_DEFAULT_ACL
+};
 #endif
 
 static bacl_exit_code generic_build_acl_streams(JCR *jcr, FF_PKT *ff_pkt)
diff --git a/src/filed/backup.c b/src/filed/backup.c
index 44d7e29..da9330f 100644
--- a/src/filed/backup.c
+++ b/src/filed/backup.c
@@ -1352,7 +1352,7 @@ bool encode_and_send_attributes(JCR *jcr, FF_PKT *ff_pkt, int &data_stream)
     * For a directory, link is the same as fname, but with trailing
     * slash. For a linked file, link is the link.
     */
-   if (ff_pkt->type != FT_DELETED) { /* already stripped */
+   if (!IS_FT_OBJECT(ff_pkt->type) && ff_pkt->type != FT_DELETED) { /* already stripped */
       strip_path(ff_pkt);
    }
    switch (ff_pkt->type) {
@@ -1414,7 +1414,8 @@ bool encode_and_send_attributes(JCR *jcr, FF_PKT *ff_pkt, int &data_stream)
                        attribsEx, 0, ff_pkt->delta_seq, 0);
       break;
    }
-   if (ff_pkt->type != FT_DELETED) {
+
+   if (!IS_FT_OBJECT(ff_pkt->type) && ff_pkt->type != FT_DELETED) {
       unstrip_path(ff_pkt);
    }
 
@@ -1440,8 +1441,10 @@ static bool do_strip(int count, char *in)
    while (*in && !IsPathSeparator(*in)) {    
       out++; in++;
    }
-   out++; in++;
-   numsep++;                     /* one separator seen */
+   if (*in) {                    /* Not at the end of the string */
+      out++; in++;
+      numsep++;                  /* one separator seen */
+   }
    for (stripped=0; stripped<count && *in; stripped++) {
       while (*in && !IsPathSeparator(*in)) {
          in++;                   /* skip chars */
diff --git a/src/filed/restore.c b/src/filed/restore.c
index fc22b37..96edcc8 100644
--- a/src/filed/restore.c
+++ b/src/filed/restore.c
@@ -302,11 +302,14 @@ static inline bool pop_delayed_data_streams(JCR *jcr, r_ctx &rctx)
       case STREAM_ACL_AIX_AIXC:
       case STREAM_ACL_AIX_NFS4:
       case STREAM_ACL_FREEBSD_NFS4_ACL:
+      case STREAM_ACL_HURD_DEFAULT_ACL:
+      case STREAM_ACL_HURD_ACCESS_ACL:
          if (!do_restore_acl(jcr, rds->stream, rds->content, rds->content_length)) {
             goto bail_out;
          }
          free(rds->content);
          break;
+      case STREAM_XATTR_HURD:
       case STREAM_XATTR_IRIX:
       case STREAM_XATTR_TRU64:
       case STREAM_XATTR_AIX:
@@ -892,6 +895,8 @@ void do_restore(JCR *jcr)
       case STREAM_ACL_AIX_AIXC:
       case STREAM_ACL_AIX_NFS4:
       case STREAM_ACL_FREEBSD_NFS4_ACL:
+      case STREAM_ACL_HURD_DEFAULT_ACL:
+      case STREAM_ACL_HURD_ACCESS_ACL:
          /*
           * Do not restore ACLs when
           * a) The current file is not extracted
@@ -920,6 +925,7 @@ void do_restore(JCR *jcr)
          }
          break;
 
+      case STREAM_XATTR_HURD:
       case STREAM_XATTR_IRIX:
       case STREAM_XATTR_TRU64:
       case STREAM_XATTR_AIX:
diff --git a/src/filed/xattr.c b/src/filed/xattr.c
index b1a0840..21a6365 100644
--- a/src/filed/xattr.c
+++ b/src/filed/xattr.c
@@ -35,6 +35,7 @@
  *   - AIX (Extended Attributes)
  *   - Darwin (Extended Attributes)
  *   - FreeBSD (Extended Attributes)
+ *   - GNU HURD (Extended Attributes)
  *   - IRIX (Extended Attributes)
  *   - Linux (Extended Attributes)
  *   - NetBSD (Extended Attributes)
@@ -1035,7 +1036,8 @@ static bxattr_exit_code (*os_parse_xattr_streams)
                         irix_parse_xattr_streams;
 
 #elif defined(HAVE_DARWIN_OS) || \
-      defined(HAVE_LINUX_OS)
+      defined(HAVE_LINUX_OS) || \
+      defined(HAVE_HURD_OS)
 
 #if (!defined(HAVE_LISTXATTR) && !defined(HAVE_LLISTXATTR)) || \
     (!defined(HAVE_GETXATTR) && !defined(HAVE_LGETXATTR)) || \
@@ -1077,6 +1079,16 @@ static const char *xattr_acl_skiplist[3] = {
 static const char *xattr_skiplist[1] = {
    NULL
 };
+#elif defined(HAVE_HURD_OS)
+static int os_default_xattr_streams[1] = {
+   STREAM_XATTR_HURD
+};
+static const char *xattr_acl_skiplist[1] = {
+   NULL
+};
+static const char *xattr_skiplist[1] = {
+   NULL
+};
 #endif
 
 /*
@@ -2430,7 +2442,7 @@ static int os_default_xattr_streams[1] = {
  * This code creates a temporary cache with entries for each xattr which has
  * a link count > 1 (which indicates it has one or more hard linked counterpart(s))
  */
-static xattr_link_cache_entry_t *find_xattr_link_cache_entry(JCR *jcr, ino_t inum)
+static inline xattr_link_cache_entry_t *find_xattr_link_cache_entry(JCR *jcr, ino_t inum)
 {
    xattr_link_cache_entry_t *ptr;
 
@@ -2442,14 +2454,14 @@ static xattr_link_cache_entry_t *find_xattr_link_cache_entry(JCR *jcr, ino_t inu
    return NULL;
 }
 
-static void add_xattr_link_cache_entry(JCR *jcr, ino_t inum, char *target)
+static inline void add_xattr_link_cache_entry(JCR *jcr, ino_t inum, char *target)
 {
    xattr_link_cache_entry_t *ptr;
 
    ptr = (xattr_link_cache_entry_t *)malloc(sizeof(xattr_link_cache_entry_t));
    memset(ptr, 0, sizeof(xattr_link_cache_entry_t));
    ptr->inum = inum;
-   bstrncpy(ptr->target, target, sizeof(ptr->target));
+   ptr->target = bstrdup(target);
 
    if (!jcr->xattr_data->u.build->link_cache) {
       jcr->xattr_data->u.build->link_cache = New(alist(10, not_owned_by_alist));
@@ -2457,6 +2469,22 @@ static void add_xattr_link_cache_entry(JCR *jcr, ino_t inum, char *target)
    jcr->xattr_data->u.build->link_cache->append(ptr);
 }
 
+static inline void drop_xattr_link_cache(JCR *jcr)
+{
+   xattr_link_cache_entry_t *ptr;
+
+   /*
+    * Walk the list of xattr link cache entries and free allocated memory on traversing.
+    */
+   foreach_alist(ptr, jcr->xattr_data->u.build->link_cache) {
+      free(ptr->target);
+      free(ptr);
+   }
+
+   delete jcr->xattr_data->u.build->link_cache;
+   jcr->xattr_data->u.build->link_cache = NULL;
+}
+
 #if defined(HAVE_SYS_NVPAIR_H) && defined(_PC_SATTR_ENABLED)
 /*
  * This function returns true if a non default extended system attribute
@@ -3680,8 +3708,7 @@ static bxattr_exit_code solaris_build_xattr_streams(JCR *jcr, FF_PKT *ff_pkt)
       retval = solaris_save_xattrs(jcr, NULL, NULL);
       chdir(cwd);
       if (jcr->xattr_data->u.build->link_cache) {
-         delete jcr->xattr_data->u.build->link_cache;
-         jcr->xattr_data->u.build->link_cache = NULL;
+         drop_xattr_link_cache(jcr);
       }
    }
    return retval;
diff --git a/src/filed/xattr.h b/src/filed/xattr.h
index d54b912..b61ec11 100644
--- a/src/filed/xattr.h
+++ b/src/filed/xattr.h
@@ -33,6 +33,8 @@
 #define BXATTR_ENOTSUP EOPNOTSUPP
 #elif defined(HAVE_DARWIN_OS)
 #define BXATTR_ENOTSUP ENOTSUP
+#elif defined(HAVE_HURD_OS)
+#define BXATTR_ENOTSUP ENOTSUP
 #endif
 
 /*
@@ -57,7 +59,7 @@ struct xattr_t {
  */
 struct xattr_link_cache_entry_t {
    uint32_t inum;
-   char target[PATH_MAX];
+   char *target;
 };
 
 #define BXATTR_FLAG_SAVE_NATIVE    0x01
diff --git a/src/findlib/bfile.c b/src/findlib/bfile.c
index 0d4c106..e315675 100644
--- a/src/findlib/bfile.c
+++ b/src/findlib/bfile.c
@@ -187,6 +187,12 @@ const char *stream_to_ascii(int stream)
       return _("AIX Specific NFSv4 ACL attribs");
    case STREAM_ACL_FREEBSD_NFS4_ACL:
       return _("FreeBSD Specific NFSv4/ZFS ACL attribs");
+   case STREAM_ACL_HURD_DEFAULT_ACL:
+      return _("GNU Hurd Specific Default ACL attribs");
+   case STREAM_ACL_HURD_ACCESS_ACL:
+      return _("GNU Hurd Specific Access ACL attribs");
+   case STREAM_XATTR_HURD:
+      return _("GNU Hurd Specific Extended attribs");
    case STREAM_XATTR_IRIX:
       return _("IRIX Specific Extended attribs");
    case STREAM_XATTR_TRU64:
diff --git a/src/findlib/find.c b/src/findlib/find.c
index 68c70ef..dba28bf 100644
--- a/src/findlib/find.c
+++ b/src/findlib/find.c
@@ -505,6 +505,9 @@ term_find_files(FF_PKT *ff)
    if (ff->link_save) {
       free_pool_memory(ff->link_save);
    }
+   if (ff->ignoredir_fname) {
+      free_pool_memory(ff->ignoredir_fname);
+   }
    hard_links = term_find_one(ff);
    free(ff);
    return hard_links;
diff --git a/src/findlib/find.h b/src/findlib/find.h
index a91ba88..8d6be39 100644
--- a/src/findlib/find.h
+++ b/src/findlib/find.h
@@ -169,6 +169,7 @@ struct FF_PKT {
    POOLMEM *sys_fname;                /* system filename */
    POOLMEM *fname_save;               /* save when stripping path */
    POOLMEM *link_save;                /* save when stripping path */
+   POOLMEM *ignoredir_fname;          /* used to ignore directories */
    char *digest;                      /* set to file digest when the file is a hardlink */
    struct stat statp;                 /* stat packet */
    uint32_t digest_len;               /* set to the digest len when the file is a hardlink*/
diff --git a/src/findlib/find_one.c b/src/findlib/find_one.c
index 36708d3..d854994 100644
--- a/src/findlib/find_one.c
+++ b/src/findlib/find_one.c
@@ -103,6 +103,7 @@ static FF_PKT *new_dir_ff_pkt(FF_PKT *ff_pkt)
    dir_ff_pkt->linkhash = NULL;
    dir_ff_pkt->fname_save = NULL;
    dir_ff_pkt->link_save = NULL;
+   dir_ff_pkt->ignoredir_fname = NULL;
    return dir_ff_pkt;
 }
 
@@ -120,6 +121,9 @@ static void free_dir_ff_pkt(FF_PKT *dir_ff_pkt)
    if (dir_ff_pkt->link_save) {
       free_pool_memory(dir_ff_pkt->link_save);
    }
+   if (dir_ff_pkt->ignoredir_fname) {
+      free_pool_memory(dir_ff_pkt->ignoredir_fname);
+   }
    free(dir_ff_pkt);
 }
 
@@ -308,7 +312,6 @@ bool check_changes(JCR *jcr, FF_PKT *ff_pkt)
 static bool have_ignoredir(FF_PKT *ff_pkt)
 {
    struct stat sb;
-   char tmp_name[MAXPATHLEN];
    char *ignoredir;
 
    /* Ensure that pointers are defined */
@@ -318,14 +321,11 @@ static bool have_ignoredir(FF_PKT *ff_pkt)
    ignoredir = ff_pkt->fileset->incexe->ignoredir;
    
    if (ignoredir) {
-      if (strlen(ff_pkt->fname) + strlen(ignoredir) + 2 > MAXPATHLEN) {
-         return false;
+      if (!ff_pkt->ignoredir_fname) {
+         ff_pkt->ignoredir_fname = get_pool_memory(PM_FNAME);
       }
-
-      strcpy(tmp_name, ff_pkt->fname);
-      strcat(tmp_name, "/");
-      strcat(tmp_name, ignoredir);
-      if (stat(tmp_name, &sb) == 0) {
+      Mmsg(ff_pkt->ignoredir_fname, "%s/%s", ff_pkt->fname, ignoredir);
+      if (stat(ff_pkt->ignoredir_fname, &sb) == 0) {
          Dmsg2(100, "Directory '%s' ignored (found %s)\n",
                ff_pkt->fname, ignoredir);
          return true;      /* Just ignore this directory */
diff --git a/src/findlib/mkpath.c b/src/findlib/mkpath.c
index 884ba10..985fdd8 100644
--- a/src/findlib/mkpath.c
+++ b/src/findlib/mkpath.c
@@ -285,6 +285,10 @@ bool makepath(ATTR *attr, const char *apath, mode_t mode, mode_t parent_mode,
 
    /* Now set the proper owner and modes */
 #if defined(HAVE_WIN32)
+
+   /* Don't propagate the hidden attribute to parent directories */
+   parent_mode &= ~S_ISVTX;
+
    if (path[1] == ':') {
       p = &path[3];
    } else {
diff --git a/src/jcr.h b/src/jcr.h
index a017d1b..0ff93ab 100644
--- a/src/jcr.h
+++ b/src/jcr.h
@@ -118,6 +118,7 @@ enum {
   )
 
 #define job_waiting(jcr) \
+ (jcr->job_started &&    \
   (jcr->JobStatus == JS_WaitFD       || \
    jcr->JobStatus == JS_WaitSD       || \
    jcr->JobStatus == JS_WaitMedia    || \
@@ -130,7 +131,7 @@ enum {
    jcr->SDJobStatus == JS_WaitMedia  || \
    jcr->SDJobStatus == JS_WaitMount  || \
    jcr->SDJobStatus == JS_WaitDevice || \
-   jcr->SDJobStatus == JS_WaitMaxJobs)
+   jcr->SDJobStatus == JS_WaitMaxJobs))
 
 
 
@@ -199,6 +200,7 @@ public:
    void setJobLevel(int32_t JobLevel) { m_JobLevel = JobLevel; };
    void setJobType(int32_t JobType) { m_JobType = JobType; };
    void forceJobStatus(int32_t aJobStatus) { JobStatus = aJobStatus; };
+   void setJobStarted();
    int32_t getJobType() const { return m_JobType; };
    int32_t getJobLevel() const { return m_JobLevel; };
    int32_t getJobStatus() const { return JobStatus; };
@@ -253,6 +255,7 @@ public:
    time_t end_time;                   /* job end time */
    time_t wait_time_sum;              /* cumulative wait time since job start */
    time_t wait_time;                  /* timestamp when job have started to wait */
+   time_t job_started_time;           /* Time when the MaxRunTime start to count */
    POOLMEM *client_name;              /* client name */
    POOLMEM *JobIds;                   /* User entered string of JobIds */
    POOLMEM *RestoreBootstrap;         /* Bootstrap file to restore */
@@ -276,6 +279,7 @@ public:
    bool accurate;                     /* true if job is accurate */
    bool HasBase;                      /* True if job use base jobs */
    bool rerunning;                    /* rerunning an incomplete job */
+   bool job_started;                  /* Set when the job is actually started */
 
    void *Python_job;                  /* Python Job Object */
    void *Python_events;               /* Python Events Object */
diff --git a/src/lib/bsys.c b/src/lib/bsys.c
index fdee8f6..7900e3c 100644
--- a/src/lib/bsys.c
+++ b/src/lib/bsys.c
@@ -690,6 +690,57 @@ char *bfgets(char *s, int size, FILE *fd)
 }
 
 /*
+ * Bacula's implementation of fgets(). The difference is that it handles
+ *   being interrupted by a signal (e.g. a SIGCHLD) and it has a
+ *   different calling sequence which implements input lines of
+ *   up to a million characters.
+ */
+char *bfgets(POOLMEM *&s, FILE *fd)
+{
+   int ch;
+   int soft_max;
+   int i = 0;
+
+   s[0] = 0;
+   soft_max = sizeof_pool_memory(s) - 10;
+   for ( ;; ) {
+      do {
+         errno = 0;
+         ch = fgetc(fd);
+      } while (ch == EOF && ferror(fd) && (errno == EINTR || errno == EAGAIN));
+      if (ch == EOF) {
+         if (i == 0) {
+            return NULL;
+         } else {
+            return s;
+         }
+      }
+      if (i > soft_max) {
+         /* Insanity check */
+         if (soft_max > 1000000) {
+            return s;
+         }
+         s = check_pool_memory_size(s, soft_max+10000);
+         soft_max = sizeof_pool_memory(s) - 10;
+      }
+      s[i++] = ch;
+      s[i] = 0;
+      if (ch == '\r') { /* Support for Mac/Windows file format */
+         ch = fgetc(fd);
+         if (ch != '\n') { /* Mac (\r only) */
+            (void)ungetc(ch, fd); /* Push next character back to fd */
+         }
+         s[i-1] = '\n';
+         break;
+      }
+      if (ch == '\n') {
+         break;
+      }
+   }
+   return s;
+}
+
+/*
  * Make a "unique" filename.  It is important that if
  *   called again with the same "what" that the result
  *   will be identical. This allows us to use the file
diff --git a/src/lib/crc32.c b/src/lib/crc32.c
index 847b140..ac2ff94 100644
--- a/src/lib/crc32.c
+++ b/src/lib/crc32.c
@@ -70,6 +70,12 @@ main()
 
 #include "bacula.h"
 
+#ifdef HAVE_DARWIN_OS
+#if !defined(HAVE_LITTLE_ENDIAN) && !defined(HAVE_BIG_ENDIAN)
+#define HAVE_LITTLE_ENDIAN
+#endif
+#endif
+
 #if !defined(HAVE_LITTLE_ENDIAN) && !defined(HAVE_BIG_ENDIAN)
 #error Either HAVE_LITTLE_ENDIAN or HAVE_BIG_ENDIAN must be defined!
 #endif
diff --git a/src/lib/devlock.c b/src/lib/devlock.c
index 99a1bc7..5b26545 100644
--- a/src/lib/devlock.c
+++ b/src/lib/devlock.c
@@ -57,14 +57,14 @@ devlock *new_devlock()
    return lock;
 }
 
-int devlock::init(int initial_priority)
+int devlock::init(int priority)                            
 {
    int stat;
    devlock *rwl = this;
 
    rwl->r_active = rwl->w_active = 0;
    rwl->r_wait = rwl->w_wait = 0;
-   rwl->priority = initial_priority;
+   rwl->priority = priority;
    if ((stat = pthread_mutex_init(&rwl->mutex, NULL)) != 0) {
       return stat;
    }
diff --git a/src/lib/jcr.c b/src/lib/jcr.c
index d895ba1..53679c4 100644
--- a/src/lib/jcr.c
+++ b/src/lib/jcr.c
@@ -892,6 +892,12 @@ bool JCR::sendJobStatus(int newJobStatus)
    return true; 
 }
 
+void JCR::setJobStarted()
+{
+   JCR *jcr = this;
+   jcr->job_started = true;
+   jcr->job_started_time = time(NULL);
+}
 
 void JCR::setJobStatus(int newJobStatus)
 {
diff --git a/src/lib/lex.c b/src/lib/lex.c
index 4e2558a..c4c78d6 100644
--- a/src/lib/lex.c
+++ b/src/lib/lex.c
@@ -139,6 +139,8 @@ LEX *lex_close_file(LEX *lf)
    }
    Dmsg1(dbglvl, "Close cfg file %s\n", lf->fname);
    free(lf->fname);
+   free_memory(lf->line);
+   lf->line = NULL;
    if (of) {
       of->options = lf->options;      /* preserve options */
       memcpy(lf, of, sizeof(LEX));
@@ -170,7 +172,6 @@ LEX *lex_open_file(LEX *lf, const char *filename, LEX_ERROR_HANDLER *scan_error)
    BPIPE *bpipe = NULL;
    char *fname = bstrdup(filename);
 
-
    if (fname[0] == '|') {
       if ((bpipe = open_bpipe(fname+1, 0, "rb")) == NULL) {
          free(fname);
@@ -206,6 +207,7 @@ LEX *lex_open_file(LEX *lf, const char *filename, LEX_ERROR_HANDLER *scan_error)
    lf->fd = fd;
    lf->bpipe = bpipe;
    lf->fname = fname;
+   lf->line = get_memory(5000);
    lf->state = lex_none;
    lf->ch = L_EOL;
    Dmsg1(dbglvl, "Return lex=%x\n", lf);
@@ -225,7 +227,7 @@ int lex_get_char(LEX *lf)
          " You may have a open double quote without the closing double quote.\n"));
    }
    if (lf->ch == L_EOL) {
-      if (bfgets(lf->line, MAXSTRING, lf->fd) == NULL) {
+      if (bfgets(lf->line, lf->fd) == NULL) {
          lf->ch = L_EOF;
          if (lf->next) {
             lex_close_file(lf);
@@ -253,7 +255,6 @@ void lex_unget_char(LEX *lf)
    } else {
       lf->col_no--;                   /* Backup to re-read char */
    }
-
 }
 
 
@@ -585,6 +586,13 @@ lex_get_token(LEX *lf, int expect)
          }
          if (ch == '"') {
             token = T_QUOTED_STRING;
+            /*
+             * Since we may be scanning a quoted list of names,
+             *  we get the next character (a comma indicates another
+             *  one), then we put it back for rescanning.
+             */
+            lex_get_char(lf);
+            lex_unget_char(lf);
             lf->state = lex_none;
             break;
          }
diff --git a/src/lib/lex.h b/src/lib/lex.h
index 115a60a..b2a55c5 100644
--- a/src/lib/lex.h
+++ b/src/lib/lex.h
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2012 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.
@@ -32,8 +32,6 @@
  *
  *   Kern Sibbald, MM
  *
- *   Version $Id$
- *
  */
 
 #ifndef _LEX_H
@@ -106,7 +104,7 @@ typedef struct s_lex_context {
    int options;                       /* scan options */
    char *fname;                       /* filename */
    FILE *fd;                          /* file descriptor */
-   char line[MAXSTRING];              /* input line */
+   POOLMEM *line;                     /* input line */
    char str[MAXSTRING];               /* string being scanned */
    int str_len;                       /* length of string */
    int line_no;                       /* file line number */
diff --git a/src/lib/message.c b/src/lib/message.c
index 24afdf1..3ae4d37 100644
--- a/src/lib/message.c
+++ b/src/lib/message.c
@@ -50,6 +50,7 @@ sql_escape_func p_sql_escape = NULL;
  *    daemons include this file.
  */
 const char *working_directory = NULL;       /* working directory path stored here */
+const char *assert_msg = (char *)NULL; /* ASSERT2 error message */
 int verbose = 0;                      /* increase User messages */
 int debug_level = 0;                  /* debug level */
 bool dbg_timestamp = false;           /* print timestamp in debug output */
@@ -130,7 +131,7 @@ void MSGS::unlock()
 void MSGS::wait_not_in_use()     /* leaves fides_mutex set */
 {
    lock();
-   while (m_in_use) {
+   while (m_in_use || m_closing) {
       unlock();
       bmicrosleep(0, 200);         /* wait */
       lock();
@@ -517,6 +518,11 @@ void close_msg(JCR *jcr)
       return;
    }
    msgs->wait_not_in_use();          /* leaves fides_mutex set */
+   /* Note get_closing() does not lock because we are already locked */
+   if (msgs->get_closing()) {
+      msgs->unlock();
+      return;
+   }
    msgs->set_closing();
    msgs->unlock();
 
@@ -539,20 +545,39 @@ void close_msg(JCR *jcr)
             if (!d->fd) {
                break;
             }
-            if (
-                (d->dest_code == MD_MAIL_ON_ERROR && jcr &&
-                  (jcr->JobStatus == JS_Terminated || jcr->JobStatus == JS_Warnings)) 
-                ||
-                (d->dest_code == MD_MAIL_ON_SUCCESS && jcr &&
-                 jcr->JobStatus == JS_ErrorTerminated)
-                ) {
-               goto rem_temp_file;
+
+            switch (d->dest_code) {
+            case MD_MAIL_ON_ERROR:
+               if (jcr) {
+                  switch (jcr->JobStatus) {
+                  case JS_Terminated:
+                  case JS_Warnings:
+                     goto rem_temp_file;
+                  default:
+                     break;
+                  }
+               }
+               break;
+            case MD_MAIL_ON_SUCCESS:
+               if (jcr) {
+                  switch (jcr->JobStatus) {
+                  case JS_Terminated:
+                  case JS_Warnings:
+                     break;
+                  default:
+                     goto rem_temp_file;
+                  }
+               }
+               break;
+            default:
+               break;
             }
 
             if (!(bpipe=open_mail_pipe(jcr, cmd, d))) {
                Pmsg0(000, _("open mail pipe failed.\n"));
                goto rem_temp_file;
             }
+
             Dmsg0(850, "Opened mail pipe\n");
             len = d->max_len+10;
             line = get_memory(len);
@@ -588,13 +613,17 @@ void close_msg(JCR *jcr)
             }
             free_memory(line);
 rem_temp_file:
-            /* Remove temp mail file */
-            fclose(d->fd);
-            d->fd = NULL;
-            /* Exclude spaces in mail_filename */
-            safer_unlink(d->mail_filename, MAIL_REGEX);
-            free_pool_memory(d->mail_filename);
-            d->mail_filename = NULL;
+            /* Remove temp file */
+            if (d->fd) {
+               fclose(d->fd);
+               d->fd = NULL;
+            }
+            if (d->mail_filename) {
+               /* Exclude spaces in mail_filename */
+               safer_unlink(d->mail_filename, MAIL_REGEX);
+               free_pool_memory(d->mail_filename);
+               d->mail_filename = NULL;
+            }
             Dmsg0(850, "end mail or mail on error\n");
             break;
          default:
@@ -797,13 +826,17 @@ void dispatch_message(JCR *jcr, int type, utime_t mtime, char *msg)
                    POOLMEM *esc_msg = get_pool_memory(PM_MESSAGE);
                    
                    int len = strlen(msg) + 1;
-                   esc_msg = check_pool_memory_size(esc_msg, len*2+1);
-                   p_sql_escape(jcr, jcr->db, esc_msg, msg, len);
-
-                   bstrutime(dt, sizeof(dt), mtime);
-                   Mmsg(cmd, "INSERT INTO Log (JobId, Time, LogText) VALUES (%s,'%s','%s')",
-                         edit_int64(jcr->JobId, ed1), dt, esc_msg);
-                   p_sql_query(jcr, cmd);
+                   esc_msg = check_pool_memory_size(esc_msg, len * 2 + 1);
+                   if (p_sql_escape(jcr, jcr->db, esc_msg, msg, len)) {
+                      bstrutime(dt, sizeof(dt), mtime);
+                      Mmsg(cmd, "INSERT INTO Log (JobId, Time, LogText) VALUES (%s,'%s','%s')",
+                            edit_int64(jcr->JobId, ed1), dt, esc_msg);
+                      if (!p_sql_query(jcr, cmd)) {
+                         delivery_error(_("Msg delivery error: Unable to store data in database.\n"));
+                      }
+                   } else {
+                      delivery_error(_("Msg delivery error: Unable to store data in database.\n"));
+                   }
                    
                    free_pool_memory(cmd);
                    free_pool_memory(esc_msg);
@@ -1107,13 +1140,15 @@ p_msg(const char *file, int line, int level, const char *fmt,...)
 
 #ifdef FULL_LOCATION
     if (level >= 0) {
-       len = bsnprintf(buf, sizeof(buf), "%s: %s:%d ", my_name, get_basename(file), line);
+       len = bsnprintf(buf, sizeof(buf), "%s: %s:%d-%u ", 
+             my_name, get_basename(file), line, get_jobid_from_tsd());
     } else {
        len = 0;
     }
 #else
-    len = 0;
+       len = 0;
 #endif
+
     va_start(arg_ptr, fmt);
     bvsnprintf(buf+len, sizeof(buf)-len, (char *)fmt, arg_ptr);
     va_end(arg_ptr);
diff --git a/src/lib/message.h b/src/lib/message.h
index e3fb1e5..fd6141e 100644
--- a/src/lib/message.h
+++ b/src/lib/message.h
@@ -148,8 +148,8 @@ bool get_trace(void);
 const char *get_basename(const char *pathname);
 
 class B_DB;
-typedef void (*sql_query_func)(JCR *jcr, const char *cmd);
-typedef void (*sql_escape_func)(JCR *jcr, B_DB* db, char *snew, char *old, int len);
+typedef bool (*sql_query_func)(JCR *jcr, const char *cmd);
+typedef bool (*sql_escape_func)(JCR *jcr, B_DB *db, char *snew, char *old, int len);
 
 extern DLL_IMP_EXP sql_query_func     p_sql_query;
 extern DLL_IMP_EXP sql_escape_func    p_sql_escape;
@@ -159,6 +159,7 @@ extern DLL_IMP_EXP bool          dbg_timestamp;          /* print timestamp in d
 extern DLL_IMP_EXP bool          prt_kaboom;             /* Print kaboom output */
 extern DLL_IMP_EXP int           verbose;
 extern DLL_IMP_EXP char          my_name[];
+extern DLL_IMP_EXP const char   *assert_msg;             /* Assert error message */
 extern DLL_IMP_EXP const char *  working_directory;
 extern DLL_IMP_EXP utime_t       daemon_start_time;
 
diff --git a/src/lib/mntent_cache.c b/src/lib/mntent_cache.c
index c30cc91..ca2c8a8 100644
--- a/src/lib/mntent_cache.c
+++ b/src/lib/mntent_cache.c
@@ -68,10 +68,15 @@
 #include <sys/stat.h>
 
 #if defined(HAVE_GETMNTENT)
-#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_AIX_OS)
+#if defined(HAVE_LINUX_OS) || \
+    defined(HAVE_HPUX_OS) || \
+    defined(HAVE_AIX_OS)
 #include <mntent.h>
 #elif defined(HAVE_SUN_OS)
 #include <sys/mnttab.h>
+#elif defined(HAVE_HURD_OS)
+#include <hurd/paths.h>
+#include <mntent.h>
 #endif /* HAVE_GETMNTENT */
 #elif defined(HAVE_GETMNTINFO)
 #if defined(HAVE_OPENBSD_OS)
@@ -181,7 +186,11 @@ static void refresh_mount_cache(void)
 #if defined(HAVE_GETMNTENT)
    FILE *fp;
    struct stat st;
-#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_IRIX_OS) || defined(HAVE_AIX_OS)
+#if defined(HAVE_LINUX_OS) || \
+    defined(HAVE_HPUX_OS) || \
+    defined(HAVE_IRIX_OS) || \
+    defined(HAVE_AIX_OS) || \
+    defined(HAVE_HURD_OS)
    struct mntent *mnt;
 
 #if defined(HAVE_LINUX_OS)
@@ -202,6 +211,10 @@ static void refresh_mount_cache(void)
    if ((fp = setmntent(MNTTAB, "r")) == (FILE *)NULL) {
       return;
    }
+#elif defined(HAVE_HURD_OS)
+   if ((fp = setmntent(_PATH_MNTTAB, "r")) == (FILE *)NULL) {
+      return;
+   }
 #endif
 
    while ((mnt = getmntent(fp)) != (struct mntent *)NULL) {
diff --git a/src/lib/mutex_list.h b/src/lib/mutex_list.h
index b3f51a2..2f07dd5 100644
--- a/src/lib/mutex_list.h
+++ b/src/lib/mutex_list.h
@@ -36,7 +36,7 @@
 
 #define PRIO_SD_DEV_ACQUIRE   4            /* dev.acquire_mutex */
 #define PRIO_SD_DEV_ACCESS    5            /* dev.m_mutex */
-#define PRIO_SD_VOL_LIST      10           /* vol_list_lock */
+#define PRIO_SD_VOL_LIST      0            /* vol_list_lock */
 #define PRIO_SD_READ_VOL_LIST 12           /* read_vol_list */
 #define PRIO_SD_DEV_SPOOL     14           /* dev.spool_mutex */
 #define PRIO_SD_ACH_ACCESS    16           /* autochanger lock mutex */
diff --git a/src/lib/parse_conf.h b/src/lib/parse_conf.h
index f075df7..0a83353 100644
--- a/src/lib/parse_conf.h
+++ b/src/lib/parse_conf.h
@@ -145,6 +145,7 @@ public:
    void clear_in_use() { lock(); m_in_use=false; unlock(); }
    void set_in_use() { wait_not_in_use(); m_in_use=true; unlock(); }
    void set_closing() { m_closing=true; }
+   bool get_closing() { return m_closing; }
    void clear_closing() { lock(); m_closing=false; unlock(); }
    bool is_closing() { lock(); bool rtn=m_closing; unlock(); return rtn; }
 
diff --git a/src/lib/protos.h b/src/lib/protos.h
index 548799f..d04c847 100644
--- a/src/lib/protos.h
+++ b/src/lib/protos.h
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2012 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.
@@ -72,6 +72,7 @@ int       delete_pid_file        (char *dir, const char *progname, int port);
 void      drop                   (char *uid, char *gid, bool keep_readall_caps);
 int       bmicrosleep            (int32_t sec, int32_t usec);
 char     *bfgets                 (char *s, int size, FILE *fd);
+char     *bfgets                 (POOLMEM *&s, FILE *fd);
 void      make_unique_filename   (POOLMEM **name, int Id, char *what);
 #ifndef HAVE_STRTOLL
 long long int strtoll            (const char *ptr, char **endptr, int base);
diff --git a/src/lib/signal.c b/src/lib/signal.c
index 79f0333..548466c 100644
--- a/src/lib/signal.c
+++ b/src/lib/signal.c
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2011 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2012 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.
@@ -133,6 +133,7 @@ static void dbg_print_bacula()
 extern "C" void signal_handler(int sig)
 {
    static int already_dead = 0;
+   int chld_status=-1;
 
    /* If we come back more than once, get out fast! */
    if (already_dead) {
@@ -193,6 +194,13 @@ extern "C" void signal_handler(int sig)
          strcpy((char *)working_directory, "/tmp/");
       }
       unlink("./core");               /* get rid of any old core file */
+
+#ifdef DEVELOPER /* When DEVELOPER not set, this is done below */
+      /* print information about the current state into working/<file>.bactrace */
+      dbg_print_bacula();
+#endif
+
+
       sprintf(pid_buf, "%d", (int)main_pid);
       Dmsg1(300, "Working=%s\n", working_directory);
       Dmsg1(300, "btpath=%s\n", btpath);
@@ -226,13 +234,18 @@ extern "C" void signal_handler(int sig)
       sigaction(sig,  &sigdefault, NULL);
       if (pid > 0) {
          Dmsg0(500, "Doing waitpid\n");
-         waitpid(pid, NULL, 0);       /* wait for child to produce dump */
+         waitpid(pid, &chld_status, 0);   /* wait for child to produce dump */
          Dmsg0(500, "Done waitpid\n");
       } else {
          Dmsg0(500, "Doing sleep\n");
          bmicrosleep(30, 0);
       }
-      fprintf(stderr, _("It looks like the traceback worked ...\n"));
+      if (WEXITSTATUS(chld_status) == 0) {
+         fprintf(stderr, _("It looks like the traceback worked...\n"));
+      } else {
+         fprintf(stderr, _("The btraceback call returned %d\n"), 
+                           WEXITSTATUS(chld_status));
+      }
       /* If we want it printed, do so */
 #ifdef direct_print
       if (prt_kaboom) {
@@ -256,8 +269,12 @@ extern "C" void signal_handler(int sig)
          fprintf(stderr, " ==== End traceback output ====\n\n");
       }
 #endif
+
+#ifndef DEVELOPER /* When DEVELOPER set, this is done above */
       /* print information about the current state into working/<file>.bactrace */
       dbg_print_bacula();
+#endif
+
    }
 #endif
    exit_handler(sig);
diff --git a/src/qt-console/bat.pro.in b/src/qt-console/bat.pro.in
index 60561d4..cacba21 100644
--- a/src/qt-console/bat.pro.in
+++ b/src/qt-console/bat.pro.in
@@ -31,6 +31,10 @@ qwt {
   LIBS        += @QWT_LDFLAGS@ @QWT_LIB@
 }
 
+macx {
+  ICON = images/bat_icon.icns
+}
+
 RESOURCES    = main.qrc
 MOC_DIR      = moc
 OBJECTS_DIR  = obj
diff --git a/src/qt-console/bcomm/dircomm.cpp b/src/qt-console/bcomm/dircomm.cpp
index 94ddd6d..b2261f9 100644
--- a/src/qt-console/bcomm/dircomm.cpp
+++ b/src/qt-console/bcomm/dircomm.cpp
@@ -371,7 +371,8 @@ int DirComm::read()
       case BNET_TEXT_INPUT:
          if (mainWin->m_commDebug) Pmsg4(000, "conn %i TEXT_INPUT at_prompt=%d  m_in_select=%d notify=%d\n", 
                m_conn, m_at_prompt, m_in_select, is_notify_enabled());
-         if (!m_in_select && is_notify_enabled()) {
+         //if (!m_in_select && is_notify_enabled()) {
+         if (!m_in_select) {
             mainWin->waitExit();
             new textInputDialog(m_console, m_conn);
          } else {
diff --git a/src/qt-console/images/bat_icon.icns b/src/qt-console/images/bat_icon.icns
new file mode 100644
index 0000000..b76fe1d
Binary files /dev/null and b/src/qt-console/images/bat_icon.icns differ
diff --git a/src/qt-console/main.cpp b/src/qt-console/main.cpp
index ce845ac..7c1f55b 100644
--- a/src/qt-console/main.cpp
+++ b/src/qt-console/main.cpp
@@ -38,11 +38,11 @@
 #include <QTranslator>
 
 /*
- * We need Qt version 4.7.4 or later to be able to comple correctly
+ * We need Qt version 4.8.4 or later to be able to comple correctly
  */
-#if QT_VERSION < 0x040704
+#if QT_VERSION < 0x040804
 #error "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-#error "You need Qt version 4.7.4 or later to build Bat"
+#error "You need Qt version 4.8.4 or later to build Bat"
 #error "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
 #endif
 
@@ -76,11 +76,11 @@ int main(int argc, char *argv[])
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
      
    QTranslator qtTranslator;
-   qtTranslator.load(QString("qt_") + QLocale::system().name());
+   qtTranslator.load(QString("qt_") + QLocale::system().name(),QLibraryInfo::location(QLibraryInfo::TranslationsPath));
    app->installTranslator(&qtTranslator);
 
    QTranslator batTranslator;
-   batTranslator.load(QString("bat_") + QLocale::system().name());
+   batTranslator.load(QString("bat_") + QLocale::system().name(),QLibraryInfo::location(QLibraryInfo::TranslationsPath));
    app->installTranslator(&batTranslator);
 
    register_message_callback(message_callback);
diff --git a/src/qt-console/select/textinput.ui b/src/qt-console/select/textinput.ui
index a72fc8a..4991b8f 100644
--- a/src/qt-console/select/textinput.ui
+++ b/src/qt-console/select/textinput.ui
@@ -10,47 +10,89 @@
     <x>0</x>
     <y>0</y>
     <width>430</width>
-    <height>132</height>
+    <height>96</height>
    </rect>
   </property>
+  <property name="focusPolicy">
+   <enum>Qt::StrongFocus</enum>
+  </property>
   <property name="windowTitle">
-   <string>Selection dialog</string>
+   <string>Text input dialog</string>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0">
-    <widget class="QLabel" name="labelWidget">
-     <property name="text">
-      <string/>
+   <item row="0" column="1">
+    <widget class="QLineEdit" name="lineEdit">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>50</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>100</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="focusPolicy">
+      <enum>Qt::TabFocus</enum>
      </property>
     </widget>
    </item>
-   <item row="1" column="1">
-    <widget class="QLabel" name="label">
+   <item row="0" column="0">
+    <widget class="QLabel" name="labelWidget">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
      <property name="text">
-      <string>TextLabel</string>
+      <string>Message</string>
      </property>
     </widget>
    </item>
-   <item row="2" column="1">
-    <widget class="QLineEdit" name="lineEdit"/>
-   </item>
-   <item row="3" column="1">
+   <item row="2" column="0" colspan="2">
     <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>5</number>
+     </property>
      <item>
       <spacer name="horizontalSpacer">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>40</width>
-         <height>20</height>
+         <width>26</width>
+         <height>9</height>
         </size>
        </property>
       </spacer>
      </item>
      <item>
       <widget class="QDialogButtonBox" name="buttonBox">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>16777215</width>
+         <height>38</height>
+        </size>
+       </property>
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
diff --git a/src/qt-console/util/fmtwidgetitem.cpp b/src/qt-console/util/fmtwidgetitem.cpp
index d284ac2..ef742bf 100644
--- a/src/qt-console/util/fmtwidgetitem.cpp
+++ b/src/qt-console/util/fmtwidgetitem.cpp
@@ -130,7 +130,7 @@ QString convertBytesIEC(qint64 qfld)
 
    /* having divided for a smaller unit, now we can safely convert to double and
       use the extra room for decimals */
-   return QString("%1 %2iB").arg(qfld / 1000.0, 0, 'f', 2).arg(suffix);
+   return QString("%1 %2iB").arg(qfld / 1024.0, 0, 'f', 2).arg(suffix);
 }
 
 /* String to human value based on k=1000 */
diff --git a/src/stored/acquire.c b/src/stored/acquire.c
index 97936b9..ef31f74 100644
--- a/src/stored/acquire.c
+++ b/src/stored/acquire.c
@@ -1,7 +1,7 @@
 /*
    Bacula(R) - The Network Backup Solution
 
-   Copyright (C) 2002-2012 Free Software Foundation Europe e.V.
+   Copyright (C) 2002-2013 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.
@@ -35,6 +35,8 @@
 #include "bacula.h"                   /* pull in global headers */
 #include "stored.h"                   /* pull in Storage Deamon headers */
 
+static int const rdbglvl = 100;
+
 /* Forward referenced functions */
 static void attach_dcr_to_dev(DCR *dcr);
 static void detach_dcr_from_dev(DCR *dcr);
@@ -51,7 +53,7 @@ static void set_dcr_from_vol(DCR *dcr, VOL_LIST *vol);
  */
 bool acquire_device_for_read(DCR *dcr)
 {
-   DEVICE *dev = dcr->dev;
+   DEVICE *dev;
    JCR *jcr = dcr->jcr;
    bool ok = false;
    bool tape_previously_mounted;
@@ -61,9 +63,11 @@ bool acquire_device_for_read(DCR *dcr)
    int vol_label_status;
    int retry = 0;
    
-   P(dev->read_acquire_mutex);
-   Dmsg2(950, "dcr=%p dev=%p\n", dcr, dcr->dev);
-   Dmsg2(950, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
+   Enter(rdbglvl);
+   dev = dcr->dev;
+   dev->Lock_read_acquire();
+   Dmsg2(rdbglvl, "dcr=%p dev=%p\n", dcr, dcr->dev);
+   Dmsg2(rdbglvl, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
    dev->dblock(BST_DOING_ACQUIRE);
 
    if (dev->num_writers > 0) {
@@ -91,12 +95,7 @@ bool acquire_device_for_read(DCR *dcr)
    }
    set_dcr_from_vol(dcr, vol);
 
-   if (generate_plugin_event(jcr, bsdEventDeviceOpen, dcr) != bRC_OK) {
-      Jmsg(jcr, M_FATAL, 0, _("generate_plugin_event(bsdEventDeviceOpen) Failed\n"));
-      goto get_out;
-   }
-
-   Dmsg2(100, "Want Vol=%s Slot=%d\n", vol->VolumeName, vol->Slot);
+   Dmsg2(rdbglvl, "Want Vol=%s Slot=%d\n", vol->VolumeName, vol->Slot);
     
    /*
     * If the MediaType requested for this volume is not the
@@ -110,7 +109,7 @@ bool acquire_device_for_read(DCR *dcr)
     *    them such as the block pointer (size may change), but we do
     *    not release the dcr.
     */
-   Dmsg2(50, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
+   Dmsg2(rdbglvl, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
    if (dcr->media_type[0] && strcmp(dcr->media_type, dev->device->media_type) != 0) {
       RCTX rctx;
       DIRSTORE *store;
@@ -119,12 +118,10 @@ bool acquire_device_for_read(DCR *dcr)
       Jmsg3(jcr, M_INFO, 0, _("Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
                               "  device=%s\n"), 
             dcr->media_type, dev->device->media_type, dev->print_name());
-      Dmsg3(50, "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
+      Dmsg3(rdbglvl, "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
                               "  device=%s\n", 
             dcr->media_type, dev->device->media_type, dev->print_name());
 
-      generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
-
       dev->dunblock(DEV_UNLOCKED);
 
       lock_reservations();
@@ -156,8 +153,8 @@ bool acquire_device_for_read(DCR *dcr)
           * Switching devices, so acquire lock on new device,
           *   then release the old one.
           */
-         P(dcr->dev->read_acquire_mutex);
-         V(dev->read_acquire_mutex);
+         dcr->dev->Lock_read_acquire();      /* lock new one */
+         dev->Unlock_read_acquire();         /* release old one */
          dev = dcr->dev;                     /* get new device pointer */
          dev->dblock(BST_DOING_ACQUIRE); 
 
@@ -165,10 +162,6 @@ bool acquire_device_for_read(DCR *dcr)
          Jmsg(jcr, M_INFO, 0, _("Media Type change.  New read device %s chosen.\n"),
             dev->print_name());
          Dmsg1(50, "Media Type change.  New read device %s chosen.\n", dev->print_name());
-         if (generate_plugin_event(jcr, bsdEventDeviceOpen, dcr) != bRC_OK) {
-            Jmsg(jcr, M_FATAL, 0, _("generate_plugin_event(bsdEventDeviceOpen) Failed\n"));
-            goto get_out;
-         }
          bstrncpy(dcr->VolumeName, vol->VolumeName, sizeof(dcr->VolumeName));
          dcr->setVolCatName(vol->VolumeName);
          bstrncpy(dcr->media_type, vol->MediaType, sizeof(dcr->media_type));
@@ -180,17 +173,17 @@ bool acquire_device_for_read(DCR *dcr)
          /* error */
          Jmsg1(jcr, M_FATAL, 0, _("No suitable device found to read Volume \"%s\"\n"),
             vol->VolumeName);
-         Dmsg1(50, "No suitable device found to read Volume \"%s\"\n", vol->VolumeName);
+         Dmsg1(rdbglvl, "No suitable device found to read Volume \"%s\"\n", vol->VolumeName);
          goto get_out;
       }
    }
-   Dmsg2(400, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
+   Dmsg2(rdbglvl, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
 
    dev->clear_unload();
 
    if (dev->vol && dev->vol->is_swapping()) {
       dev->vol->set_slot(vol->Slot);
-      Dmsg3(100, "swapping: slot=%d Vol=%s dev=%s\n", dev->vol->get_slot(),
+      Dmsg3(rdbglvl, "swapping: slot=%d Vol=%s dev=%s\n", dev->vol->get_slot(),
          dev->vol->vol_name, dev->print_name());
    }
 
@@ -201,9 +194,9 @@ bool acquire_device_for_read(DCR *dcr)
 // tape_initially_mounted = tape_previously_mounted;
 
    /* Volume info is always needed because of VolParts */
-   Dmsg1(150, "dir_get_volume_info vol=%s\n", dcr->VolumeName);
+   Dmsg1(rdbglvl, "dir_get_volume_info vol=%s\n", dcr->VolumeName);
    if (!dir_get_volume_info(dcr, GET_VOL_INFO_FOR_READ)) {
-      Dmsg2(150, "dir_get_vol_info failed for vol=%s: %s\n", 
+      Dmsg2(rdbglvl, "dir_get_vol_info failed for vol=%s: %s\n", 
          dcr->VolumeName, jcr->errmsg);
       Jmsg1(jcr, M_WARNING, 0, "Read acquire: %s", jcr->errmsg);
    }
@@ -232,7 +225,7 @@ bool acquire_device_for_read(DCR *dcr)
        * reading. If it is a file, it opens it.
        * If it is a tape, it checks the volume name
        */
-      Dmsg1(100, "bstored: open vol=%s\n", dcr->VolumeName);
+      Dmsg1(rdbglvl, "open vol=%s\n", dcr->VolumeName);
       if (!dev->open(dcr, OPEN_READ_ONLY)) {
          if (!dev->poll) {
             Jmsg3(jcr, M_WARNING, 0, _("Read open device %s Volume \"%s\" failed: ERR=%s\n"),
@@ -240,19 +233,19 @@ bool acquire_device_for_read(DCR *dcr)
          }
          goto default_path;
       }
-      Dmsg1(50, "opened dev %s OK\n", dev->print_name());
+      Dmsg1(rdbglvl, "opened dev %s OK\n", dev->print_name());
       
       /* Read Volume Label */
-      Dmsg0(50, "calling read-vol-label\n");
+      Dmsg0(rdbglvl, "calling read-vol-label\n");
       vol_label_status = read_dev_volume_label(dcr);
       switch (vol_label_status) {
       case VOL_OK:
-         Dmsg0(50, "Got correct volume.\n");
+         Dmsg0(rdbglvl, "Got correct volume.\n");
          ok = true;
          dev->VolCatInfo = dcr->VolCatInfo;     /* structure assignment */
          break;                    /* got it */
       case VOL_IO_ERROR:
-         Dmsg0(50, "IO Error\n");
+         Dmsg0(rdbglvl, "IO Error\n");
          /*
           * Send error message generated by read_dev_volume_label()
           *  only we really had a tape mounted. This supresses superfluous
@@ -263,7 +256,7 @@ bool acquire_device_for_read(DCR *dcr)
          }
          goto default_path;
       case VOL_NAME_ERROR:
-         Dmsg3(50, "Vol name=%s want=%s drv=%s.\n", dev->VolHdr.VolumeName, 
+         Dmsg3(rdbglvl, "Vol name=%s want=%s drv=%s.\n", dev->VolHdr.VolumeName, 
                dcr->VolumeName, dev->print_name());
          if (dev->is_volume_to_unload()) {
             goto default_path;
@@ -279,7 +272,7 @@ bool acquire_device_for_read(DCR *dcr)
       default:
          Jmsg1(jcr, M_WARNING, 0, "Read acquire: %s", jcr->errmsg);
 default_path:
-         Dmsg0(50, "default path\n");
+         Dmsg0(rdbglvl, "default path\n");
          tape_previously_mounted = true;
          
          /*
@@ -293,7 +286,7 @@ default_path:
          /* Call autochanger only once unless ask_sysop called */
          if (try_autochanger) {
             int stat;
-            Dmsg2(200, "calling autoload Vol=%s Slot=%d\n",
+            Dmsg2(rdbglvl, "calling autoload Vol=%s Slot=%d\n",
                dcr->VolumeName, dcr->VolCatInfo.Slot);
             stat = autoload_device(dcr, 0, NULL);
             if (stat > 0) {
@@ -303,7 +296,7 @@ default_path:
          }
          
          /* Mount a specific volume and no other */
-         Dmsg0(200, "calling dir_ask_sysop\n");
+         Dmsg0(rdbglvl, "calling dir_ask_sysop\n");
          if (!dir_ask_sysop_to_mount_volume(dcr, ST_READ)) {
             goto get_out;             /* error return */
          }
@@ -337,12 +330,8 @@ default_path:
       dcr->VolumeName, dev->print_name());
 
 get_out:
-   dev->dlock();
+   dev->Lock();
    dcr->clear_reserved();
-   /* If failed and not writing plugin close device */
-   if (!ok && dev->num_writers == 0 && dev->num_reserved() == 0) {
-      generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
-   }
    /* 
     * Normally we are blocked, but in at least one error case above 
     *   we are not blocked because we unsuccessfully tried changing
@@ -351,11 +340,12 @@ get_out:
    if (dev->is_blocked()) {
       dev->dunblock(DEV_LOCKED);
    } else {
-      dev->dunlock();               /* dunblock() unlock the device too */
+      dev->Unlock();               /* dunblock() unlock the device too */
    }
-   Dmsg2(950, "dcr=%p dev=%p\n", dcr, dcr->dev);
-   Dmsg2(950, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
-   V(dev->read_acquire_mutex);
+   Dmsg2(rdbglvl, "dcr=%p dev=%p\n", dcr, dcr->dev);
+   Dmsg2(rdbglvl, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
+   dev->Unlock_read_acquire();
+   Leave(rdbglvl);
    return ok;
 }
 
@@ -375,10 +365,11 @@ DCR *acquire_device_for_append(DCR *dcr)
    bool ok = false;
    bool have_vol = false;
 
+   Enter(200);
    init_device_wait_timers(dcr);
 
-   P(dev->acquire_mutex);           /* only one job at a time */
-   dev->dlock();
+   dev->Lock_acquire();             /* only one job at a time */
+   dev->Lock();
    Dmsg1(100, "acquire_append device is %s\n", dev->is_tape()?"tape":
         (dev->is_dvd()?"DVD":"disk"));
 
@@ -413,9 +404,9 @@ DCR *acquire_device_for_append(DCR *dcr)
    }
 
    if (!have_vol) {
-      dev->r_dlock(true);
+      dev->rLock(true);
       block_device(dev, BST_DOING_ACQUIRE);
-      dev->dunlock();
+      dev->Unlock();
       Dmsg1(190, "jid=%u Do mount_next_write_vol\n", (uint32_t)jcr->JobId);
       if (!dcr->mount_next_write_volume()) {
          if (!job_canceled(jcr)) {
@@ -425,20 +416,15 @@ DCR *acquire_device_for_append(DCR *dcr)
             Dmsg1(200, "Could not ready device %s for append.\n", 
                dev->print_name());
          }
-         dev->dlock();
+         dev->Lock();
          unblock_device(dev);
          goto get_out;
       }
       Dmsg2(190, "Output pos=%u:%u\n", dcr->dev->file, dcr->dev->block_num);
-      dev->dlock();
+      dev->Lock();
       unblock_device(dev);
    }
 
-   if (generate_plugin_event(jcr, bsdEventDeviceOpen, dcr) != bRC_OK) {
-      Jmsg(jcr, M_FATAL, 0, _("generate_plugin_event(bsdEventDeviceOpen) Failed\n"));
-      goto get_out;
-   }
-
    dev->num_writers++;                /* we are now a writer */
    if (jcr->NumWriteVolumes == 0) {
       jcr->NumWriteVolumes = 1;
@@ -453,8 +439,9 @@ DCR *acquire_device_for_append(DCR *dcr)
 get_out:
    /* Don't plugin close here, we might have multiple writers */
    dcr->clear_reserved();
-   dev->dunlock();
-   V(dev->acquire_mutex);
+   dev->Unlock();
+   dev->Unlock_acquire();
+   Leave(200);
    return ok ? dcr : NULL;
 }
 
@@ -475,7 +462,7 @@ bool release_device(DCR *dcr)
    char tbuf[100];
    int was_blocked = BST_NOT_BLOCKED;
 
-   dev->dlock();
+   dev->Lock();
    if (!dev->is_blocked()) {
       block_device(dev, BST_RELEASING);
    } else {
@@ -490,7 +477,6 @@ bool release_device(DCR *dcr)
 
    if (dev->can_read()) {
       VOLUME_CAT_INFO *vol = &dev->VolCatInfo;
-      generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
       dev->clear_read();              /* clear read bit */
       Dmsg2(150, "dir_update_vol_info. label=%d Vol=%s\n",
          dev->is_labeled(), vol->VolCatName);
@@ -539,18 +525,17 @@ bool release_device(DCR *dcr)
        *   there are no writers. It was probably reserved.
        */
       volume_unused(dcr);
-      generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
    }
    Dmsg3(100, "%d writers, %d reserve, dev=%s\n", dev->num_writers, dev->num_reserved(),
          dev->print_name());
 
    /* If no writers, close if file or !CAP_ALWAYS_OPEN */
    if (dev->num_writers == 0 && (!dev->is_tape() || !dev->has_cap(CAP_ALWAYSOPEN))) {
-      generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
       dvd_remove_empty_part(dcr);        /* get rid of any empty spool part */
       dev->close();
       free_volume(dev);
    }
+   unlock_volumes();
 
    /* Fire off Alert command and include any output */
    if (!job_canceled(jcr) && dcr->device->alert_command) {
@@ -583,7 +568,6 @@ bool release_device(DCR *dcr)
    Dmsg2(100, "JobId=%u broadcast wait_device_release at %s\n", 
          (uint32_t)jcr->JobId, bstrftimes(tbuf, sizeof(tbuf), (utime_t)time(NULL)));
    pthread_cond_broadcast(&wait_device_release);
-   unlock_volumes();
 
    /*
     * If we are the thread that blocked the device, then unblock it
@@ -593,7 +577,7 @@ bool release_device(DCR *dcr)
    } else {
       /* Otherwise, reset the prior block status and unlock */
       dev->set_blocked(was_blocked);
-      dev->dunlock();
+      dev->Unlock();
    }
 
    if (dcr->keep_dcr) {
@@ -601,7 +585,7 @@ bool release_device(DCR *dcr)
    } else {
       free_dcr(dcr);
    }
-   Dmsg2(100, "===== Device %s released by JobId=%u\n", dev->print_name(),
+   Dmsg2(100, "Device %s released by JobId=%u\n", dev->print_name(),
          (uint32_t)jcr->JobId);
    return ok;
 }
@@ -645,6 +629,12 @@ DCR *new_dcr(JCR *jcr, DCR *dcr, DEVICE *dev)
          Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
          Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
       }
+      if ((errstat = pthread_mutex_init(&dcr->r_mutex, NULL)) != 0) {
+         berrno be;
+         dev->dev_errno = errstat;
+         Mmsg1(dev->errmsg, _("Unable to init r_mutex: ERR=%s\n"), be.bstrerror(errstat));
+         Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
+      }
    }
    dcr->jcr = jcr;                 /* point back to jcr */
    /* Set device information, possibly change device */
@@ -667,7 +657,7 @@ DCR *new_dcr(JCR *jcr, DCR *dcr, DEVICE *dev)
          dcr->max_job_spool_size = dev->device->max_job_spool_size;
       }
       dcr->device = dev->device;
-      dcr->dev = dev;
+      dcr->set_dev(dev);
       attach_dcr_to_dev(dcr);
    }
    return dcr;
@@ -713,11 +703,12 @@ static void attach_dcr_to_dev(DCR *dcr)
    if (jcr) Dmsg1(500, "JobId=%u enter attach_dcr_to_dev\n", (uint32_t)jcr->JobId);
    /* ***FIXME*** return error if dev not initiated */
    if (!dcr->attached_to_dev && dev->initiated && jcr && jcr->getJobType() != JT_SYSTEM) {
-      dev->dlock();
+      dev->Lock();
+      Dmsg4(200, "Attach Jid=%d dcr=%p size=%d dev=%s\n", (uint32_t)jcr->JobId, 
+         dcr, dev->attached_dcrs->size(), dev->print_name());
       dev->attached_dcrs->append(dcr);  /* attach dcr to device */
-      dev->dunlock();
+      dev->Unlock();
       dcr->attached_to_dev = true;
-      Dmsg1(500, "JobId=%u attach_dcr_to_dev\n", (uint32_t)jcr->JobId);
    }
    V(dcr->m_mutex);
 }
@@ -733,10 +724,15 @@ static void locked_detach_dcr_from_dev(DCR *dcr)
    /* Detach this dcr only if attached */
    if (dcr->attached_to_dev && dev) {
       dcr->unreserve_device();
-      dev->dlock();
-      dcr->dev->attached_dcrs->remove(dcr);  /* detach dcr from device */
+      dev->Lock();
+      Dmsg4(200, "Detach Jid=%d dcr=%p size=%d to dev=%s\n", (uint32_t)dcr->jcr->JobId, 
+         dcr, dev->attached_dcrs->size(), dev->print_name());
+      dcr->attached_to_dev = false;
+      if (dev->attached_dcrs->size()) {
+         dev->attached_dcrs->remove(dcr);  /* detach dcr from device */
+      }
 //    remove_dcr_from_dcrs(dcr);      /* remove dcr from jcr list */
-      dev->dunlock();
+      dev->Unlock();
    }
    dcr->attached_to_dev = false;
 }
@@ -776,6 +772,7 @@ void free_dcr(DCR *dcr)
    }
    V(dcr->m_mutex);
    pthread_mutex_destroy(&dcr->m_mutex);
+   pthread_mutex_destroy(&dcr->r_mutex);
    free(dcr);
 }
 
diff --git a/src/stored/askdir.c b/src/stored/askdir.c
index a5ac547..9a89927 100644
--- a/src/stored/askdir.c
+++ b/src/stored/askdir.c
@@ -36,6 +36,8 @@
 #include "bacula.h"                   /* pull in global headers */
 #include "stored.h"                   /* pull in Storage Deamon headers */
 
+static const int dbglvl = 200;
+
 /* Requests sent to the Director */
 static char Find_media[]   = "CatReq Job=%s FindMedia=%d pool_name=%s media_type=%s\n";
 static char Get_Vol_Info[] = "CatReq Job=%s GetVolInfo VolName=%s write=%d\n";
@@ -106,7 +108,7 @@ bool dir_update_device(JCR *jcr, DEVICE *dev)
       dev->is_tape()?100000:1,
       dev->autoselect, 0, 
       ChangerName.c_str(), MediaType.c_str(), VolumeName.c_str());
-   Dmsg1(100, ">dird: %s\n", dir->msg);
+   Dmsg1(dbglvl, ">dird: %s\n", dir->msg);
    return ok;
 }
 
@@ -135,7 +137,7 @@ bool dir_update_changer(JCR *jcr, AUTOCHANGER *changer)
       "*",                      /* ChangerName */
       MediaType.c_str(),        /* MediaType */
       "*");                     /* VolName */
-   Dmsg1(100, ">dird: %s\n", dir->msg);
+   Dmsg1(dbglvl, ">dird: %s\n", dir->msg);
    return ok;
 }
 #endif
@@ -173,12 +175,12 @@ static bool do_get_volume_info(DCR *dcr)
 
     dcr->setVolCatInfo(false);
     if (dir->recv() <= 0) {
-       Dmsg0(200, "getvolname error bnet_recv\n");
+       Dmsg0(dbglvl, "getvolname error bnet_recv\n");
        Mmsg(jcr->errmsg, _("Network error on bnet_recv in req_vol_info.\n"));
        return false;
     }
     memset(&vol, 0, sizeof(vol));
-    Dmsg1(100, "<dird %s", dir->msg);
+    Dmsg1(dbglvl, "<dird %s", dir->msg);
     n = sscanf(dir->msg, OK_media, vol.VolCatName,
                &vol.VolCatJobs, &vol.VolCatFiles,
                &vol.VolCatBlocks, &vol.VolCatBytes,
@@ -190,7 +192,7 @@ static bool do_get_volume_info(DCR *dcr)
                &vol.EndFile, &vol.EndBlock, &vol.VolCatParts,
                &vol.LabelType, &vol.VolMediaId);
     if (n != 22) {
-       Dmsg3(100, "Bad response from Dir fields=%d, len=%d: %s", 
+       Dmsg3(dbglvl, "Bad response from Dir fields=%d, len=%d: %s", 
              n, dir->msglen, dir->msg);
        Mmsg(jcr->errmsg, _("Error getting Volume info: %s"), dir->msg);
        return false;
@@ -201,7 +203,7 @@ static bool do_get_volume_info(DCR *dcr)
     bstrncpy(dcr->VolumeName, vol.VolCatName, sizeof(dcr->VolumeName));
     dcr->VolCatInfo = vol;            /* structure assignment */
 
-    Dmsg2(100, "do_reqest_vol_info return true slot=%d Volume=%s\n",
+    Dmsg2(dbglvl, "do_reqest_vol_info return true slot=%d Volume=%s\n",
           vol.Slot, vol.VolCatName);
     return true;
 }
@@ -219,19 +221,19 @@ static bool do_get_volume_info(DCR *dcr)
  */
 bool dir_get_volume_info(DCR *dcr, enum get_vol_info_rw writing)
 {
-    JCR *jcr = dcr->jcr;
-    BSOCK *dir = jcr->dir_bsock;
+   JCR *jcr = dcr->jcr;
+   BSOCK *dir = jcr->dir_bsock;
 
-    P(vol_info_mutex);
-    dcr->setVolCatName(dcr->VolumeName);
-    bash_spaces(dcr->getVolCatName());
-    dir->fsend(Get_Vol_Info, jcr->Job, dcr->getVolCatName(),
-       writing==GET_VOL_INFO_FOR_WRITE?1:0);
-    Dmsg1(100, ">dird %s", dir->msg);
-    unbash_spaces(dcr->getVolCatName());
-    bool ok = do_get_volume_info(dcr);
-    V(vol_info_mutex);
-    return ok;
+   P(vol_info_mutex);
+   dcr->setVolCatName(dcr->VolumeName);
+   bash_spaces(dcr->getVolCatName());
+   dir->fsend(Get_Vol_Info, jcr->Job, dcr->getVolCatName(),
+      writing==GET_VOL_INFO_FOR_WRITE?1:0);
+   Dmsg1(dbglvl, ">dird %s", dir->msg);
+   unbash_spaces(dcr->getVolCatName());
+   bool ok = do_get_volume_info(dcr);
+   V(vol_info_mutex);
+   return ok;
 }
 
 
@@ -255,7 +257,7 @@ bool dir_find_next_appendable_volume(DCR *dcr)
     bool rtn;
     char lastVolume[MAX_NAME_LENGTH];
 
-    Dmsg2(200, "dir_find_next_appendable_volume: reserved=%d Vol=%s\n", 
+    Dmsg2(dbglvl, "dir_find_next_appendable_volume: reserved=%d Vol=%s\n", 
        dcr->is_reserved(), dcr->VolumeName);
 
     /*
@@ -273,33 +275,33 @@ bool dir_find_next_appendable_volume(DCR *dcr)
        dir->fsend(Find_media, jcr->Job, vol_index, dcr->pool_name, dcr->media_type);
        unbash_spaces(dcr->media_type);
        unbash_spaces(dcr->pool_name);
-       Dmsg1(100, ">dird %s", dir->msg);
+       Dmsg1(dbglvl, ">dird %s", dir->msg);
        if (do_get_volume_info(dcr)) {
           /* Give up if we get the same volume name twice */
           if (lastVolume[0] && strcmp(lastVolume, dcr->VolumeName) == 0) {
-             Dmsg1(100, "Got same vol = %s\n", lastVolume);
+             Dmsg1(dbglvl, "Got same vol = %s\n", lastVolume);
              break;
           }
           bstrncpy(lastVolume, dcr->VolumeName, sizeof(lastVolume));
           if (dcr->can_i_write_volume()) {
-             Dmsg1(100, "Call reserve_volume for write. Vol=%s\n", dcr->VolumeName);
+             Dmsg1(dbglvl, "Call reserve_volume for write. Vol=%s\n", dcr->VolumeName);
              if (reserve_volume(dcr, dcr->VolumeName) == NULL) {
-                Dmsg2(100, "Could not reserve volume %s on %s\n", dcr->VolumeName,
+                Dmsg2(dbglvl, "Could not reserve volume %s on %s\n", dcr->VolumeName,
                     dcr->dev->print_name());
                 continue;
              }
-             Dmsg1(100, "dir_find_next_appendable_volume return true. vol=%s\n",
+             Dmsg1(dbglvl, "dir_find_next_appendable_volume return true. vol=%s\n",
                 dcr->VolumeName);
              rtn = true;
              goto get_out;
           } else {
-             Dmsg1(100, "Volume %s is in use.\n", dcr->VolumeName);
+             Dmsg1(dbglvl, "Volume %s is in use.\n", dcr->VolumeName);
              /* If volume is not usable, it is in use by someone else */
              dcr->set_found_in_use();
              continue;
           }
        }
-       Dmsg2(100, "No vol. index %d return false. dev=%s\n", vol_index,
+       Dmsg2(dbglvl, "No vol. index %d return false. dev=%s\n", vol_index,
           dcr->dev->print_name());
        break;
     }
@@ -342,7 +344,7 @@ bool dir_update_volume_info(DCR *dcr, bool label, bool update_LastWritten)
 
    /* Lock during Volume update */
    P(vol_info_mutex);
-   Dmsg1(100, "Update cat VolBytes=%lld\n", vol->VolCatBytes);
+   Dmsg1(dbglvl, "Update cat VolBytes=%lld\n", vol->VolCatBytes);
    /* Just labeled or relabeled the tape */
    if (label) {
       bstrncpy(vol->VolCatStatus, "Append", sizeof(vol->VolCatStatus));
@@ -365,13 +367,13 @@ bool dir_update_volume_info(DCR *dcr, bool label, bool update_LastWritten)
       edit_int64(vol->VolWriteTime, ed4),
       edit_uint64(vol->VolFirstWritten, ed5),
       vol->VolCatParts);
-    Dmsg1(100, ">dird %s", dir->msg);
+    Dmsg1(dbglvl, ">dird %s", dir->msg);
 
    /* Do not lock device here because it may be locked from label */
    if (!jcr->is_canceled()) {
       if (!do_get_volume_info(dcr)) {
          Jmsg(jcr, M_FATAL, 0, "%s", jcr->errmsg);
-         Dmsg2(100, _("Didn't get vol info vol=%s: ERR=%s"), 
+         Dmsg2(dbglvl, _("Didn't get vol info vol=%s: ERR=%s"), 
             vol->VolCatName, jcr->errmsg);
          goto bail_out;
       }
@@ -403,7 +405,7 @@ bool dir_create_jobmedia_record(DCR *dcr, bool zero)
    /* Throw out records where FI is zero -- i.e. nothing done */
    if (!zero && dcr->VolFirstIndex == 0 && 
         (dcr->StartBlock != 0 || dcr->EndBlock != 0)) {
-      Dmsg0(100, "JobMedia FI=0 StartBlock!=0 record suppressed\n");
+      Dmsg0(dbglvl, "JobMedia FI=0 StartBlock!=0 record suppressed\n");
       return true;
    }
 
@@ -424,16 +426,16 @@ bool dir_create_jobmedia_record(DCR *dcr, bool zero)
          dcr->Copy, dcr->Stripe, 
          edit_uint64(dcr->VolMediaId, ed1));
    }
-   Dmsg1(100, ">dird %s", dir->msg);
+   Dmsg1(dbglvl, ">dird %s", dir->msg);
    if (dir->recv() <= 0) {
-      Dmsg0(190, "create_jobmedia error bnet_recv\n");
+      Dmsg0(dbglvl, "create_jobmedia error bnet_recv\n");
       Jmsg(jcr, M_FATAL, 0, _("Error creating JobMedia record: ERR=%s\n"),
            dir->bstrerror());
       return false;
    }
-   Dmsg1(100, "<dird %s", dir->msg);
+   Dmsg1(dbglvl, "<dird %s", dir->msg);
    if (strcmp(dir->msg, OK_create) != 0) {
-      Dmsg1(130, "Bad response from Dir: %s\n", dir->msg);
+      Dmsg1(dbglvl, "Bad response from Dir: %s\n", dir->msg);
       Jmsg(jcr, M_FATAL, 0, _("Error creating JobMedia record: %s\n"), dir->msg);
       return false;
    }
@@ -512,7 +514,7 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
    if (job_canceled(jcr)) {
       return false;
    }
-   Dmsg0(400, "enter dir_ask_sysop_to_create_appendable_volume\n");
+   Dmsg0(dbglvl, "enter dir_ask_sysop_to_create_appendable_volume\n");
    ASSERT(dev->blocked());
    for ( ;; ) {
       if (job_canceled(jcr)) {
@@ -538,16 +540,16 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
                dcr->pool_name,
                dcr->media_type);
             Jmsg(jcr, M_MOUNT, 0, "%s", dev->errmsg);
-            Dmsg1(100, "%s", dev->errmsg);
+            Dmsg1(dbglvl, "%s", dev->errmsg);
          }
       }
 
       jcr->sendJobStatus(JS_WaitMedia);
 
       stat = wait_for_sysop(dcr);
-      Dmsg1(100, "Back from wait_for_sysop stat=%d\n", stat);
+      Dmsg1(dbglvl, "Back from wait_for_sysop stat=%d\n", stat);
       if (dev->poll) {
-         Dmsg1(100, "Poll timeout in create append vol on device %s\n", dev->print_name());
+         Dmsg1(dbglvl, "Poll timeout in create append vol on device %s\n", dev->print_name());
          continue;
       }
 
@@ -556,7 +558,7 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
             Mmsg(dev->errmsg, _("Max time exceeded waiting to mount Storage Device %s for Job %s\n"),
                dev->print_name(), jcr->Job);
             Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
-            Dmsg1(100, "Gave up waiting on device %s\n", dev->print_name());
+            Dmsg1(dbglvl, "Gave up waiting on device %s\n", dev->print_name());
             return false;             /* exceeded maximum waits */
          }
          continue;
@@ -567,12 +569,12 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
          Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
          return false;
       }
-      Dmsg1(100, "Someone woke me for device %s\n", dev->print_name());
+      Dmsg1(dbglvl, "Someone woke me for device %s\n", dev->print_name());
    }
 
 get_out:
    jcr->sendJobStatus(JS_Running);
-   Dmsg0(100, "leave dir_ask_sysop_to_mount_create_appendable_volume\n");
+   Dmsg0(dbglvl, "leave dir_ask_sysop_to_mount_create_appendable_volume\n");
    return true;
 }
 
@@ -594,7 +596,7 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
    DEVICE *dev = dcr->dev;
    JCR *jcr = dcr->jcr;
 
-   Dmsg0(400, "enter dir_ask_sysop_to_mount_volume\n");
+   Dmsg0(dbglvl, "enter dir_ask_sysop_to_mount_volume\n");
    if (!dcr->VolumeName[0]) {
       Mmsg0(dev->errmsg, _("Cannot request another volume: no volume name given.\n"));
       return false;
@@ -619,13 +621,13 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
       if (!dev->poll && (stat == W_TIMEOUT || stat == W_MOUNT)) {
          char *msg;
          if (mode == ST_APPEND) {
-            msg = _("Please mount Volume \"%s\" or label a new one for:\n"
+            msg = _("Please mount append Volume \"%s\" or label a new one for:\n"
               "    Job:          %s\n"
               "    Storage:      %s\n"
               "    Pool:         %s\n"
               "    Media type:   %s\n");
          } else {
-            msg = _("Please mount Volume \"%s\" for:\n"
+            msg = _("Please mount read Volume \"%s\" for:\n"
               "    Job:          %s\n"
               "    Storage:      %s\n"
               "    Pool:         %s\n"
@@ -637,17 +639,17 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
               dev->print_name(),
               dcr->pool_name,
               dcr->media_type);
-         Dmsg3(400, "Mount \"%s\" on device \"%s\" for Job %s\n",
+         Dmsg3(dbglvl, "Mount \"%s\" on device \"%s\" for Job %s\n",
                dcr->VolumeName, dev->print_name(), jcr->Job);
       }
 
       jcr->sendJobStatus(JS_WaitMount);
 
       stat = wait_for_sysop(dcr);          /* wait on device */
-      Dmsg1(100, "Back from wait_for_sysop stat=%d\n", stat);
+      Dmsg1(dbglvl, "Back from wait_for_sysop stat=%d\n", stat);
       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());
+         Dmsg1(dbglvl, "Poll timeout in mount vol on device %s\n", dev->print_name());
+         Dmsg1(dbglvl, "Blocked=%s\n", dev->print_blocked());
          goto get_out;
       }
 
@@ -656,7 +658,7 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
             Mmsg(dev->errmsg, _("Max time exceeded waiting to mount Storage Device %s for Job %s\n"),
                dev->print_name(), jcr->Job);
             Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
-            Dmsg1(400, "Gave up waiting on device %s\n", dev->print_name());
+            Dmsg1(dbglvl, "Gave up waiting on device %s\n", dev->print_name());
             return false;             /* exceeded maximum waits */
          }
          continue;
@@ -667,12 +669,12 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
          Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
          return false;
       }
-      Dmsg1(400, "Someone woke me for device %s\n", dev->print_name());
+      Dmsg1(dbglvl, "Someone woke me for device %s\n", dev->print_name());
       break;
    }
 
 get_out:
    jcr->sendJobStatus(JS_Running);
-   Dmsg0(400, "leave dir_ask_sysop_to_mount_volume\n");
+   Dmsg0(dbglvl, "leave dir_ask_sysop_to_mount_volume\n");
    return true;
 }
diff --git a/src/stored/bcopy.c b/src/stored/bcopy.c
index b512950..8db3259 100644
--- a/src/stored/bcopy.c
+++ b/src/stored/bcopy.c
@@ -197,13 +197,13 @@ int main (int argc, char *argv[])
    }
    Dmsg0(100, "About to acquire device for writing\n");
    /* For we must now acquire the device for writing */
-   out_dev->r_dlock();
+   out_dev->rLock(false);
    if (!out_dev->open(out_jcr->dcr, OPEN_READ_WRITE)) {
       Emsg1(M_FATAL, 0, _("dev open failed: %s\n"), out_dev->errmsg);
-      out_dev->dunlock();
+      out_dev->Unlock();
       exit(1);
    }
-   out_dev->dunlock();
+   out_dev->Unlock();
    if (!acquire_device_for_append(out_jcr->dcr)) {
       free_jcr(in_jcr);
       exit(1);
diff --git a/src/stored/block.c b/src/stored/block.c
index b80c4a0..e731320 100644
--- a/src/stored/block.c
+++ b/src/stored/block.c
@@ -365,7 +365,7 @@ bool DCR::write_block_to_device()
 
    if (!dcr->is_dev_locked()) {        /* device already locked? */
       /* note, do not change this to dcr->r_dlock */
-      dev->r_dlock();                  /* no, lock it */
+      dev->rLock();                  /* no, lock it */
    }
 
    /*
@@ -409,7 +409,7 @@ bool DCR::write_block_to_device()
 bail_out:
    if (!dcr->is_dev_locked()) {        /* did we lock dev above? */
       /* note, do not change this to dcr->dunlock */
-      dev->dunlock();                  /* unlock it now */
+      dev->Unlock();                  /* unlock it now */
    }
    return stat;
 }
@@ -957,9 +957,9 @@ bool DCR::read_block_from_device(bool check_block_numbers)
    bool ok;
 
    Dmsg0(250, "Enter read_block_from_device\n");
-   dev->r_dlock();
+   dev->rLock();
    ok = read_block_from_dev(check_block_numbers);
-   dev->dunlock();
+   dev->Unlock();
    Dmsg0(250, "Leave read_block_from_device\n");
    return ok;
 }
diff --git a/src/stored/bscan.c b/src/stored/bscan.c
index 93b118d..e0f635f 100644
--- a/src/stored/bscan.c
+++ b/src/stored/bscan.c
@@ -839,9 +839,13 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec)
    case STREAM_ACL_AIX_AIXC:
    case STREAM_ACL_AIX_NFS4:
    case STREAM_ACL_FREEBSD_NFS4_ACL:
+   case STREAM_ACL_HURD_DEFAULT_ACL:
+   case STREAM_ACL_HURD_ACCESS_ACL:
       /* Ignore Unix ACL attributes */
       break;
 
+   case STREAM_XATTR_HURD:
+   case STREAM_XATTR_IRIX:
    case STREAM_XATTR_TRU64:
    case STREAM_XATTR_AIX:
    case STREAM_XATTR_OPENBSD:
diff --git a/src/stored/btape.c b/src/stored/btape.c
index 9678872..a3f751c 100644
--- a/src/stored/btape.c
+++ b/src/stored/btape.c
@@ -467,7 +467,7 @@ static bool open_the_device()
    bool ok = true;
 
    block = new_block(dev);
-   dev->r_dlock();
+   dev->rLock();
    Dmsg1(200, "Opening device %s\n", dcr->VolumeName);
    if (!dev->open(dcr, OPEN_READ_WRITE)) {
       Emsg1(M_FATAL, 0, _("dev open failed: %s\n"), dev->errmsg);
@@ -478,7 +478,7 @@ static bool open_the_device()
    dev->set_append();                 /* put volume in append mode */
 
 bail_out:
-   dev->dunlock();
+   dev->Unlock();
    free_block(block);
    return ok;
 }
@@ -2699,7 +2699,7 @@ static int flush_block(DEV_BLOCK *block, int dump)
    DEV_BLOCK *tblock;
    uint32_t this_file, this_block_num;
 
-   dev->r_dlock();
+   dev->rLock();
    if (!this_block) {
       this_block = new_block(dev);
    }
@@ -2755,12 +2755,12 @@ static int flush_block(DEV_BLOCK *block, int dump)
          if (!fixup_device_block_write_error(jcr->dcr)) {
             Pmsg1(000, _("Cannot fixup device error. %s\n"), dev->bstrerror());
             ok = false;
-            dev->dunlock();
+            dev->Unlock();
             return 0;
          }
          BlockNumber = 0;             /* start counting for second tape */
       }
-      dev->dunlock();
+      dev->Unlock();
       return 1;                       /* end of tape reached */
    }
 
@@ -2779,7 +2779,7 @@ static int flush_block(DEV_BLOCK *block, int dump)
    last_file = this_file;
    last_block_num = this_block_num;
 
-   dev->dunlock();
+   dev->Unlock();
    return 1;
 }
 
diff --git a/src/stored/dev.c b/src/stored/dev.c
index 7c6d57b..3d4e44b 100644
--- a/src/stored/dev.c
+++ b/src/stored/dev.c
@@ -32,7 +32,7 @@
  *              Kern Sibbald, MM
  *
  *     NOTE!!!! None of these routines are reentrant. You must
- *        use dev->r_dlock() and dev->unlock() at a higher level,
+ *        use dev->rLock() and dev->Unlock() at a higher level,
  *        or use the xxx_device() equivalents.  By moving the
  *        thread synchronization to a higher level, we permit
  *        the higher level routines to "seize" the device and
@@ -264,7 +264,7 @@ m_init_dev(JCR *jcr, DEVRES *device, bool new_init)
    dev->errmsg = get_pool_memory(PM_EMSG);
    *dev->errmsg = 0;
 
-   if ((errstat = pthread_mutex_init(&dev->m_mutex, NULL)) != 0) {
+   if ((errstat = dev->init_mutex()) != 0) {
       berrno be;
       dev->dev_errno = errstat;
       Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
@@ -285,25 +285,25 @@ m_init_dev(JCR *jcr, DEVRES *device, bool new_init)
    if ((errstat = pthread_mutex_init(&dev->spool_mutex, NULL)) != 0) {
       berrno be;
       dev->dev_errno = errstat;
-      Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
+      Mmsg1(dev->errmsg, _("Unable to init spool mutex: ERR=%s\n"), be.bstrerror(errstat));
       Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
    }
-   if ((errstat = pthread_mutex_init(&dev->acquire_mutex, NULL)) != 0) {
+   if ((errstat = dev->init_acquire_mutex()) != 0) {
       berrno be;
       dev->dev_errno = errstat;
-      Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
+      Mmsg1(dev->errmsg, _("Unable to init acquire mutex: ERR=%s\n"), be.bstrerror(errstat));
       Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
    }
-   /* Ensure that we respect this order in P/V operations */
-   bthread_mutex_set_priority(&dev->m_mutex,       PRIO_SD_DEV_ACCESS);
-   bthread_mutex_set_priority(&dev->spool_mutex,   PRIO_SD_DEV_SPOOL);
-   bthread_mutex_set_priority(&dev->acquire_mutex, PRIO_SD_DEV_ACQUIRE);
-   if ((errstat = pthread_mutex_init(&dev->read_acquire_mutex, NULL)) != 0) {
+   if ((errstat = dev->init_read_acquire_mutex()) != 0) {
       berrno be;
       dev->dev_errno = errstat;
-      Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
+      Mmsg1(dev->errmsg, _("Unable to init read acquire mutex: ERR=%s\n"), be.bstrerror(errstat));
       Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
    }
+
+   dev->set_mutex_priorities();
+
+
 #ifdef xxx
    if ((errstat = rwl_init(&dev->lock)) != 0) {
       berrno be;
diff --git a/src/stored/dev.h b/src/stored/dev.h
index 29d2bfd..c7a01cf 100644
--- a/src/stored/dev.h
+++ b/src/stored/dev.h
@@ -455,16 +455,32 @@ public:
     * Locking and blocking calls
     */
 #ifdef  SD_DEBUG_LOCK
-   void _r_dlock(const char *, int, bool locked=false);      /* in lock.c */
-   void _r_dunlock(const char *, int);    /* in lock.c */
-   void _dlock(const char *, int);        /* in lock.c */
-   void _dunlock(const char *, int);      /* in lock.c */
+   void dbg_rLock(const char *, int, bool locked=false);    /* in lock.c */
+   void dbg_rUnlock(const char *, int);                     /* in lock.c */
+   void dbg_Lock(const char *, int);                        /* in lock.c */
+   void dbg_Unlock(const char *, int);                      /* in lock.c */
+   void dbg_Lock_acquire(const char *, int);                /* in lock.c */
+   void dbg_Unlock_acquire(const char *, int);              /* in lock.c */
+   void dbg_Lock_read_acquire(const char *, int);           /* in lock.c */
+   void dbg_Unlock_read_acquire(const char *, int);         /* in lock.c */
 #else
-   void r_dlock(bool locked=false);       /* in lock.c */
-   void r_dunlock() { dunlock(); }
-   void dlock() { P(m_mutex); } 
-   void dunlock() { V(m_mutex); } 
+   void rLock(bool locked=false);         /* in lock.c */
+   void rUnlock();                        /* in lock.c */
+   void Lock();                           /* in lock.c */
+   void Unlock();                         /* in lock.c */
+   void Lock_acquire();                   /* in lock.c */
+   void Unlock_acquire();                 /* in lock.c */
+   void Lock_read_acquire();              /* in lock.c */
+   void Unlock_read_acquire();            /* in lock.c */
+   void Lock_VolCatInfo();                /* in lock.c */
+   void Unlock_VolCatInfo();              /* in lock.c */
 #endif
+   int init_mutex();                      /* in lock.c */
+   int init_acquire_mutex();              /* in lock.c */
+   int init_read_acquire_mutex();         /* in lock.c */
+   int init_volcat_mutex();               /* in lock.c */
+   void set_mutex_priorities();           /* in lock.c */
+   int next_vol_timedwait(const struct timespec *timeout);  /* in lock.c */
    void dblock(int why);                  /* in lock.c */
    void dunblock(bool locked=false);      /* in lock.c */
    bool is_device_unmounted();            /* in lock.c */
@@ -504,6 +520,7 @@ inline const char *DEVICE::print_name() const { return prt_name; }
 class DCR {
 private:
    bool m_dev_locked;                 /* set if dev already locked */
+   int m_dev_lock;                    /* non-zero if rLock already called */
    bool m_reserved;                   /* set if reserved device */
    bool m_found_in_use;               /* set if a volume found in use */
 
@@ -511,6 +528,7 @@ public:
    dlink dev_link;                    /* link to attach to dev */
    JCR *jcr;                          /* pointer to JCR */
    bthread_mutex_t m_mutex;           /* access control */
+   pthread_mutex_t r_mutex;           /* rLock pre-mutex */
    DEVICE * volatile dev;             /* pointer to device */
    DEVRES *device;                    /* pointer to device resource */
    DEV_BLOCK *block;                  /* pointer to block */
@@ -549,6 +567,8 @@ public:
 
    /* Methods */
    void set_dev(DEVICE *ndev) { dev = ndev; }; 
+   void inc_dev_lock() { m_dev_lock++; };
+   void dec_dev_lock() { m_dev_lock--; };
    bool found_in_use() const { return m_found_in_use; };
    void set_found_in_use() { m_found_in_use = true; };
    void clear_found_in_use() { m_found_in_use = false; };
@@ -564,12 +584,12 @@ public:
 
    /* Methods in lock.c */
    void dblock(int why) { dev->dblock(why); }
-#ifdef SD_DEBUG_LOCK
-   void _dlock(const char *, int);      /* in lock.c */
-   void _dunlock(const char *, int);    /* in lock.c */
+#ifdef  SD_DEBUG_LOCK
+   void dbg_mLock(const char *, int, bool locked);    /* in lock.c */
+   void dbg_mUnlock(const char *, int);               /* in lock.c */
 #else
-   void dlock() { dev->dlock(); m_dev_locked = true; }
-   void dunlock() { m_dev_locked = false; dev->dunlock(); }
+   void mLock(bool locked);
+   void mUnlock();
 #endif
 
    /* Methods in record.c */
@@ -611,33 +631,6 @@ public:
    
 };
 
-/*
- * Volume reservation class -- see reserve.c
- */
-class VOLRES { 
-   bool m_swapping;                   /* set when swapping to another drive */
-   bool m_in_use;                     /* set when volume reserved or in use */
-   int32_t m_slot;                    /* slot of swapping volume */
-   uint32_t m_JobId;                  /* JobId for read volumes */
-public:
-   dlink link;
-   char *vol_name;                    /* Volume name */
-   DEVICE *dev;                       /* Pointer to device to which we are attached */
-
-   bool is_swapping() const { return m_swapping; };
-   void set_swapping() { m_swapping = true; };
-   void clear_swapping() { m_swapping = false; };
-   bool is_in_use() const { return m_in_use; };
-   void set_in_use() { m_in_use = true; };
-   void clear_in_use() { m_in_use = false; };
-   void set_slot(int32_t slot) { m_slot = slot; };
-   void clear_slot() { m_slot = -1; };
-   int32_t get_slot() const { return m_slot; };
-   uint32_t get_jobid() const { return m_JobId; };
-   void set_jobid(uint32_t JobId) { m_JobId = JobId; };
-};
-
-
 /* Get some definition of function to position
  *  to the end of the medium in MTEOM. System
  *  dependent. Arrgggg!
diff --git a/src/stored/device.c b/src/stored/device.c
index f06b5cd..1f4084d 100644
--- a/src/stored/device.c
+++ b/src/stored/device.c
@@ -108,7 +108,7 @@ bool fixup_device_block_write_error(DCR *dcr, int retries)
    block_device(dev, BST_DOING_ACQUIRE);
 
    /* Continue unlocked, but leave BLOCKED */
-   dev->dunlock();
+   dev->Unlock();
 
    bstrncpy(PrevVolName, dev->getVolCatName(), sizeof(PrevVolName));
    bstrncpy(dev->VolHdr.PrevVolumeName, PrevVolName, sizeof(dev->VolHdr.PrevVolumeName));
@@ -127,11 +127,11 @@ bool fixup_device_block_write_error(DCR *dcr, int retries)
    if (!dcr->mount_next_write_volume()) {
       free_block(label_blk);
       dcr->block = block;
-      dev->dlock();  
+      dev->Lock();  
       goto bail_out;
    }
    Dmsg2(050, "must_unload=%d dev=%s\n", dev->must_unload(), dev->print_name());
-   dev->dlock();                    /* lock again */
+   dev->Lock();                    /* lock again */
 
    dev->VolCatInfo.VolCatJobs++;              /* increment number of jobs on vol */
    dir_update_volume_info(dcr, false, false); /* send Volume info to Director */
@@ -279,7 +279,7 @@ bool first_open_device(DCR *dcr)
       return false;
    }
 
-   dev->r_dlock();
+   dev->rLock();
 
    /* Defer opening files */
    if (!dev->is_tape()) {
@@ -302,7 +302,7 @@ bool first_open_device(DCR *dcr)
    Dmsg1(129, "open dev %s OK\n", dev->print_name());
 
 bail_out:
-   dev->dunlock();
+   dev->Unlock();
    return ok;
 }
 
diff --git a/src/stored/dircmd.c b/src/stored/dircmd.c
index 6a02f9d..a463802 100644
--- a/src/stored/dircmd.c
+++ b/src/stored/dircmd.c
@@ -416,7 +416,7 @@ static bool do_label(JCR *jcr, int relabel)
       dcr = find_device(jcr, dev_name, drive);
       if (dcr) {
          dev = dcr->dev;
-         dev->dlock();                 /* Use P to avoid indefinite block */
+         dev->Lock();                 /* Use P to avoid indefinite block */
          if (!dev->is_open() && !dev->is_busy()) {
             Dmsg1(400, "Can %slabel. Device is not open\n", relabel?"re":"");
             label_volume_if_ok(dcr, oldname, newname, poolname, slot, relabel);
@@ -431,7 +431,7 @@ static bool do_label(JCR *jcr, int relabel)
             Dmsg0(400, "Can relabel. device not used\n");
             label_volume_if_ok(dcr, oldname, newname, poolname, slot, relabel);
          }
-         dev->dunlock();
+         dev->Unlock();
          free_dcr(dcr);
       } else {
          dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), dev_name.c_str());
@@ -684,7 +684,7 @@ static bool mount_cmd(JCR *jcr)
       dcr = find_device(jcr, devname, drive);
       if (dcr) {
          dev = dcr->dev;
-         dev->dlock();                 /* Use P to avoid indefinite block */
+         dev->Lock();                 /* Use P to avoid indefinite block */
          Dmsg2(100, "mount cmd blocked=%d must_unload=%d\n", dev->blocked(), 
             dev->must_unload());
          switch (dev->blocked()) {         /* device blocked? */
@@ -806,7 +806,7 @@ static bool mount_cmd(JCR *jcr)
             dir->fsend(_("3905 Unknown wait state %d\n"), dev->blocked());
             break;
          }
-         dev->dunlock();
+         dev->Unlock();
          free_dcr(dcr);
       } else {
          dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
@@ -834,7 +834,7 @@ static bool unmount_cmd(JCR *jcr)
       dcr = find_device(jcr, devname, drive);
       if (dcr) {
          dev = dcr->dev;
-         dev->dlock();                 /* Use P to avoid indefinite block */
+         dev->Lock();                 /* Use P to avoid indefinite block */
          if (!dev->is_open()) {
             if (!dev->is_busy()) {
                unload_autochanger(dcr, -1);          
@@ -898,7 +898,7 @@ static bool unmount_cmd(JCR *jcr)
                   dev->print_name());
             }
          }
-         dev->dunlock();
+         dev->Unlock();
          free_dcr(dcr);
       } else {
          dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
@@ -971,7 +971,7 @@ static bool release_cmd(JCR *jcr)
       dcr = find_device(jcr, devname, drive);
       if (dcr) {
          dev = dcr->dev;
-         dev->dlock();                 /* Use P to avoid indefinite block */
+         dev->Lock();                 /* Use P to avoid indefinite block */
          if (!dev->is_open()) {
             if (!dev->is_busy()) {
                unload_autochanger(dcr, -1);
@@ -1009,7 +1009,7 @@ static bool release_cmd(JCR *jcr)
             dir->fsend(_("3022 Device \"%s\" released.\n"), 
                dev->print_name());
          }
-         dev->dunlock();
+         dev->Unlock();
          free_dcr(dcr);
       } else {
          dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
@@ -1119,7 +1119,7 @@ static bool changer_cmd(JCR *jcr)
       dcr = find_device(jcr, devname, -1);
       if (dcr) {
          dev = dcr->dev;
-         dev->dlock();                 /* Use P to avoid indefinite block */
+         dev->Lock();                 /* Use P to avoid indefinite block */
          if (!dev->device->changer_res) {
             dir->fsend(_("3998 Device \"%s\" is not an autochanger.\n"), 
                dev->print_name());
@@ -1131,7 +1131,7 @@ static bool changer_cmd(JCR *jcr)
          } else {                     /* device not being used */
             autochanger_cmd(dcr, dir, cmd);
          }
-         dev->dunlock();
+         dev->Unlock();
          free_dcr(dcr);
       } else {
          dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
@@ -1161,7 +1161,7 @@ static bool readlabel_cmd(JCR *jcr)
       dcr = find_device(jcr, devname, drive);
       if (dcr) {
          dev = dcr->dev;
-         dev->dlock();                 /* Use P to avoid indefinite block */
+         dev->Lock();                 /* Use P to avoid indefinite block */
          if (!dev->is_open()) {
             read_volume_label(jcr, dcr, dev, Slot);
             dev->close();
@@ -1173,7 +1173,7 @@ static bool readlabel_cmd(JCR *jcr)
          } else {                     /* device not being used */
             read_volume_label(jcr, dcr, dev, Slot);
          }
-         dev->dunlock();
+         dev->Unlock();
          free_dcr(dcr);
       } else {
          dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
diff --git a/src/stored/job.c b/src/stored/job.c
index 578f296..9d8cd7c 100644
--- a/src/stored/job.c
+++ b/src/stored/job.c
@@ -97,7 +97,7 @@ bool job_cmd(JCR *jcr)
       return false;
    }
    jcr->rerunning = (rerunning) ? true : false;
-   Dmsg3(100, "==== rerunning=%d VolSesId=%d VolSesTime=%d\n", jcr->rerunning,
+   Dmsg3(100, "rerunning=%d VolSesId=%d VolSesTime=%d\n", jcr->rerunning,
          jcr->VolSessionId, jcr->VolSessionTime);
    /*
     * Since this job could be rescheduled, we
diff --git a/src/stored/lock.c b/src/stored/lock.c
index d20c1bf..73d1a66 100644
--- a/src/stored/lock.c
+++ b/src/stored/lock.c
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2012 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.
@@ -28,7 +28,7 @@
 /*
  * Collection of Bacula Storage daemon locking software
  *
- *  Kern Sibbald, 2000-2007.  June 2007
+ *  Kern Sibbald, June 2007
  *
  */
 
@@ -51,20 +51,20 @@ const int dbglvl = 500;
  *               is "marked" in use.  When setting and removing the
                  block, the device is locked, but after dblock is
                  called the device is unlocked.
- *  2. dlock()   simple mutex that locks the device structure. A dlock
+ *  2. Lock()    simple mutex that locks the device structure. A Lock
  *               can be acquired while a device is blocked if it is not
  *               locked.      
- *  3. r_dlock(locked)  "recursive" dlock, when means that a dlock (mutex)
+ *  3. rLock(locked)  "recursive" Lock, when means that a Lock (mutex)
  *               will be acquired on the device if it is not blocked
  *               by some other thread. If the device was blocked by
  *               the current thread, it will acquire the lock.
  *               If some other thread has set a block on the device,
  *               this call will wait until the device is unblocked.
  *               Can be called with locked true, which means the
- *               dlock is already set
+ *               Lock is already set
  *
  *  A lock is normally set when modifying the device structure.
- *  A r_lock is normally acquired when you want to block the device
+ *  A rLock is normally acquired when you want to block the device
  *    i.e. it will wait until the device is not blocked.
  *  A block is normally set during long operations like writing to
  *    the device.
@@ -73,7 +73,7 @@ const int dbglvl = 500;
  *  A lock cannot be violated. No other thread can touch the
  *    device while a lock is set.  
  *  When a block is set, every thread accept the thread that set
- *    the block will block if r_dlock is called.
+ *    the block will block if rLock is called.
  *  A device can be blocked for multiple reasons, labeling, writing,
  *    acquiring (opening) the device, waiting for the operator, unmounted,
  *    ...
@@ -86,29 +86,29 @@ const int dbglvl = 500;
  *
  * Functions:
  *
- *   DEVICE::dlock()   does P(m_mutex)     (in dev.h)
- *   DEVICE::dunlock() does V(m_mutex)
+ *   DEVICE::Lock()   does P(m_mutex)     (in dev.h)
+ *   DEVICE::Unlock() does V(m_mutex)
  *
- *   DEVICE::r_dlock(locked) allows locking the device when this thread
+ *   DEVICE::rLock(locked) allows locking the device when this thread
  *                     already has the device blocked.
  *                    if (!locked)
- *                       dlock()
+ *                       Lock()
  *                    if blocked and not same thread that locked
  *                       pthread_cond_wait
  *                    leaves device locked 
  *
- *   DEVICE::r_dunlock() unlocks but does not unblock
- *                    same as dunlock();
+ *   DEVICE::rUnlock() unlocks but does not unblock
+ *                    same as Unlock();
  *
  *   DEVICE::dblock(why)  does 
- *                    r_dlock();         (recursive device lock)
+ *                    rLock();         (recursive device lock)
  *                    block_device(this, why) 
- *                    r_dunlock()
+ *                    rUnlock()
  *
  *   DEVICE::dunblock does
- *                    dlock()
+ *                    Lock()
  *                    unblock_device()
- *                    dunlock()
+ *                    Unlock()
  *
  *   block_device() does  (must be locked and not blocked at entry)  
  *                    set blocked status
@@ -126,10 +126,10 @@ const int dbglvl = 500;
  *                    save status
  *                    set new blocked status
  *                    set new pid
- *                    unlock()
+ *                    Unlock()
  *
  *   give_back_device_lock() does (must be blocked but not locked)
- *                    dlock()
+ *                    Lock()
  *                    reset blocked status
  *                    save previous blocked
  *                    reset pid
@@ -138,40 +138,68 @@ const int dbglvl = 500;
  *
  */
 
-
 void DEVICE::dblock(int why)
 {
-   r_dlock();              /* need recursive lock to block */
+   rLock(false);              /* need recursive lock to block */
    block_device(this, why);
-   r_dunlock();
+   rUnlock();
 }
 
 void DEVICE::dunblock(bool locked)
 {
    if (!locked) {
-      dlock();
+      Lock();
    }
    unblock_device(this);
-   dunlock();
+   Unlock();
 }
 
 
 #ifdef SD_DEBUG_LOCK
-void DCR::_dlock(const char *file, int line)
+
+/*
+ * Debug DCR locks  N.B.
+ *
+ */
+void DCR::dbg_mLock(const char *file, int line, bool locked)
 {
-   dev->_dlock(file, line);
-   m_dev_locked = true;
+   real_P(r_mutex);
+   if (is_dev_locked()) {
+      real_V(r_mutex);
+      return;
+   }
+   Dmsg3(sd_dbglvl, "mLock %d from %s:%d\n", locked, file, line);
+   dev->dbg_rLock(file,line,locked);
+   inc_dev_lock();
+   real_V(r_mutex);
+   return;
 }
-void DCR::_dunlock(const char *file, int line)
-{
-   m_dev_locked = false;
-   dev->_dunlock(file, line);
 
+void DCR::dbg_mUnlock(const char *file, int line)
+{
+   Dmsg2(sd_dbglvl, "mUnlock from %s:%d\n", file, line);
+   real_P(r_mutex);
+   if (!is_dev_locked()) {
+      real_P(r_mutex);
+      ASSERT2(0, "Call on dcr mUnlock when not locked");
+      return;
+   }
+   dec_dev_lock();
+   /* When the count goes to zero, unlock it */
+   if (!is_dev_locked()) {
+      dev->dbg_rUnlock(file,line);
+   }
+   real_V(r_mutex);
+   return;
 }
 
-void DEVICE::_dlock(const char *file, int line)
+/*
+ * Debug DEVICE locks  N.B.
+ *
+ */
+void DEVICE::dbg_Lock(const char *file, int line)
 {
-   Dmsg3(sd_dbglvl, "dlock from %s:%d precnt=%d\n", file, line, m_count); 
+   Dmsg3(sd_dbglvl, "Lock from %s:%d precnt=%d\n", file, line, m_count); 
    /* Note, this *really* should be protected by a mutex, but
     *  since it is only debug code we don't worry too much.  
     */
@@ -180,25 +208,161 @@ void DEVICE::_dlock(const char *file, int line)
             get_jobid_from_tid(m_pid),
             file, line, m_count);
    }
-   P(m_mutex);
+   bthread_mutex_lock_p(&m_mutex, file, line);
    m_pid = pthread_self();
    m_count++; 
 }
 
-void DEVICE::_dunlock(const char *file, int line)
+void DEVICE::dbg_Unlock(const char *file, int line)
 {
    m_count--; 
-   Dmsg3(sd_dbglvl+1, "dunlock from %s:%d postcnt=%d\n", file, line, m_count); 
-   V(m_mutex);   
+   Dmsg3(sd_dbglvl, "Unlock from %s:%d postcnt=%d\n", file, line, m_count); 
+   bthread_mutex_unlock_p(&m_mutex, file, line);
+}
+
+void DEVICE::dbg_rUnlock(const char *file, int line)
+{
+   Dmsg2(sd_dbglvl, "rUnlock from %s:%d\n", file, line); 
+   dbg_Unlock(file, line);
+}
+
+void DEVICE::dbg_Lock_acquire(const char *file, int line)
+{
+   Dmsg2(sd_dbglvl, "Lock_acquire from %s:%d\n", file, line); 
+   bthread_mutex_lock_p(&acquire_mutex, file, line);
+}
+
+void DEVICE::dbg_Unlock_acquire(const char *file, int line)
+{
+   Dmsg2(sd_dbglvl, "Unlock_acquire from %s:%d\n", file, line); 
+   bthread_mutex_unlock_p(&acquire_mutex, file, line);
 }
 
-void DEVICE::_r_dunlock(const char *file, int line)
+void DEVICE::dbg_Lock_read_acquire(const char *file, int line)
 {
-   this->_dunlock(file, line);
+   Dmsg2(sd_dbglvl, "Lock_read_acquire from %s:%d\n", file, line); 
+   bthread_mutex_lock_p(&read_acquire_mutex, file, line);
+}
+
+void DEVICE::dbg_Unlock_read_acquire(const char *file, int line)
+{
+   Dmsg2(sd_dbglvl, "Unlock_read_acquire from %s:%d\n", file, line); 
+   bthread_mutex_unlock_p(&read_acquire_mutex, file, line);
+}
+
+
+#else
+
+/*
+ * DCR locks  N.B.
+ *
+ */
+/* Multiple rLock implementation */
+void DCR::mLock(bool locked)
+{
+   P(r_mutex);
+   if (is_dev_locked()) {
+      V(r_mutex);
+      return;
+   }
+   dev->rLock(locked);
+   inc_dev_lock();
+   V(r_mutex);
+   return;
+}
+
+/* Multiple rUnlock implementation */
+void DCR::mUnlock()
+{
+   P(r_mutex);
+   if (!is_dev_locked()) {
+      V(r_mutex);
+      ASSERT2(0, "Call on dcr mUnlock when not locked");
+      return;
+   }
+   dec_dev_lock();
+   /* When the count goes to zero, unlock it */
+   if (!is_dev_locked()) {
+      dev->rUnlock();
+   }
+   V(r_mutex);
+   return;
+}
+
+/*
+ * DEVICE locks  N.B.
+ *
+ */
+
+void DEVICE::rUnlock()
+{
+   Unlock();
+}
+
+void DEVICE::Lock()
+{
+   P(m_mutex);
+}
+
+void DEVICE::Unlock()
+{
+   V(m_mutex);
+}
+
+void DEVICE::Lock_acquire()
+{
+   P(acquire_mutex);
+}
+
+void DEVICE::Unlock_acquire()
+{
+   V(acquire_mutex);
+}
+
+void DEVICE::Lock_read_acquire()
+{
+   P(read_acquire_mutex);
+}
+
+void DEVICE::Unlock_read_acquire()
+{
+   V(read_acquire_mutex);
 }
 
 #endif
 
+/* Main device access control */
+int DEVICE::init_mutex()
+{
+   return pthread_mutex_init(&m_mutex, NULL);
+}
+
+/* Write device acquire mutex */
+int DEVICE::init_acquire_mutex()
+{
+   return pthread_mutex_init(&acquire_mutex, NULL);
+}
+
+/* Read device acquire mutex */
+int DEVICE::init_read_acquire_mutex()
+{
+   return pthread_mutex_init(&read_acquire_mutex, NULL);
+}
+
+/* Set order in which device locks must be acquired */
+void DEVICE::set_mutex_priorities()
+{
+   /* Ensure that we respect this order in P/V operations */
+   bthread_mutex_set_priority(&m_mutex,       PRIO_SD_DEV_ACCESS);
+   bthread_mutex_set_priority(&spool_mutex,   PRIO_SD_DEV_SPOOL);
+   bthread_mutex_set_priority(&acquire_mutex, PRIO_SD_DEV_ACQUIRE);
+}
+
+int DEVICE::next_vol_timedwait(const struct timespec *timeout)
+{
+   return pthread_cond_timedwait(&wait_next_vol, &m_mutex, timeout);
+}
+
 
 /*
  * This is a recursive lock that checks if the device is blocked.
@@ -208,44 +372,50 @@ void DEVICE::_r_dunlock(const char *file, int line)
  * and preparing the label.
  */
 #ifdef SD_DEBUG_LOCK
-void DEVICE::_r_dlock(const char *file, int line, bool locked)
+void DEVICE::dbg_rLock(const char *file, int line, bool locked)
 {
-   Dmsg3(sd_dbglvl+1, "r_dlock blked=%s from %s:%d\n", this->print_blocked(),
+   Dmsg3(sd_dbglvl, "rLock blked=%s from %s:%d\n", print_blocked(),
          file, line);
+   if (!locked) {
+      /* lockmgr version of P(m_mutex) */
+      bthread_mutex_lock_p(&m_mutex, file, line);
+      m_count++;
+   }
 #else
-void DEVICE::r_dlock(bool locked)
+void DEVICE::rLock(bool locked)
 {
-#endif
-   int stat;
    if (!locked) {
-      P(m_mutex); /*    this->dlock();   */
-      m_count++;  /*    this->dlock() */
+      Lock();
+      m_count++;
    }
-   if (this->blocked() && !pthread_equal(this->no_wait_id, pthread_self())) {
-      this->num_waiting++;             /* indicate that I am waiting */
-      while (this->blocked()) {
+#endif
+
+   if (blocked() && !pthread_equal(no_wait_id, pthread_self())) {
+      num_waiting++;             /* indicate that I am waiting */
+      while (blocked()) {
+         int stat;
 #ifndef HAVE_WIN32
          /* thread id on Win32 may be a struct */
-         Dmsg3(sd_dbglvl, "r_dlock blked=%s no_wait=%p me=%p\n", this->print_blocked(),
-               this->no_wait_id, pthread_self());
+         Dmsg3(sd_dbglvl, "rLock blked=%s no_wait=%p me=%p\n", print_blocked(),
+               no_wait_id, pthread_self());
 #endif
          if ((stat = pthread_cond_wait(&this->wait, &m_mutex)) != 0) {
             berrno be;
-            this->dunlock();
+            this->Unlock();
             Emsg1(M_ABORT, 0, _("pthread_cond_wait failure. ERR=%s\n"),
                be.bstrerror(stat));
          }
       }
-      this->num_waiting--;             /* no longer waiting */
+      num_waiting--;             /* no longer waiting */
    }
 }
 
 /*
  * Block all other threads from using the device
  *  Device must already be locked.  After this call,
- *  the device is blocked to any thread calling dev->r_lock(),
+ *  the device is blocked to any thread calling dev->rLock(),
  *  but the device is not locked (i.e. no P on device).  Also,
- *  the current thread can do slip through the dev->r_lock()
+ *  the current thread can do slip through the dev->rLock()
  *  calls without blocking.
  */
 void _block_device(const char *file, int line, DEVICE *dev, int state)
@@ -280,7 +450,6 @@ void _unblock_device(const char *file, int line, DEVICE *dev)
  */
 void _steal_device_lock(const char *file, int line, DEVICE *dev, bsteal_lock_t *hold, int state)
 {
-
    Dmsg3(sd_dbglvl, "steal lock. old=%s from %s:%d\n", dev->print_blocked(),
       file, line);
    hold->dev_blocked = dev->blocked();
@@ -289,7 +458,7 @@ void _steal_device_lock(const char *file, int line, DEVICE *dev, bsteal_lock_t *
    dev->set_blocked(state);
    Dmsg1(sd_dbglvl, "steal lock. new=%s\n", dev->print_blocked());
    dev->no_wait_id = pthread_self();
-   dev->dunlock();
+   dev->Unlock();
 }
 
 /*
@@ -300,7 +469,7 @@ void _give_back_device_lock(const char *file, int line, DEVICE *dev, bsteal_lock
 {
    Dmsg3(sd_dbglvl, "return lock. old=%s from %s:%d\n",
       dev->print_blocked(), file, line);
-   dev->dlock();
+   dev->Lock();
    dev->set_blocked(hold->dev_blocked);
    dev->dev_prev_blocked = hold->dev_prev_blocked;
    dev->no_wait_id = hold->no_wait_id;
@@ -343,6 +512,7 @@ const char *DEVICE::print_blocked() const
 bool DEVICE::is_device_unmounted()
 {
    bool stat;
+
    int blk = blocked();
    stat = (blk == BST_UNMOUNTED) ||
           (blk == BST_UNMOUNTED_WAITING_FOR_SYSOP);
diff --git a/src/stored/mount.c b/src/stored/mount.c
index fac1007..a825123 100644
--- a/src/stored/mount.c
+++ b/src/stored/mount.c
@@ -37,6 +37,8 @@
 #include "bacula.h"                   /* pull in global headers */
 #include "stored.h"                   /* pull in Storage Deamon headers */
 
+static pthread_mutex_t mount_mutex = PTHREAD_MUTEX_INITIALIZER;
+
 enum {
    try_next_vol = 1,
    try_read_vol,
@@ -77,27 +79,27 @@ bool DCR::mount_next_write_volume()
       dev->print_name());
 
    init_device_wait_timers(dcr);
+
+   P(mount_mutex);
    
    /*
     * Attempt to mount the next volume. If something non-fatal goes
     *  wrong, we come back here to re-try (new op messages, re-read
     *  Volume, ...)
     */
-   lock_volumes();
-
 mount_next_vol:
    Dmsg1(150, "mount_next_vol retry=%d\n", retry);
    /* Ignore retry if this is poll request */
    if (retry++ > 4) {
       /* Last ditch effort before giving up, force operator to respond */
       VolCatInfo.Slot = 0;
-      unlock_volumes();
+      V(mount_mutex);
       if (!dir_ask_sysop_to_mount_volume(dcr, ST_APPEND)) {
          Jmsg(jcr, M_FATAL, 0, _("Too many errors trying to mount device %s.\n"),
               dev->print_name());
          goto no_lock_bail_out;
       }
-      lock_volumes();
+      P(mount_mutex);
       Dmsg1(150, "Continue after dir_ask_sysop_to_mount. must_load=%d\n", dev->must_load());
    }
    if (job_canceled(jcr)) {
@@ -162,13 +164,13 @@ mount_next_vol:
    Dmsg2(250, "Ask=%d autochanger=%d\n", ask, autochanger);
 
    if (ask) {
-      unlock_volumes();
+      V(mount_mutex);
       dcr->setVolCatInfo(false);   /* out of date when Vols unlocked */
       if (!dir_ask_sysop_to_mount_volume(dcr, ST_APPEND)) {
          Dmsg0(150, "Error return ask_sysop ...\n");
          goto no_lock_bail_out;
       }
-      lock_volumes();
+      P(mount_mutex);
    }
    if (job_canceled(jcr)) {
       goto bail_out;
@@ -306,11 +308,11 @@ read_volume:
    Dmsg1(150, "set APPEND, normal return from mount_next_write_volume. dev=%s\n",
       dev->print_name());
 
-   unlock_volumes();
+   V(mount_mutex);
    return true;
 
 bail_out:
-   unlock_volumes();
+   V(mount_mutex);
 
 no_lock_bail_out:
    return false;
@@ -320,7 +322,8 @@ no_lock_bail_out:
  * This routine is meant to be called once the first pass
  *   to ensure that we have a candidate volume to mount.
  *   Otherwise, we ask the sysop to created one.
- * Note, the the Volumes are locked on entry and exit.
+ * Note, mount_mutex is already locked on entry and thus
+ *   must remain locked on exit from this function.
  */
 bool DCR::find_a_volume()
 {
@@ -344,12 +347,12 @@ bool DCR::find_a_volume()
             if (job_canceled(jcr)) {
                return false;
             }
-            unlock_volumes();
+            V(mount_mutex);
             if (!dir_ask_sysop_to_create_appendable_volume(dcr)) {
-               lock_volumes();
+               P(mount_mutex);
                return false;
              }
-             lock_volumes();
+             P(mount_mutex);
              if (job_canceled(jcr)) {
                 return false;
              }
@@ -863,7 +866,11 @@ bool mount_next_read_volume(DCR *dcr)
     * End Of Tape -- mount next Volume (if another specified)
     */
    if (jcr->NumReadVolumes > 1 && jcr->CurReadVolume < jcr->NumReadVolumes) {
+      dev->Lock();
       dev->close();
+      dev->set_read();
+      dcr->set_reserved();
+      dev->Unlock();
       if (!acquire_device_for_read(dcr)) {
          Jmsg2(jcr, M_FATAL, 0, _("Cannot open Dev=%s, Vol=%s\n"), dev->print_name(),
                dcr->VolumeName);
diff --git a/src/stored/parse_bsr.c b/src/stored/parse_bsr.c
index d4eb27c..f9fb517 100644
--- a/src/stored/parse_bsr.c
+++ b/src/stored/parse_bsr.c
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2002-2009 Free Software Foundation Europe e.V.
+   Copyright (C) 2002-2012 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.
@@ -30,7 +30,6 @@
  *
  *     Kern Sibbald, June MMII
  *
- *   Version $Id$
  */
 
 
diff --git a/src/stored/reserve.c b/src/stored/reserve.c
index 615e117..10cc4f8 100644
--- a/src/stored/reserve.c
+++ b/src/stored/reserve.c
@@ -144,8 +144,7 @@ void DCR::clear_reserved()
  */
 void DCR::unreserve_device()
 {
-   dev->dlock();
-   lock_volumes();
+   dev->Lock();
    if (is_reserved()) {
       clear_reserved();
       reserved_volume = false;
@@ -162,8 +161,7 @@ void DCR::unreserve_device()
          volume_unused(this);
       }
    }
-   unlock_volumes();
-   dev->dunlock();
+   dev->Unlock();
 }
 
 /*
@@ -773,7 +771,7 @@ static bool reserve_device_for_read(DCR *dcr)
       return false;
    }
 
-   dev->dlock();  
+   dev->Lock();  
 
    if (dev->is_device_unmounted()) {             
       Dmsg1(dbglvl, "Device %s is BLOCKED due to user unmount.\n", dev->print_name());
@@ -804,7 +802,7 @@ static bool reserve_device_for_read(DCR *dcr)
    ok = true;
 
 bail_out:
-   dev->dunlock();
+   dev->Unlock();
    return ok;
 }
 
@@ -835,7 +833,7 @@ static bool reserve_device_for_append(DCR *dcr, RCTX &rctx)
       return false;
    }
 
-   dev->dlock();
+   dev->Lock();
 
    /* If device is being read, we cannot write it */
    if (dev->can_read()) {
@@ -872,7 +870,7 @@ static bool reserve_device_for_append(DCR *dcr, RCTX &rctx)
    ok = true;
 
 bail_out:
-   dev->dunlock();
+   dev->Unlock();
    return ok;
 }
 
diff --git a/src/stored/spool.c b/src/stored/spool.c
index 47654ee..42868f9 100644
--- a/src/stored/spool.c
+++ b/src/stored/spool.c
@@ -475,16 +475,19 @@ bool write_block_to_spool_file(DCR *dcr)
    }
    V(mutex);
    if (despool) {
-#ifdef xDEBUG
-      char ec1[30], ec2[30], ec3[30], ec4[30];
-      Dmsg4(100, "Despool in write_block_to_spool_file max_size=%s size=%s "
-            "max_job_size=%s job_size=%s\n",
-            edit_uint64_with_commas(dcr->max_job_spool_size, ec1),
-            edit_uint64_with_commas(dcr->job_spool_size, ec2),
-            edit_uint64_with_commas(dcr->dev->max_spool_size, ec3),
-            edit_uint64_with_commas(dcr->dev->spool_size, ec4));
-#endif
-      Jmsg(dcr->jcr, M_INFO, 0, _("User specified spool size reached.\n"));
+      char ec1[30], ec2[30];
+      if (dcr->max_job_spool_size > 0) {
+         Jmsg(dcr->jcr, M_INFO, 0, _("User specified Job spool size reached: "
+            "JobSpoolSize=%s MaxJobSpoolSize=%s\n"),
+            edit_uint64_with_commas(dcr->job_spool_size, ec1),
+            edit_uint64_with_commas(dcr->max_job_spool_size, ec2));
+      } else {
+         Jmsg(dcr->jcr, M_INFO, 0, _("User specified Device spool size reached: "
+            "DevSpoolSize=%s MaxDevSpoolSize=%s\n"),
+            edit_uint64_with_commas(dcr->dev->spool_size, ec1),
+            edit_uint64_with_commas(dcr->dev->max_spool_size, ec2));
+      }
+
       if (!despool_data(dcr, false)) {
          Pmsg0(000, _("Bad return from despool in write_block.\n"));
          return false;
diff --git a/src/stored/status.c b/src/stored/status.c
index 1b6843a..20f2c08 100644
--- a/src/stored/status.c
+++ b/src/stored/status.c
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2003-2010 Free Software Foundation Europe e.V.
+   Copyright (C) 2003-2012 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.
@@ -37,7 +37,7 @@
 #include "stored.h"
 #include "lib/status.h"
 
-/* Exported variables */
+/* Imported functions */
 
 /* Imported variables */
 extern BSOCK *filed_chan;
@@ -102,18 +102,43 @@ void output_status(STATUS_PKT *sp)
    list_volumes(sendit, (void *)sp);
    if (!sp->api) sendit("====\n\n", 6, sp);
 
-#ifdef xxx
-   if (debug_level > 10) {
-      bs->fsend(_("====\n\n"));
-      dump_resource(R_DEVICE, resources[R_DEVICE-r_first].res_head, sendit, user);
-      bs->fsend(_("====\n\n"));
-   }
-#endif
 
    list_spool_stats(sendit, (void *)sp);
    if (!sp->api) sendit("====\n\n", 6, sp);
+
 }
 
+static void list_resources(STATUS_PKT *sp)
+{
+#ifdef when_working
+   POOL_MEM msg(PM_MESSAGE);
+   int len;
+
+   len = Mmsg(msg, _("\nSD Resources:\n"));
+   if (!sp->api) sendit(msg, len, sp);
+   dump_resource(R_DEVICE, resources[R_DEVICE-r_first], sp);
+   if (!sp->api) sendit("====\n\n", 6, sp);
+#endif
+}
+
+#ifdef xxxx
+static find_device(char *devname)
+{
+   foreach_res(device, R_DEVICE) {
+      if (strcasecmp(device->hdr.name, devname) == 0) {
+         found = true;
+         break;
+      }
+   }
+   if (!found) {
+      foreach_res(changer, R_AUTOCHANGER) {
+         if (strcasecmp(changer->hdr.name, devname) == 0) {
+            break;
+         }
+      }
+   }
+}
+#endif
 
 static void list_devices(STATUS_PKT *sp)
 {
@@ -143,21 +168,24 @@ static void list_devices(STATUS_PKT *sp)
          }
       }
    }
+
+
    foreach_res(device, R_DEVICE) {
       dev = device->dev;
       if (dev && dev->is_open()) {
          if (dev->is_labeled()) {
-            len = Mmsg(msg, _("Device %s is mounted with:\n"
+            len = Mmsg(msg, _("\nDevice %s is %s:\n"
                               "    Volume:      %s\n"
                               "    Pool:        %s\n"
                               "    Media type:  %s\n"),
                dev->print_name(), 
+               dev->blocked()?_("waiting for"):_("mounted with"),
                dev->VolHdr.VolumeName, 
-               dev->pool_name[0]?dev->pool_name:"*unknown*",
+               dev->pool_name[0]?dev->pool_name:_("*unknown*"),
                dev->device->media_type);
             sendit(msg, len, sp);
          } else {
-            len = Mmsg(msg, _("Device %s open but no Bacula volume is currently mounted.\n"), 
+            len = Mmsg(msg, _("\nDevice %s open but no Bacula volume is currently mounted.\n"), 
                dev->print_name());
             sendit(msg, len, sp);
          }
@@ -196,14 +224,16 @@ static void list_devices(STATUS_PKT *sp)
 
       } else {
          if (dev) {
-            len = Mmsg(msg, _("Device %s is not open.\n"), dev->print_name());
+            len = Mmsg(msg, _("\nDevice %s is not open.\n"), dev->print_name());
             sendit(msg, len, sp);
             send_blocked_status(dev, sp);
         } else {
-            len = Mmsg(msg, _("Device \"%s\" is not open or does not exist.\n"), device->hdr.name);
+            len = Mmsg(msg, _("\nDevice \"%s\" is not open or does not exist.\n"), device->hdr.name);
             sendit(msg, len, sp);
          }
       }
+
+      if (!sp->api) sendit("==\n", 4, sp);
    }
    if (!sp->api) sendit("====\n\n", 6, sp);
 }
@@ -237,6 +267,21 @@ static void list_status_header(STATUS_PKT *sp)
               (int)sizeof(boffset_t), (int)sizeof(size_t), (int)sizeof(int32_t),
               (int)sizeof(int64_t), (int)DEVELOPER_MODE, (int)BEEF);
    sendit(msg, len, sp);
+   if (bplugin_list->size() > 0) {
+      Plugin *plugin;
+      int len;
+      pm_strcpy(msg, " Plugin: ");
+      foreach_alist(plugin, bplugin_list) {
+         len = pm_strcat(msg, plugin->file);
+         if (len > 80) {
+            pm_strcat(msg, "\n   ");
+         } else {
+            pm_strcat(msg, " ");
+         }
+      }
+      len = pm_strcat(msg, "\n");
+      sendit(msg.c_str(), len, sp);
+   }
 }
 
 static void send_blocked_status(DEVICE *dev, STATUS_PKT *sp)
@@ -260,33 +305,30 @@ static void send_blocked_status(DEVICE *dev, STATUS_PKT *sp)
       break;
    case BST_WAITING_FOR_SYSOP:
       {
-         dlist *dcrs = dev->attached_dcrs;
+         DCR *dcr;
          bool found_jcr = false;
-
-         if (dcrs != NULL) {
-            DCR *dcr;
-            for (dcr = (DCR *)dcrs->first(); dcr != NULL; dcr = (DCR *)dcrs->next(dcr)) {
-               if (dcr->jcr->JobStatus == JS_WaitMount) {
-                  len = Mmsg(msg, _("    Device is BLOCKED waiting for mount of volume \"%s\",\n"
-                                    "       Pool:        %s\n"
-                                    "       Media type:  %s\n"),
-                             dcr->VolumeName,
-                             dcr->pool_name,
-                             dcr->media_type);
-                  sendit(msg, len, sp);
-                  found_jcr = true;
-               } else if (dcr->jcr->JobStatus == JS_WaitMedia) {
-                  len = Mmsg(msg, _("    Device is BLOCKED waiting to create a volume for:\n"
-                                    "       Pool:        %s\n"
-                                    "       Media type:  %s\n"),
-                             dcr->pool_name,
-                             dcr->media_type);
-                  sendit(msg, len, sp);
-                  found_jcr = true;
-               }
+         dev->Lock();
+         foreach_dlist(dcr, dev->attached_dcrs) {
+            if (dcr->jcr->JobStatus == JS_WaitMount) {
+               len = Mmsg(msg, _("    Device is BLOCKED waiting for mount of volume \"%s\",\n"
+                                 "       Pool:        %s\n"
+                                 "       Media type:  %s\n"),
+                          dcr->VolumeName,
+                          dcr->pool_name,
+                          dcr->media_type);
+               sendit(msg, len, sp);
+               found_jcr = true;
+            } else if (dcr->jcr->JobStatus == JS_WaitMedia) {
+               len = Mmsg(msg, _("    Device is BLOCKED waiting to create a volume for:\n"
+                                 "       Pool:        %s\n"
+                                 "       Media type:  %s\n"),
+                          dcr->pool_name,
+                          dcr->media_type);
+               sendit(msg, len, sp);
+               found_jcr = true;
             }
          }
-
+         dev->Unlock();
          if (!found_jcr) {
             len = Mmsg(msg, _("    Device is BLOCKED waiting for media.\n"));
             sendit(msg, len, sp);
@@ -307,15 +349,12 @@ static void send_blocked_status(DEVICE *dev, STATUS_PKT *sp)
    /* Send autochanger slot status */
    if (dev->is_autochanger()) {
       if (dev->get_slot() > 0) {
-         len = Mmsg(msg, _("    Slot %d is loaded in drive %d.\n"), 
-            dev->get_slot(), dev->drive_index);
+         len = Mmsg(msg, _("    Slot %d %s loaded in drive %d.\n"), 
+            dev->get_slot(), dev->is_open()?"is": "was last", dev->drive_index);
          sendit(msg, len, sp);
-      } else if (dev->get_slot() == 0) {
+      } else if (dev->get_slot() <= 0) {
          len = Mmsg(msg, _("    Drive %d is not loaded.\n"), dev->drive_index);
          sendit(msg, len, sp);
-      } else {
-         len = Mmsg(msg, _("    Drive %d status unknown.\n"), dev->drive_index);
-         sendit(msg, len, sp);
       }
    }
    if (debug_level > 1) {
@@ -328,28 +367,28 @@ static void send_device_status(DEVICE *dev, STATUS_PKT *sp)
    POOL_MEM msg(PM_MESSAGE);
    int len;
 
-   len = Mmsg(msg, _("Configured device capabilities:\n"));
-   sendit(msg, len, sp);
-
-   len = Mmsg(msg, "%sEOF %sBSR %sBSF %sFSR %sFSF %sEOM %sREM %sRACCESS %sAUTOMOUNT %sLABEL %sANONVOLS %sALWAYSOPEN\n",
-      dev->capabilities & CAP_EOF ? "" : "!", 
-      dev->capabilities & CAP_BSR ? "" : "!", 
-      dev->capabilities & CAP_BSF ? "" : "!", 
-      dev->capabilities & CAP_FSR ? "" : "!", 
-      dev->capabilities & CAP_FSF ? "" : "!", 
-      dev->capabilities & CAP_EOM ? "" : "!", 
-      dev->capabilities & CAP_REM ? "" : "!", 
-      dev->capabilities & CAP_RACCESS ? "" : "!",
-      dev->capabilities & CAP_AUTOMOUNT ? "" : "!", 
-      dev->capabilities & CAP_LABEL ? "" : "!", 
-      dev->capabilities & CAP_ANONVOLS ? "" : "!", 
-      dev->capabilities & CAP_ALWAYSOPEN ? "" : "!");
-   sendit(msg, len, sp);
+   if (debug_level > 5) {
+      len = Mmsg(msg, _("Configured device capabilities:\n"));
+      sendit(msg, len, sp);
+      len = Mmsg(msg, "  %sEOF %sBSR %sBSF %sFSR %sFSF %sEOM %sREM %sRACCESS %sAUTOMOUNT %sLABEL %sANONVOLS %sALWAYSOPEN\n",
+         dev->capabilities & CAP_EOF ? "" : "!", 
+         dev->capabilities & CAP_BSR ? "" : "!", 
+         dev->capabilities & CAP_BSF ? "" : "!", 
+         dev->capabilities & CAP_FSR ? "" : "!", 
+         dev->capabilities & CAP_FSF ? "" : "!", 
+         dev->capabilities & CAP_EOM ? "" : "!", 
+         dev->capabilities & CAP_REM ? "" : "!", 
+         dev->capabilities & CAP_RACCESS ? "" : "!",
+         dev->capabilities & CAP_AUTOMOUNT ? "" : "!", 
+         dev->capabilities & CAP_LABEL ? "" : "!", 
+         dev->capabilities & CAP_ANONVOLS ? "" : "!", 
+         dev->capabilities & CAP_ALWAYSOPEN ? "" : "!");
+      sendit(msg, len, sp);
+   }
 
    len = Mmsg(msg, _("Device state:\n"));
    sendit(msg, len, sp);
-
-   len = Mmsg(msg, "%sOPENED %sTAPE %sLABEL %sMALLOC %sAPPEND %sREAD %sEOT %sWEOT %sEOF %sNEXTVOL %sSHORT %sMOUNTED\n", 
+   len = Mmsg(msg, "  %sOPENED %sTAPE %sLABEL %sMALLOC %sAPPEND %sREAD %sEOT %sWEOT %sEOF %sNEXTVOL %sSHORT %sMOUNTED\n", 
       dev->is_open() ? "" : "!", 
       dev->is_tape() ? "" : "!", 
       dev->is_labeled() ? "" : "!", 
@@ -363,35 +402,50 @@ static void send_device_status(DEVICE *dev, STATUS_PKT *sp)
       dev->state & ST_SHORT ? "" : "!", 
       dev->state & ST_MOUNTED ? "" : "!");
    sendit(msg, len, sp);
-
-   len = Mmsg(msg, _("num_writers=%d reserved=%d block=%d\n\n"), dev->num_writers, 
+   len = Mmsg(msg, _("  num_writers=%d reserves=%d block=%d\n"), dev->num_writers,
               dev->num_reserved(), dev->blocked());
    sendit(msg, len, sp);
 
-   len = Mmsg(msg, _("Device parameters:\n"));
+   len = Mmsg(msg, _("Attached Jobs: "));
    sendit(msg, len, sp);
+   DCR *dcr = NULL; 
+   bool found = false;
+   dev->Lock();
+   foreach_dlist(dcr, dev->attached_dcrs) {
+      if (dcr->jcr) {
+         if (found) {
+            sendit(",", 1, sp);
+         }
+         len = Mmsg(msg, "%d", (int)dcr->jcr->JobId);
+         sendit(msg, len, sp);
+         found = true;
+      }
+   }
+   dev->Unlock();
+   sendit("\n", 1, sp);
 
-   len = Mmsg(msg, _("Archive name: %s Device name: %s\n"), dev->archive_name(),
+   len = Mmsg(msg, _("Device parameters:\n"));
+   sendit(msg, len, sp);
+   len = Mmsg(msg, _("  Archive name: %s Device name: %s\n"), dev->archive_name(),
       dev->name());
    sendit(msg, len, sp);
-
-   len = Mmsg(msg, _("File=%u block=%u\n"), dev->file, dev->block_num);
+   len = Mmsg(msg, _("  File=%u block=%u\n"), dev->file, dev->block_num);
    sendit(msg, len, sp);
-
-   len = Mmsg(msg, _("Min block=%u Max block=%u\n"), dev->min_block_size, dev->max_block_size);
+   len = Mmsg(msg, _("  Min block=%u Max block=%u\n"), dev->min_block_size, dev->max_block_size);
    sendit(msg, len, sp);
 }
 
 static void list_running_jobs(STATUS_PKT *sp)
 {
    bool found = false;
-   int bps, sec;
+   int avebps, bps, sec;
    JCR *jcr;
    DCR *dcr, *rdcr;
    char JobName[MAX_NAME_LENGTH];
-   char b1[30], b2[30], b3[30];
+   char b1[50], b2[50], b3[50], b4[50];
    int len;
    POOL_MEM msg(PM_MESSAGE);
+   time_t now = time(NULL);
 
    len = Mmsg(msg, _("\nRunning Jobs:\n"));
    if (!sp->api) sendit(msg, len, sp);
@@ -442,16 +496,27 @@ static void list_running_jobs(STATUS_PKT *sp)
                    dcr->spooling, dcr->despooling, dcr->despool_wait);
             sendit(msg, len, sp);
          }
-         sec = time(NULL) - jcr->run_time;
+         if (jcr->last_time == 0) {
+            jcr->last_time = jcr->run_time;
+         }
+         sec = now - jcr->last_time;
          if (sec <= 0) {
             sec = 1;
          }
-         bps = jcr->JobBytes / sec;
-         len = Mmsg(msg, _("    Files=%s Bytes=%s Bytes/sec=%s\n"),
+         bps = (jcr->JobBytes - jcr->LastJobBytes) / sec;
+         if (jcr->LastRate == 0) {
+            jcr->LastRate = bps;
+         }
+         avebps = (jcr->LastRate + bps) / 2;
+         len = Mmsg(msg, _("    Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"),
             edit_uint64_with_commas(jcr->JobFiles, b1),
             edit_uint64_with_commas(jcr->JobBytes, b2),
-            edit_uint64_with_commas(bps, b3));
+            edit_uint64_with_commas(avebps, b3),
+            edit_uint64_with_commas(bps, b4));
          sendit(msg, len, sp);
+         jcr->LastRate = avebps;
+         jcr->LastJobBytes = jcr->JobBytes;
+         jcr->last_time = now;
          found = true;
 #ifdef DEBUG
          if (jcr->file_bsock) {
@@ -695,8 +760,7 @@ bool qstatus_cmd(JCR *jcr)
    sp.bs = dir;
    if (sscanf(dir->msg, qstatus, cmd.c_str()) != 1) {
       pm_strcpy(jcr->errmsg, dir->msg);
-      Jmsg1(jcr, M_FATAL, 0, _("Bad .status command: %s\n"), jcr->errmsg);
-      dir->fsend(_("3900 Bad .status command, missing argument.\n"));
+      dir->fsend(_("3900 No arg in .status command: %s\n"), jcr->errmsg);
       dir->signal(BNET_EOD);
       return false;
    }
@@ -704,7 +768,7 @@ bool qstatus_cmd(JCR *jcr)
 
    Dmsg1(200, "cmd=%s\n", cmd.c_str());
 
-   if (strcmp(cmd.c_str(), "current") == 0) {
+   if (strcasecmp(cmd.c_str(), "current") == 0) {
       dir->fsend(OKqstatus, cmd.c_str());
       foreach_jcr(njcr) {
          if (njcr->JobId != 0) {
@@ -712,7 +776,7 @@ bool qstatus_cmd(JCR *jcr)
          }
       }
       endeach_jcr(njcr);
-   } else if (strcmp(cmd.c_str(), "last") == 0) {
+   } else if (strcasecmp(cmd.c_str(), "last") == 0) {
       dir->fsend(OKqstatus, cmd.c_str());
       if ((last_jobs) && (last_jobs->size() > 0)) {
          job = (s_last_job*)last_jobs->last();
@@ -739,10 +803,12 @@ bool qstatus_cmd(JCR *jcr)
    } else if (strcasecmp(cmd.c_str(), "terminated") == 0) {
        sp.api = true;
        list_terminated_jobs(&sp);
+   } else if (strcasecmp(cmd.c_str(), "resources") == 0) {
+       sp.api = true;
+       list_resources(&sp);
    } else {
       pm_strcpy(jcr->errmsg, dir->msg);
-      Jmsg1(jcr, M_FATAL, 0, _("Bad .status command: %s\n"), jcr->errmsg);
-      dir->fsend(_("3900 Bad .status command, wrong argument.\n"));
+      dir->fsend(_("3900 Unknown arg in .status command: %s\n"), jcr->errmsg);
       dir->signal(BNET_EOD);
       return false;
    }
diff --git a/src/stored/stored.h b/src/stored/stored.h
index 7d0fe50..2af78c4 100644
--- a/src/stored/stored.h
+++ b/src/stored/stored.h
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2011 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2013 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.
@@ -28,7 +28,6 @@
 /*
  * Storage daemon specific defines and includes
  *
- *  Version $Id$
  */
 
 #ifndef __STORED_H_
@@ -65,6 +64,7 @@ const int sd_dbglvl = 300;
 #include "stored_conf.h"
 #include "bsr.h"
 #include "jcr.h"
+#include "vol_mgr.h"
 #include "reserve.h"
 #include "protos.h"
 #ifdef HAVE_LIBZ
diff --git a/src/stored/vol_mgr.c b/src/stored/vol_mgr.c
index 78feb55..f3e28e7 100644
--- a/src/stored/vol_mgr.c
+++ b/src/stored/vol_mgr.c
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2013 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.
@@ -100,7 +100,7 @@ void term_vol_list_lock()
    rwl_destroy(&vol_list_lock);
 }
 
-/* 
+/*
  * This allows a given thread to recursively call to lock_volumes()
  */
 void _lock_volumes(const char *file, int line)
@@ -149,17 +149,17 @@ void add_read_volume(JCR *jcr, const char *VolumeName)
 {
    VOLRES *nvol, *vol;
 
-   lock_read_volumes();
    nvol = new_vol_item(NULL, VolumeName);
    nvol->set_jobid(jcr->JobId);
+   lock_read_volumes();
    vol = (VOLRES *)read_vol_list->binary_insert(nvol, read_compare);
+   unlock_read_volumes();
    if (vol != nvol) {
       free_vol_item(nvol);
       Dmsg2(dbglvl, "read_vol=%s JobId=%d already in list.\n", VolumeName, jcr->JobId);
    } else {
       Dmsg2(dbglvl, "add read_vol=%s JobId=%d\n", VolumeName, jcr->JobId);
    }
-   unlock_read_volumes();
 }
 
 /*
@@ -181,6 +181,7 @@ void remove_read_volume(JCR *jcr, const char *VolumeName)
       free_vol_item(fvol);
    }
    unlock_read_volumes();
+// pthread_cond_broadcast(&wait_next_vol);
 }
 
 /*
@@ -196,8 +197,7 @@ static void debug_list_volumes(const char *imsg)
    VOLRES *vol;
    POOL_MEM msg(PM_MESSAGE);
 
-   lock_volumes();
-   foreach_dlist(vol, vol_list) {
+   foreach_vol(vol) {
       if (vol->dev) {
          Mmsg(msg, "List %s: %s in_use=%d swap=%d on device %s\n", imsg, 
               vol->vol_name, vol->is_in_use(), vol->is_swapping(), vol->dev->print_name());
@@ -207,8 +207,7 @@ static void debug_list_volumes(const char *imsg)
       }
       Dmsg1(dbglvl, "%s", msg.c_str());
    }
-
-   unlock_volumes();
+   endeach_vol(vol);
 }
 
 
@@ -221,32 +220,40 @@ void list_volumes(void sendit(const char *msg, int len, void *sarg), void *arg)
    POOL_MEM msg(PM_MESSAGE);
    int len;
 
-   lock_volumes();
-   foreach_dlist(vol, vol_list) {
+   foreach_vol(vol) {
       DEVICE *dev = vol->dev;
       if (dev) {
          len = Mmsg(msg, "%s on device %s\n", vol->vol_name, dev->print_name());
          sendit(msg.c_str(), len, arg);
-         len = Mmsg(msg, "    Reader=%d writers=%d devres=%d volinuse=%d\n", 
-            dev->can_read()?1:0, dev->num_writers, dev->num_reserved(),   
+         len = Mmsg(msg, "    Reader=%d writers=%d reserves=%d volinuse=%d\n",
+            dev->can_read()?1:0, dev->num_writers, dev->num_reserved(),
             vol->is_in_use());
          sendit(msg.c_str(), len, arg);
       } else {
-         len = Mmsg(msg, "%s no device. volinuse= %d\n", vol->vol_name, 
+         len = Mmsg(msg, "Volume %s no device. volinuse= %d\n", vol->vol_name,
             vol->is_in_use());
          sendit(msg.c_str(), len, arg);
       }
    }
-   unlock_volumes();
+   endeach_vol(vol);
 
    lock_read_volumes();
    foreach_dlist(vol, read_vol_list) {
-      len = Mmsg(msg, "%s read volume JobId=%d\n", vol->vol_name, 
-            vol->get_jobid());
-      sendit(msg.c_str(), len, arg);
+      DEVICE *dev = vol->dev;
+      if (dev) {
+         len = Mmsg(msg, "Read volume: %s on device %s\n", vol->vol_name, dev->print_name());
+         sendit(msg.c_str(), len, arg);
+         len = Mmsg(msg, "    Reader=%d writers=%d reserves=%d volinuse=%d JobId=%d\n",
+            dev->can_read()?1:0, dev->num_writers, dev->num_reserved(),
+            vol->is_in_use(), vol->get_jobid());
+         sendit(msg.c_str(), len, arg);
+      } else {
+         len = Mmsg(msg, "Volume: %s no device. volinuse= %d\n", vol->vol_name,
+            vol->is_in_use());
+         sendit(msg.c_str(), len, arg);
+      }
    }
    unlock_read_volumes();
-
 }
 
 /*
@@ -264,6 +271,8 @@ static VOLRES *new_vol_item(DCR *dcr, const char *VolumeName)
       Dmsg3(dbglvl, "new Vol=%s at %p dev=%s\n",
             VolumeName, vol->vol_name, vol->dev->print_name());
    }
+   vol->init_mutex();
+   vol->inc_use_count();
    return vol;
 }
 
@@ -271,10 +280,18 @@ static void free_vol_item(VOLRES *vol)
 {
    DEVICE *dev = NULL;
 
+   vol->dec_use_count();
+   vol->Lock();
+   if (vol->use_count() > 0) {
+      vol->Unlock();
+      return;
+   }
+   vol->Unlock();
    free(vol->vol_name);
    if (vol->dev) {
       dev = vol->dev;
    }
+   vol->destroy_mutex();
    free(vol);
    if (dev) {
       dev->vol = NULL;
@@ -295,42 +312,38 @@ static void free_vol_item(VOLRES *vol)
  *
  * Some details of the Volume list handling:
  *
- *  1. The Volume list entry must be attached to the drive (rather than 
- *       attached to a job as it currently is. I.e. the drive that "owns" 
+ *  1. The Volume list entry is attached to the drive (rather than
+ *       attached to a job as it was previously. I.e. the drive that "owns"
  *       the volume (in use, mounted)
  *       must point to the volume (still to be maintained in a list).
  *
- *  2. The Volume is entered in the list when a drive is reserved.  
+ *  2. The Volume is entered in the list when a drive is reserved.
  *
  *  3. When a drive is in use, the device code must appropriately update the
- *      volume name as it changes (currently the list is static -- an entry is
- *      removed when the Volume is no longer reserved, in use or mounted).  
- *      The new code must keep the same list entry as long as the drive
+ *       volume name as it changes.
+  *      This code keeps the same list entry as long as the drive
  *       has any volume associated with it but the volume name in the list
  *       must be updated when the drive has a different volume mounted.
  *
- *  4. A job that has reserved a volume, can un-reserve the volume, and if the 
+ *  4. A job that has reserved a volume, can un-reserve the volume, and if the
  *      volume is not mounted, and not reserved, and not in use, it will be
  *      removed from the list.
  *
  *  5. If a job wants to reserve a drive with a different Volume from the one on
  *      the drive, it can re-use the drive for the new Volume.
- *
+
  *  6. If a job wants a Volume that is in a different drive, it can either use the
  *      other drive or take the volume, only if the other drive is not in use or
  *      not reserved.
  *
- *  One nice aspect of this is that the reserve use count and the writer use count 
- *  already exist and are correctly programmed and will need no changes -- use 
+ *  One nice aspect of this is that the reserve use count and the writer use count
+ *  already exist and are correctly programmed and will need no changes -- use
  *  counts are always very tricky.
  *
- *  The old code had a concept of "reserving" a Volume, but was changed 
- *  to reserving and using a drive.  A volume is must be attached to (owned by) a 
- *  drive and can move from drive to drive or be unused given certain specific 
- *  conditions of the drive.  The key is that the drive must "own" the Volume.  
- *  The old code had the job (dcr) owning the volume (more or less).  The job was
- *  to change the insertion and removal of the volumes from the list to be based 
- *  on the drive rather than the job.  
+ *  The old code had a concept of "reserving" a Volume, but was changed
+ *  to reserving and using a drive.  A volume is must be attached to (owned by) a
+ *  drive and can move from drive to drive or be unused given certain specific
+ *  conditions of the drive.  The key is that the drive must "own" the Volume.
  *
  *  Return: VOLRES entry on success
  *          NULL volume busy on another drive
@@ -345,16 +358,17 @@ VOLRES *reserve_volume(DCR *dcr, const char *VolumeName)
    }
    ASSERT(dev != NULL);
 
-   Dmsg2(dbglvl, "enter reserve_volume=%s drive=%s\n", VolumeName, 
+   Dmsg2(dbglvl, "enter reserve_volume=%s drive=%s\n", VolumeName,
       dcr->dev->print_name());
-   /* 
+
+   /*
     * We lock the reservations system here to ensure
     *  when adding a new volume that no newly scheduled
     *  job can reserve it.
     */
    lock_volumes();
    debug_list_volumes("begin reserve_volume");
-   /* 
+   /*
     * First, remove any old volume attached to this device as it
     *  is no longer used.
     */
@@ -415,7 +429,7 @@ VOLRES *reserve_volume(DCR *dcr, const char *VolumeName)
       if (vol->dev) {
          Dmsg2(dbglvl, "dev=%s vol->dev=%s\n", dev->print_name(), vol->dev->print_name());
       }
-         
+
       /*
        * Check if we are trying to use the Volume on a different drive
        *  dev      is our device
@@ -442,8 +456,11 @@ VOLRES *reserve_volume(DCR *dcr, const char *VolumeName)
             vol->dev = dev;              /* point the Volume at our drive */
             dev->vol = vol;              /* point our drive at the Volume */
          } else {
-            Dmsg5(dbglvl, "==== Swap not possible Vol busy=%d swap=%d vol=%s from dev=%s to %s\n", 
-               vol->dev->is_busy(), vol->is_swapping(),
+            Jmsg7(dcr->jcr, M_WARNING, 0, "Need volume from other drive, "
+               "but swap not possible. Status: read=%d num_writers=%d "
+               "num_reserve=%d swap=%d vol=%s from dev=%s to %s\n", 
+               vol->dev->can_read(), vol->dev->num_writers,
+               vol->dev->num_reserved(), vol->is_swapping(),
                VolumeName, vol->dev->print_name(), dev->print_name());
             if (vol->is_swapping() && dev->swap_dev) {
                Dmsg3(dbglvl, "Swap failed vol=%s from=%s to dev=%s\n", 
@@ -477,6 +494,69 @@ get_out:
 }
 
 /*
+ * Start walk of vol chain
+ * The proper way to walk the vol chain is:
+ *    VOLRES *vol;
+ *    foreach_vol(vol) {
+ *      ...
+ *    }
+ *    endeach_vol(vol);
+ *
+ *  It is possible to leave out the endeach_vol(vol), but
+ *   in that case, the last vol referenced must be explicitly
+ *   released with:
+ *
+ *    free_vol_item(vol);
+ *
+ */
+VOLRES *vol_walk_start()
+{
+   VOLRES *vol;
+   lock_volumes();
+   vol = (VOLRES *)vol_list->first();
+   if (vol) {
+      vol->inc_use_count();
+      Dmsg2(dbglvl, "Inc walk_start use_count=%d volname=%s\n",
+            vol->use_count(), vol->vol_name);
+   }
+   unlock_volumes();
+   return vol;
+}
+
+/*
+ * Get next vol from chain, and release current one
+ */
+VOLRES *vol_walk_next(VOLRES *prev_vol)
+{
+   VOLRES *vol;
+
+   lock_volumes();
+   vol = (VOLRES *)vol_list->next(prev_vol);
+   if (vol) {
+      vol->inc_use_count();
+      Dmsg2(dbglvl, "Inc walk_next use_count=%d volname=%s\n",
+            vol->use_count(), vol->vol_name);
+   }
+   unlock_volumes();
+   if (prev_vol) {
+      free_vol_item(prev_vol);
+   }
+   return vol;
+}
+
+/*
+ * Release last vol referenced
+ */
+void vol_walk_end(VOLRES *vol)
+{
+   if (vol) {
+      Dmsg2(dbglvl, "Free walk_end use_count=%d volname=%s\n",
+            vol->use_count(), vol->vol_name);
+      free_vol_item(vol);
+   }
+}
+
+/*
  * Search for a Volume name in the Volume list.
  *
  *  Returns: VOLRES entry on success
@@ -526,7 +606,7 @@ static VOLRES *find_read_volume(const char *VolumeName)
 }
 
 
-/*  
+/*
  * Free a Volume from the Volume list if it is no longer used
  *   Note, for tape drives we want to remember where the Volume
  *   was when last used, so rather than free the volume entry,
@@ -555,7 +635,7 @@ bool volume_unused(DCR *dcr)
       return false;
    }
 
-   /*  
+   /*
     * If this is a tape, we do not free the volume, rather we wait
     *  until the autoloader unloads it, or until another tape is
     *  explicitly read in this drive. This allows the SD to remember
@@ -567,7 +647,7 @@ bool volume_unused(DCR *dcr)
       return true;
    } else {
       /*
-       * Note, this frees the volume reservation entry, but the 
+       * Note, this frees the volume reservation entry, but the
        *   file descriptor remains open with the OS.
        */
       return free_volume(dev);
@@ -600,6 +680,7 @@ bool free_volume(DEVICE *dev)
       Dmsg1(dbglvl, "=== cannot clear swapping vol=%s\n", vol->vol_name);
    }
    unlock_volumes();
+// pthread_cond_broadcast(&wait_next_vol);
    return true;
 }
 
@@ -632,6 +713,7 @@ static void free_volume_list()
          }
          free(vol->vol_name);
          vol->vol_name = NULL;
+         vol->destroy_mutex();
       }
       delete vol_list;
       vol_list = NULL;
@@ -656,6 +738,7 @@ void free_volume_lists()
          }
          free(vol->vol_name);
          vol->vol_name = NULL;
+         vol->destroy_mutex();
       }
       delete read_vol_list;
       read_vol_list = NULL;
@@ -720,13 +803,13 @@ get_out:
 
 }
 
-/*  
+/*
  * Create a temporary copy of the volume list.  We do this,
  *   to avoid having the volume list locked during the
  *   call to reserve_device(), which would cause a deadlock.
  * Note, we may want to add an update counter on the vol_list
  *   so that if it is modified while we are traversing the copy
- *   we can take note and act accordingly (probably redo the 
+ *   we can take note and act accordingly (probably redo the
  *   search at least a few times).
  */
 dlist *dup_vol_list(JCR *jcr)
@@ -734,12 +817,11 @@ dlist *dup_vol_list(JCR *jcr)
    dlist *temp_vol_list;
    VOLRES *vol = NULL;
 
-   lock_volumes();
-   Dmsg0(dbglvl, "lock volumes\n");                           
+   Dmsg0(dbglvl, "lock volumes\n");
 
    Dmsg0(dbglvl, "duplicate vol list\n");
    temp_vol_list = New(dlist(vol, &vol->link));
-   foreach_dlist(vol, vol_list) {
+   foreach_vol(vol) {
       VOLRES *nvol;
       VOLRES *tvol = (VOLRES *)malloc(sizeof(VOLRES));
       memset(tvol, 0, sizeof(VOLRES));
@@ -753,8 +835,8 @@ dlist *dup_vol_list(JCR *jcr)
          Jmsg(jcr, M_WARNING, 0, "Logic error. Duplicating vol list hit duplicate.\n");
       }
    }
+   endeach_vol(vol);
    Dmsg0(dbglvl, "unlock volumes\n");
-   unlock_volumes();
    return temp_vol_list;
 }
 
@@ -764,7 +846,7 @@ dlist *dup_vol_list(JCR *jcr)
 void free_temp_vol_list(dlist *temp_vol_list)
 {
    dlist *save_vol_list;
-   
+
    lock_volumes();
    save_vol_list = vol_list;
    vol_list = temp_vol_list;
diff --git a/src/stored/vol_mgr.h b/src/stored/vol_mgr.h
new file mode 100644
index 0000000..44659ed
--- /dev/null
+++ b/src/stored/vol_mgr.h
@@ -0,0 +1,100 @@
+/*
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2013 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.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version three of the GNU Affero General Public
+   License as published by the Free Software Foundation and included
+   in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU Affero General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of Kern Sibbald.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf at fsfeurope.org.
+*/
+/*
+ * Pulled out of dev.h
+ *
+ * Kern Sibbald, MMXIII
+ *
+ */
+
+/*
+ * Some details of how volume reservations work
+ *
+ * class VOLRES:
+ *   set_in_use()     volume being used on current drive
+ *   clear_in_use()   no longer being used.  Can be re-used or moved.
+ *   set_swapping()   set volume being moved to another drive
+ *   is_swapping()    volume is being moved to another drive
+ *   clear_swapping() volume normal
+ *
+ */
+
+#ifndef __VOL_MGR_H
+#define __VOL_MGR_H 1
+
+class VOLRES;
+VOLRES *vol_walk_start();
+VOLRES *vol_walk_next(VOLRES *prev_vol);
+void vol_walk_end(VOLRES *vol);
+
+/*
+ * Volume reservation class -- see vol_mgr.c and reserve.c
+ */
+class VOLRES { 
+   bool m_swapping;                   /* set when swapping to another drive */
+   bool m_in_use;                     /* set when volume reserved or in use */
+   bool m_reading;                    /* set when reading */
+   int32_t m_slot;                    /* slot of swapping volume */
+   uint32_t m_JobId;                  /* JobId for read volumes */
+   volatile int32_t m_use_count;      /* Use count */
+   pthread_mutex_t m_mutex;           /* Vol muntex */
+public:
+   dlink link;
+   char *vol_name;                    /* Volume name */
+   DEVICE *dev;                       /* Pointer to device to which we are attached */
+
+   void init_mutex() { pthread_mutex_init(&m_mutex, NULL); };
+   void destroy_mutex() { pthread_mutex_destroy(&m_mutex); };
+   void Lock() { P(m_mutex); };
+   void Unlock() { V(m_mutex); };
+   void inc_use_count(void) {P(m_mutex); m_use_count++; V(m_mutex); };
+   void dec_use_count(void) {P(m_mutex); m_use_count--; V(m_mutex); };
+   int32_t use_count() const { return m_use_count; };
+   bool is_swapping() const { return m_swapping; };
+   bool is_reading() const { return m_reading; };
+   bool is_writing() const { return !m_reading; };
+   void set_reading() { m_reading = true; };
+   void clear_reading() { m_reading = false; };
+   void set_swapping() { m_swapping = true; };
+   void clear_swapping() { m_swapping = false; };
+   bool is_in_use() const { return m_in_use; };
+   void set_in_use() { m_in_use = true; };
+   void clear_in_use() { m_in_use = false; };
+   void set_slot(int32_t slot) { m_slot = slot; };
+   void clear_slot() { m_slot = -1; };
+   int32_t get_slot() const { return m_slot; };
+   uint32_t get_jobid() const { return m_JobId; };
+   void set_jobid(uint32_t JobId) { m_JobId = JobId; };
+};
+
+#define foreach_vol(vol) \
+   for (vol=vol_walk_start(); vol; (vol=vol_walk_next(vol)) )
+
+#define endeach_vol(vol) vol_walk_end(vol)
+
+#endif
diff --git a/src/stored/wait.c b/src/stored/wait.c
index 0a7a3d1..87f809f 100644
--- a/src/stored/wait.c
+++ b/src/stored/wait.c
@@ -59,7 +59,7 @@ int wait_for_sysop(DCR *dcr)
    DEVICE *dev = dcr->dev;
    JCR *jcr = dcr->jcr;
 
-   dev->dlock();  
+   dev->Lock();  
    Dmsg1(dbglvl, "Enter blocked=%s\n", dev->print_blocked());
 
    /*
@@ -206,7 +206,7 @@ int wait_for_sysop(DCR *dcr)
       Dmsg1(dbglvl, "set %s\n", dev->print_blocked());
    }
    Dmsg1(dbglvl, "Exit blocked=%s\n", dev->print_blocked());
-   dev->dunlock();
+   dev->Unlock();
    return stat;
 }
 
diff --git a/src/streams.h b/src/streams.h
index 1fc8c82..78b1e68 100644
--- a/src/streams.h
+++ b/src/streams.h
@@ -169,6 +169,13 @@
 #define STREAM_ACL_FREEBSD_NFS4_ACL      1017    /* FreeBSD specific acl_t string representation
                                                   * from acl_to_text (NFSv4 or ZFS acl)
                                                   */
+#define STREAM_ACL_HURD_DEFAULT_ACL      1018    /* GNU HURD specific acl_t string representation
+                                                  * from acl_to_text (POSIX acl) for default acls.
+                                                  */
+#define STREAM_ACL_HURD_ACCESS_ACL       1019    /* GNU HURD specific acl_t string representation
+                                                  * from acl_to_text (POSIX acl) for access acls.
+                                                  */
+#define STREAM_XATTR_HURD                1989    /* GNU HURD specific extended attributes */
 #define STREAM_XATTR_IRIX                1990    /* IRIX specific extended attributes */
 #define STREAM_XATTR_TRU64               1991    /* TRU64 specific extended attributes */
 #define STREAM_XATTR_AIX                 1992    /* AIX specific extended attributes */
diff --git a/src/tools/Makefile.in b/src/tools/Makefile.in
index 2463957..3bdacc8 100644
--- a/src/tools/Makefile.in
+++ b/src/tools/Makefile.in
@@ -1,8 +1,6 @@
 #
 # Bacula Tools Makefile
 #
-# Version $Id$
-#
 @MCOMMON@
 
 PYTHON_INC = @PYTHON_INCDIR@
@@ -37,7 +35,7 @@ EXTRAOBJS = @OBJLIST@
 DIRCONFOBJS = ../dird/dird_conf.o ../dird/ua_acl.o ../dird/run_conf.o ../dird/inc_conf.o
 
 NODIRTOOLS = bsmtp
-DIRTOOLS = bsmtp dbcheck drivetype fstype testfind testls bregex bwild bbatch bregtest bvfs_test ing_test bpluginfo
+DIRTOOLS = bsmtp dbcheck drivetype fstype testfind testls bregex bwild bbatch bregtest bvfs_test ing_test bpluginfo timelimit
 TOOLS = $(@DIR_TOOLS@)
 
 INSNODIRTOOLS = bsmtp
@@ -88,6 +86,10 @@ run_conf.o: ../dird/run_conf.c
 inc_conf.o: ../dird/inc_conf.c
 	$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 
+timelimit: timelimit.o
+	${CC} ${DEFS} ${DEBUG} -pipe -DHAVE_ERRNO_H -DHAVE_SETITIMER -DHAVE_SIGACTION -c timelimit.c 
+	${CC} -o timelimit timelimit.o
+
 testfind: Makefile ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) \
 	  ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) $(FINDOBJS)
 	$(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -o $@ $(FINDOBJS) -L. -L../lib -L../findlib \
diff --git a/src/tools/bpluginfo.c b/src/tools/bpluginfo.c
index 75a5114..faa2754 100644
--- a/src/tools/bpluginfo.c
+++ b/src/tools/bpluginfo.c
@@ -47,10 +47,10 @@
 #include <dlfcn.h>
 #endif
 #include "bacula.h"
-#include "fd_plugins.h"
-#include "dir_plugins.h"
+#include "../filed/fd_plugins.h"
+#include "../dird/dir_plugins.h"
 // I can't include sd_plugins.h here ...
-#include "stored.h"
+#include "../stored/stored.h"
 #include "assert_macro.h"
 
 extern "C" {
diff --git a/src/tools/timelimit.1 b/src/tools/timelimit.1
new file mode 100644
index 0000000..1d3a7c9
--- /dev/null
+++ b/src/tools/timelimit.1
@@ -0,0 +1,217 @@
+.\" Copyright (c) 2001, 2007 - 2010  Peter Pentchev
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $Ringlet$
+.\"
+.Dd September 29, 2010
+.Dt TIMELIMIT 1
+.Os
+.Sh NAME
+.Nm timelimit
+.Nd effectively limit the absolute execution time of a process
+.Sh SYNOPSIS
+.Nm
+.Op Fl pq
+.Op Fl S Ar killsig
+.Op Fl s Ar warnsig
+.Op Fl T Ar killtime
+.Op Fl t Ar warntime
+.Ar command
+.Op Ar arguments ...
+.Sh DESCRIPTION
+The
+.Nm
+utility executes a given
+.Ar command
+with the supplied
+.Ar arguments
+and terminates the spawned process after a given time with a given signal.
+If the process exits before the time limit has elapsed,
+.Nm
+will silently exit, too.
+.Pp
+Options:
+.Bl -tag -width indent
+.It Fl p
+If the child process is terminated by a signal,
+.Nm
+propagates this condition, i.e. sends the same signal to itself.
+This allows the program executing
+.Nm
+to determine whether the child process was terminated by a signal or
+actually exited with an exit code larger than 128.
+.It Fl q
+Quiet operation -
+.Nm
+does not output diagnostic messages about signals sent to the child process.
+.It Fl S Ar killsig
+Specify the number of the signal to be sent to the process
+.Ar killtime
+seconds after
+.Ar warntime
+has expired.
+Defaults to 9 (SIGKILL).
+.It Fl s Ar warnsig
+Specify the number of the signal to be sent to the process
+.Ar warntime
+seconds after it has been started.
+Defaults to 15 (SIGTERM).
+.It Fl T Ar killtime
+Specify the maximum execution time of the process before sending
+.Ar killsig
+after
+.Ar warnsig
+has been sent.
+Defaults to 120 seconds.
+.It Fl t Ar warntime
+Specify the maximum execution time of the process in seconds before sending
+.Ar warnsig .
+Defaults to 3600 seconds.
+.El
+.Pp
+On systems that support the
+.Xr setitimer 2
+system call, the
+.Ar warntime
+and
+.Ar killtime
+values may be specified in fractional seconds with microsecond precision.
+.Sh ENVIRONMENT
+.Bl -tag -width indent
+.It Ev KILLSIG
+The
+.Ar killsig
+to use if the
+.Fl S
+option was not specified.
+.It Ev KILLTIME
+The
+.Ar killtime
+to use if the
+.Fl T
+option was not specified.
+.It Ev WARNSIG
+The
+.Ar warnsig
+to use if the
+.Fl s
+option was not specified.
+.It Ev WARNTIME
+The
+.Ar warntime
+to use if the
+.Fl t
+option was not specified.
+.El
+.Sh EXIT STATUS
+If the child process exits normally, the
+.Nm
+utility will pass its exit code on up.
+If the child process is terminated by a signal and the
+.Fl p
+flag was not specified, the
+.Nm
+utility's exit status is 128 plus the signal number, similar to
+.Xr sh 1 .
+If the
+.Fl p
+flag was specified, the
+.Nm
+utility will raise the signal itself so that its own parent process
+may in turn reliably distinguish between a signal and a larger than 128
+exit code.
+.Pp
+In rare cases, the
+.Nm
+utility may encounter a system or user error; then, its exit status is one
+of the standard
+.Xr sysexits 3
+values:
+.Bl -tag -width indent
+.It Dv EX_USAGE
+The command-line parameters and options were incorrectly specified.
+.It Dv EX_SOFTWARE
+The
+.Nm
+utility itself received an unexpected signal while waiting for the child
+process to terminate.
+.It Dv EX_OSERR
+The
+.Nm
+utility was unable to execute the child process, wait for it to terminate,
+or examine its exit status.
+.El
+.Sh EXAMPLES
+.Pp
+The following examples are shown as given to the shell:
+.Pp
+.Dl timelimit -p /usr/local/bin/rsync rsync://some.host/dir /opt/mirror
+.Pp
+Run the rsync program to mirror a WWW or FTP site and kill it if it
+runs longer than 1 hour (that is 3600 seconds) with SIGTERM.
+If the rsync process does not exit after receiving the SIGTERM,
+.Nm
+issues a SIGKILL 120 seconds after the SIGTERM.
+If the rsync process is terminated by a signal,
+.Nm
+will itself raise this signal.
+.Pp
+.Dl tcpserver 0 8888 timelimit -t600 -T300 /opt/services/chat/stats
+.Pp
+Start a
+.Xr tcpserver n
+process listening on tcp port 8888; each client connection shall invoke
+an instance of an IRC statistics tool under
+.Pa /opt/services/chat
+and kill it after 600 seconds have elapsed.
+If the stats process is still running after the SIGTERM, it will be
+killed by a SIGKILL sent 300 seconds later.
+.Pp
+.Dl env WARNTIME=4.99 WARNSIG=1 KILLTIME=1.000001 timelimit sh stats.sh
+.Pp
+Start a shell script and kill it with a SIGHUP in a little under 5 seconds.
+If the shell gets stuck and does not respond to the SIGHUP, kill it
+with the default SIGKILL just a bit over a second afterwards.
+.Sh SEE ALSO
+.Xr kill 1 ,
+.Xr rsync 1 ,
+.Xr signal 3 ,
+.Xr tcpserver n
+.Sh STANDARDS
+No standards documentation was harmed in the process of creating
+.Nm .
+.Sh BUGS
+Please report any bugs in
+.Nm
+to the author.
+.Sh AUTHOR
+The
+.Nm
+utility was conceived and written by
+.An Peter Pentchev Aq roam at ringlet.net
+with contributions and suggestions by
+.An Karsten W Rohrbach Aq karsten at rohrbach.de ,
+.An Teddy Hogeborn Aq teddy at fukt.bsnet.se ,
+and
+.An Tomasz Nowak Aq nowak2000 at poczta.onet.pl .
diff --git a/src/tools/timelimit.c b/src/tools/timelimit.c
new file mode 100644
index 0000000..c337a18
--- /dev/null
+++ b/src/tools/timelimit.c
@@ -0,0 +1,537 @@
+/*-
+ * Copyright (c) 2001, 2007 - 2010  Peter Pentchev
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+
+/* we hope all OS's have those..*/
+#include <sys/types.h>
+#include <sys/signal.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+
+#include <signal.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <errno.h>
+
+#ifdef HAVE_ERR
+#include <err.h>
+#endif /* HAVE_ERR */
+
+#ifdef HAVE_SYSEXITS_H
+#include <sysexits.h>
+#else
+#define EX_OK           0       /* successful termination */
+#define EX__BASE        64      /* base value for error messages */
+#define EX_USAGE        64      /* command line usage error */
+#define EX_DATAERR      65      /* data format error */
+#define EX_NOINPUT      66      /* cannot open input */
+#define EX_NOUSER       67      /* addressee unknown */
+#define EX_NOHOST       68      /* host name unknown */
+#define EX_UNAVAILABLE  69      /* service unavailable */
+#define EX_SOFTWARE     70      /* internal software error */
+#define EX_OSERR        71      /* system error (e.g., can't fork) */
+#define EX_OSFILE       72      /* critical OS file missing */
+#define EX_CANTCREAT    73      /* can't create (user) output file */
+#define EX_IOERR        74      /* input/output error */
+#define EX_TEMPFAIL     75      /* temp failure; user is invited to retry */
+#define EX_PROTOCOL     76      /* remote error in protocol */
+#define EX_NOPERM       77      /* permission denied */
+#define EX_CONFIG       78      /* configuration error */
+#define EX__MAX 78      /* maximum listed value */
+#endif /* HAVE_SYSEXITS_H */
+
+#ifndef __unused
+#ifdef __GNUC__
+#define __unused __attribute__((unused))
+#else  /* __GNUC__ */
+#define __unused
+#endif /* __GNUC__ */
+#endif /* __unused */
+
+#ifndef __dead2
+#ifdef __GNUC__
+#define __dead2 __attribute__((noreturn))
+#else  /* __GNUC__ */
+#define __dead2
+#endif /* __GNUC__ */
+#endif /* __dead2 */
+
+#define PARSE_CMDLINE
+
+unsigned long   warntime, warnmsec, killtime, killmsec;
+unsigned long   warnsig, killsig;
+volatile int    fdone, falarm, fsig, sigcaught;
+int             propagate, quiet;
+
+static struct {
+        const char      *name, opt, issig;
+        unsigned long   *sec, *msec;
+} envopts[] = {
+        {"KILLSIG",     'S',    1,      &killsig, NULL},
+        {"KILLTIME",    'T',    0,      &killtime, &killmsec},
+        {"WARNSIG",     's',    1,      &warnsig, NULL},
+        {"WARNTIME",    't',    0,      &warntime, &warnmsec},
+        {NULL,          0,      0,      NULL, NULL}
+};
+
+static struct {
+        const char      *name;
+        int              num;
+} signals[] = {
+        /* We kind of assume that the POSIX-mandated signals are present */
+        {"ABRT",        SIGABRT},
+        {"ALRM",        SIGALRM},
+        {"BUS",         SIGBUS},
+        {"CHLD",        SIGCHLD},
+        {"CONT",        SIGCONT},
+        {"FPE",         SIGFPE},
+        {"HUP",         SIGHUP},
+        {"ILL",         SIGILL},
+        {"INT",         SIGINT},
+        {"KILL",        SIGKILL},
+        {"PIPE",        SIGPIPE},
+        {"QUIT",        SIGQUIT},
+        {"SEGV",        SIGSEGV},
+        {"STOP",        SIGSTOP},
+        {"TERM",        SIGTERM},
+        {"TSTP",        SIGTSTP},
+        {"TTIN",        SIGTTIN},
+        {"TTOU",        SIGTTOU},
+        {"USR1",        SIGUSR1},
+        {"USR2",        SIGUSR2},
+        {"PROF",        SIGPROF},
+        {"SYS",         SIGSYS},
+        {"TRAP",        SIGTRAP},
+        {"URG",         SIGURG},
+        {"VTALRM",      SIGVTALRM},
+        {"XCPU",        SIGXCPU},
+        {"XFSZ",        SIGXFSZ},
+
+        /* Some more signals found on a Linux 2.6 system */
+#ifdef SIGIO
+        {"IO",          SIGIO},
+#endif
+#ifdef SIGIOT
+        {"IOT",         SIGIOT},
+#endif
+#ifdef SIGLOST
+        {"LOST",        SIGLOST},
+#endif
+#ifdef SIGPOLL
+        {"POLL",        SIGPOLL},
+#endif
+#ifdef SIGPWR
+        {"PWR",         SIGPWR},
+#endif
+#ifdef SIGSTKFLT
+        {"STKFLT",      SIGSTKFLT},
+#endif
+#ifdef SIGWINCH
+        {"WINCH",       SIGWINCH},
+#endif
+
+        /* Some more signals found on a FreeBSD 8.x system */
+#ifdef SIGEMT
+        {"EMT",         SIGEMT},
+#endif
+#ifdef SIGINFO
+        {"INFO",        SIGINFO},
+#endif
+#ifdef SIGLWP
+        {"LWP",         SIGLWP},
+#endif
+#ifdef SIGTHR
+        {"THR",         SIGTHR},
+#endif
+};
+#define SIGNALS (sizeof(signals) / sizeof(signals[0]))
+
+#ifndef HAVE_ERR
+static void     err(int, const char *, ...);
+static void     errx(int, const char *, ...);
+#endif /* !HAVE_ERR */
+
+static void     usage(void);
+
+static void     init(int, char *[]);
+static pid_t    doit(char *[]);
+static void     child(char *[]);
+static void     raisesignal(int) __dead2;
+static void     setsig_fatal(int, void (*)(int));
+static void     setsig_fatal_gen(int, void (*)(int), int, const char *);
+static void     terminated(const char *);
+
+#ifndef HAVE_ERR
+static void
+err(int code, const char *fmt, ...) {
+        va_list v;
+
+        va_start(v, fmt);
+        vfprintf(stderr, fmt, v);
+        va_end(v);
+
+        fprintf(stderr, ": %s\n", strerror(errno));
+        exit(code);
+}
+
+static void
+errx(int code, const char *fmt, ...) {
+        va_list v;
+
+        va_start(v, fmt);
+        vfprintf(stderr, fmt, v);
+        va_end(v);
+
+        fprintf(stderr, "\n");
+        exit(code);
+}
+
+static void
+warnx(const char *fmt, ...) {
+        va_list v;
+
+        va_start(v, fmt);
+        vfprintf(stderr, fmt, v);
+        va_end(v);
+
+        fprintf(stderr, "\n");
+}
+#endif /* !HAVE_ERR */
+
+static void
+usage(void) {
+        errx(EX_USAGE, "usage: timelimit [-pq] [-S ksig] [-s wsig] "
+            "[-T ktime] [-t wtime] command");
+}
+
+static void
+atou_fatal(const char *s, unsigned long *sec, unsigned long *msec, int issig) {
+        unsigned long v, vm, mul;
+        const char *p;
+        size_t i;
+
+        if (s[0] < '0' || s[0] > '9') {
+                if (s[0] == '\0' || !issig)
+                        usage();
+                for (i = 0; i < SIGNALS; i++)
+                        if (!strcmp(signals[i].name, s))
+                                break;
+                if (i == SIGNALS)
+                        usage();
+                *sec = (unsigned long)signals[i].num;
+                if (msec != NULL)
+                        *msec = 0;
+                return;
+        }
+
+        v = 0;
+        for (p = s; (*p >= '0') && (*p <= '9'); p++)
+                v = v * 10 + *p - '0';
+        if (*p == '\0') {
+                *sec = v;
+                if (msec != NULL)
+                        *msec = 0;
+                return;
+        } else if (*p != '.' || msec == NULL) {
+                usage();
+        }
+        p++;
+
+        vm = 0;
+        mul = 1000000;
+        for (; (*p >= '0') && (*p <= '9'); p++) {
+                vm = vm * 10 + *p - '0';
+                mul = mul / 10;
+        }
+        if (*p != '\0')
+                usage();
+        else if (mul < 1)
+                errx(EX_USAGE, "no more than microsecond precision");
+#ifndef HAVE_SETITIMER
+        if (msec != 0)
+                errx(EX_UNAVAILABLE,
+                    "subsecond precision not supported on this platform");
+#endif
+        *sec = v;
+        *msec = vm * mul;
+}
+
+static void
+init(int argc, char *argv[]) {
+#ifdef PARSE_CMDLINE
+        int ch, listsigs;
+#endif
+        int optset;
+        unsigned i;
+        char *s;
+        
+        /* defaults */
+        quiet = 0;
+        warnsig = SIGTERM;
+        killsig = SIGKILL;
+        warntime = 900;
+        warnmsec = 0;
+        killtime = 5;
+        killmsec = 0;
+
+        optset = 0;
+        
+        /* process environment variables first */
+        for (i = 0; envopts[i].name != NULL; i++)
+                if ((s = getenv(envopts[i].name)) != NULL) {
+                        atou_fatal(s, envopts[i].sec, envopts[i].msec,
+                            envopts[i].issig);
+                        optset = 1;
+                }
+
+#ifdef PARSE_CMDLINE
+        listsigs = 0;
+        while ((ch = getopt(argc, argv, "+lqpS:s:T:t:")) != -1) {
+                switch (ch) {
+                        case 'l':
+                                listsigs = 1;
+                                break;
+                        case 'p':
+                                propagate = 1;
+                                break;
+                        case 'q':
+                                quiet = 1;
+                                break;
+                        default:
+                                /* check if it's a recognized option */
+                                for (i = 0; envopts[i].name != NULL; i++)
+                                        if (ch == envopts[i].opt) {
+                                                atou_fatal(optarg,
+                                                    envopts[i].sec,
+                                                    envopts[i].msec,
+                                                    envopts[i].issig);
+                                                optset = 1;
+                                                break;
+                                        }
+                                if (envopts[i].name == NULL)
+                                        usage();
+                }
+        }
+
+        if (listsigs) {
+                for (i = 0; i < SIGNALS; i++)
+                        printf("%s%c", signals[i].name,
+                            i + 1 < SIGNALS? ' ': '\n');
+                exit(EX_OK);
+        }
+#else
+        optind = 1;
+#endif
+
+        if (!optset) /* && !quiet? */
+                warnx("using defaults: warntime=%lu, warnsig=%lu, "
+                    "killtime=%lu, killsig=%lu",
+                    warntime, warnsig, killtime, killsig);
+
+        argc -= optind;
+        argv += optind;
+        if (argc == 0)
+                usage();
+
+        /* sanity checks */
+        if ((warntime == 0 && warnmsec == 0) || (killtime == 0 && killmsec == 0))
+                usage();
+}
+
+static void
+sigchld(int sig __unused) {
+
+        fdone = 1;
+}
+
+static void
+sigalrm(int sig __unused) {
+
+        falarm = 1;
+}
+
+static void
+sighandler(int sig) {
+
+        sigcaught = sig;
+        fsig = 1;
+}
+
+static void
+setsig_fatal(int sig, void (*handler)(int)) {
+        
+        setsig_fatal_gen(sig, handler, 1, "setting");
+}
+
+static void
+setsig_fatal_gen(int sig, void (*handler)(int), int nocld, const char *what) {
+#ifdef HAVE_SIGACTION
+        struct sigaction act;
+
+        memset(&act, 0, sizeof(act));
+        act.sa_handler = handler;
+        act.sa_flags = 0;
+#ifdef SA_NOCLDSTOP
+        if (nocld)
+                act.sa_flags |= SA_NOCLDSTOP;
+#endif /* SA_NOCLDSTOP */
+        if (sigaction(sig, &act, NULL) < 0)
+                err(EX_OSERR, "%s signal handler for %d", what, sig);
+#else  /* HAVE_SIGACTION */
+        if (signal(sig, handler) == SIG_ERR)
+                err(EX_OSERR, "%s signal handler for %d", what, sig);
+#endif /* HAVE_SIGACTION */
+}
+
+static void
+settimer(const char *name, unsigned long sec, unsigned long msec)
+{
+#ifdef HAVE_SETITIMER
+        struct itimerval tval;
+
+        tval.it_interval.tv_sec = tval.it_interval.tv_usec = 0;
+        tval.it_value.tv_sec = sec;
+        tval.it_value.tv_usec = msec;
+        if (setitimer(ITIMER_REAL, &tval, NULL) == -1)
+                err(EX_OSERR, "could not set the %s timer", name);
+#else
+        alarm(sec);
+#endif
+}
+    
+static pid_t
+doit(char *argv[]) {
+        pid_t pid;
+
+        /* install signal handlers */
+        fdone = falarm = fsig = sigcaught = 0;
+        setsig_fatal(SIGALRM, sigalrm);
+        setsig_fatal(SIGCHLD, sigchld);
+        setsig_fatal(SIGTERM, sighandler);
+        setsig_fatal(SIGHUP, sighandler);
+        setsig_fatal(SIGINT, sighandler);
+        setsig_fatal(SIGQUIT, sighandler);
+
+        /* fork off the child process */
+        if ((pid = fork()) < 0)
+                err(EX_OSERR, "fork");
+        if (pid == 0)
+                child(argv);
+
+        /* sleep for the allowed time */
+        settimer("warning", warntime, warnmsec);
+        while (!(fdone || falarm || fsig))
+                pause();
+        alarm(0);
+
+        /* send the warning signal */
+        if (fdone)
+                return (pid);
+        if (fsig)
+                terminated("run");
+        falarm = 0;
+        if (!quiet)
+                warnx("sending warning signal %lu", warnsig);
+        kill(pid, (int) warnsig);
+
+#ifndef HAVE_SIGACTION
+        /* reset our signal handlers, just in case */
+        setsig_fatal(SIGALRM, sigalrm);
+        setsig_fatal(SIGCHLD, sigchld);
+        setsig_fatal(SIGTERM, sighandler);
+        setsig_fatal(SIGHUP, sighandler);
+        setsig_fatal(SIGINT, sighandler);
+        setsig_fatal(SIGQUIT, sighandler);
+#endif /* HAVE_SIGACTION */
+
+        /* sleep for the grace time */
+        settimer("kill", killtime, killmsec);
+        while (!(fdone || falarm || fsig))
+                pause();
+        alarm(0);
+
+        /* send the kill signal */
+        if (fdone)
+                return (pid);
+        if (fsig)
+                terminated("grace");
+        if (!quiet)
+                warnx("sending kill signal %lu", killsig);
+        kill(pid, (int) killsig);
+        setsig_fatal_gen(SIGCHLD, SIG_DFL, 0, "restoring");
+        return (pid);
+}
+
+static void
+terminated(const char *period) {
+
+        errx(EX_SOFTWARE, "terminated by signal %d during the %s period",
+            sigcaught, period);
+}
+
+static void
+child(char *argv[]) {
+
+        execvp(argv[0], argv);
+        err(EX_OSERR, "executing %s", argv[0]);
+}
+
+static __dead2 void
+raisesignal (int sig) {
+
+        setsig_fatal_gen(sig, SIG_DFL, 0, "restoring");
+        raise(sig);
+        while (1)
+                pause();
+        /* NOTREACHED */
+}
+
+int
+main(int argc, char *argv[]) {
+        pid_t pid;
+        int status;
+
+        init(argc, argv);
+        argc -= optind;
+        argv += optind;
+        pid = doit(argv);
+
+        if (waitpid(pid, &status, 0) == -1)
+                err(EX_OSERR, "could not get the exit status for process %ld",
+                    (long)pid);
+        if (WIFEXITED(status))
+                return (WEXITSTATUS(status));
+        else if (!WIFSIGNALED(status))
+                return (EX_OSERR);
+        if (propagate)
+                raisesignal(WTERMSIG(status));
+        else
+                return (WTERMSIG(status) + 128);
+}
diff --git a/src/version.h b/src/version.h
index 01649d8..6f1d7e0 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,16 +1,16 @@
 
 #undef  VERSION
-#define VERSION "5.2.12"
-#define BDATE   "12 September 2012"
-#define LSMDATE "12Sep12"
+#define VERSION "5.2.13"
+#define BDATE   "19 February 2013"
+#define LSMDATE "19Jan13"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2012 Free Software Foundation Europe e.V.\n"
-#define BYEAR "2012"       /* year for copyright messages in progs */
+#define BYEAR "2013"       /* year for copyright messages in progs */
 
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2013 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.
diff --git a/updatedb/update_postgresql_tables_10_to_11.in b/updatedb/update_postgresql_tables_10_to_11.in
index f5df19f..1be8033 100644
--- a/updatedb/update_postgresql_tables_10_to_11.in
+++ b/updatedb/update_postgresql_tables_10_to_11.in
@@ -10,7 +10,7 @@ bindir=@POSTGRESQL_BINDIR@
 PATH="$bindir:$PATH"
 db_name=${db_name:- at db_name@}
 
-psql -f - -d ${db_name} $* <<END-OF-DATA
+if psql -f - -d ${db_name} $* <<END-OF-DATA
 -- The alter table operation can be faster with a big maintenance_work_mem
 -- Uncomment and adapt this value to your environment
 -- SET maintenance_work_mem = '1GB';

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-bacula/bacula.git



More information about the pkg-bacula-commits mailing list