]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/bscan.c
XACL - refactoring an ACL and XATTR codes.
[bacula/bacula] / bacula / src / stored / bscan.c
index 3702b88d2dac8fccef1a14fe56e66adeb82fdcd8..e9c6678107c5bd0d37eaddaa1130c5a96900c1f1 100644 (file)
@@ -1,8 +1,7 @@
 /*
    Bacula(R) - The Network Backup Solution
 
-   Copyright (C) 2000-2015 Kern Sibbald
-   Copyright (C) 2001-2014 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2016 Kern Sibbald
 
    The original author of Bacula is Kern Sibbald, with contributions
    from many others, a complete list can be found in the file AUTHORS.
@@ -76,6 +75,11 @@ static const char *db_name = "bacula";
 static const char *db_user = "bacula";
 static const char *db_password = "";
 static const char *db_host = NULL;
+static const char *db_ssl_key = NULL;
+static const char *db_ssl_cert = NULL;
+static const char *db_ssl_ca = NULL;
+static const char *db_ssl_capath = NULL;
+static const char *db_ssl_cipher = NULL;
 static int db_port = 0;
 static const char *wd = NULL;
 static bool update_db = false;
@@ -117,6 +121,9 @@ PROG_COPYRIGHT
 "       -u <user>         specify database user name (default bacula)\n"
 "       -P <password>     specify database password (default none)\n"
 "       -h <host>         specify database host (default NULL)\n"
+"       -k <sslkey>       path name to the key file (default NULL)\n"
+"       -e <sslcert>      path name to the certificate file (default NULL)\n"
+"       -a <sslca>        path name to the CA certificate file (default NULL)\n"
 "       -t <port>         specify database port (default 0)\n"
 "       -p                proceed inspite of I/O errors\n"
 "       -r                list records\n"
@@ -147,7 +154,7 @@ int main (int argc, char *argv[])
 
    OSDependentInit();
 
-   while ((ch = getopt(argc, argv, "b:c:d:D:h:p:mn:pP:rsSt:u:vV:w:?")) != -1) {
+   while ((ch = getopt(argc, argv, "b:c:d:D:h:k:e:a:p:mn:pP:rsSt:u:vV:w:?")) != -1) {
       switch (ch) {
       case 'S' :
          showProgress = true;
@@ -182,6 +189,18 @@ int main (int argc, char *argv[])
          db_host = optarg;
          break;
 
+      case 'k':
+         db_ssl_key = optarg;
+         break;
+
+      case 'e':
+         db_ssl_cert = optarg;
+         break;
+
+      case 'a':
+         db_ssl_ca = optarg;
+         break;
+
       case 't':
          db_port = atoi(optarg);
          break;
@@ -284,7 +303,10 @@ int main (int argc, char *argv[])
    }
 
    db = db_init_database(NULL, db_driver, db_name, db_user, db_password,
-                            db_host, db_port, NULL, false, false);
+                         db_host, db_port, NULL, 
+                         db_ssl_key, db_ssl_cert, db_ssl_ca,
+                         db_ssl_capath, db_ssl_cipher,
+                         false, false);
    if (!db || !db_open_database(NULL, db)) {
       Pmsg2(000, _("Could not open Catalog \"%s\", database \"%s\".\n"),
            db_driver, db_name);
@@ -813,40 +835,40 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec)
    case  STREAM_UNIX_ACCESS_ACL:          /* Deprecated Standard ACL attributes on UNIX */
    case  STREAM_UNIX_DEFAULT_ACL:         /* Deprecated Default ACL attributes on UNIX */
    case  STREAM_HFSPLUS_ATTRIBUTES:
-   case  STREAM_ACL_AIX_TEXT:
-   case  STREAM_ACL_DARWIN_ACCESS:
-   case  STREAM_ACL_FREEBSD_DEFAULT:
-   case  STREAM_ACL_FREEBSD_ACCESS:
-   case  STREAM_ACL_HPUX_ACL_ENTRY:
-   case  STREAM_ACL_IRIX_DEFAULT:
-   case  STREAM_ACL_IRIX_ACCESS:
-   case  STREAM_ACL_LINUX_DEFAULT:
-   case  STREAM_ACL_LINUX_ACCESS:
-   case  STREAM_ACL_TRU64_DEFAULT:
-   case  STREAM_ACL_TRU64_DEFAULT_DIR:
-   case  STREAM_ACL_TRU64_ACCESS:
-   case  STREAM_ACL_SOLARIS_POSIX:
-   case  STREAM_ACL_SOLARIS_NFS4:
-   case  STREAM_ACL_AFS_TEXT:
-   case  STREAM_ACL_AIX_AIXC:
-   case  STREAM_ACL_AIX_NFS4:
-   case  STREAM_ACL_FREEBSD_NFS4:
-   case  STREAM_ACL_HURD_DEFAULT:
-   case  STREAM_ACL_HURD_ACCESS:
+   case  STREAM_XACL_AIX_TEXT:
+   case  STREAM_XACL_DARWIN_ACCESS:
+   case  STREAM_XACL_FREEBSD_DEFAULT:
+   case  STREAM_XACL_FREEBSD_ACCESS:
+   case  STREAM_XACL_HPUX_ACL_ENTRY:
+   case  STREAM_XACL_IRIX_DEFAULT:
+   case  STREAM_XACL_IRIX_ACCESS:
+   case  STREAM_XACL_LINUX_DEFAULT:
+   case  STREAM_XACL_LINUX_ACCESS:
+   case  STREAM_XACL_TRU64_DEFAULT:
+   case  STREAM_XACL_TRU64_DEFAULT_DIR:
+   case  STREAM_XACL_TRU64_ACCESS:
+   case  STREAM_XACL_SOLARIS_POSIX:
+   case  STREAM_XACL_SOLARIS_NFS4:
+   case  STREAM_XACL_AFS_TEXT:
+   case  STREAM_XACL_AIX_AIXC:
+   case  STREAM_XACL_AIX_NFS4:
+   case  STREAM_XACL_FREEBSD_NFS4:
+   case  STREAM_XACL_HURD_DEFAULT:
+   case  STREAM_XACL_HURD_ACCESS:
       /* 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:
-   case  STREAM_XATTR_SOLARIS_SYS:
-   case  STREAM_XATTR_SOLARIS:
-   case  STREAM_XATTR_DARWIN:
-   case  STREAM_XATTR_FREEBSD:
-   case  STREAM_XATTR_LINUX:
-   case  STREAM_XATTR_NETBSD:
+   case  STREAM_XACL_HURD_XATTR:
+   case  STREAM_XACL_IRIX_XATTR:
+   case  STREAM_XACL_TRU64_XATTR:
+   case  STREAM_XACL_AIX_XATTR:
+   case  STREAM_XACL_OPENBSD_XATTR:
+   case  STREAM_XACL_SOLARIS_SYS_XATTR:
+   case  STREAM_XACL_SOLARIS_XATTR:
+   case  STREAM_XACL_DARWIN_XATTR:
+   case  STREAM_XACL_FREEBSD_XATTR:
+   case  STREAM_XACL_LINUX_XATTR:
+   case  STREAM_XACL_NETBSD_XATTR:
       /* Ignore Unix Extended attributes */
       break;