]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/console/console_conf.h
Merge branch 'master' into basejobv3
[bacula/bacula] / bacula / src / console / console_conf.h
index e01c21bf78916fd4281f20ecf729954e5ac62760..a92a0a843be3a0ec965c7bcb5ed31e403b0b3498 100644 (file)
@@ -1,3 +1,30 @@
+/*
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2008 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 two of the GNU 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 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@fsfeurope.org.
+*/
 /*
  * Bacula User Agent specific configuration and defines
  *
  */
 
 /*
- * Resource codes -- they must be sequential for indexing   
+ * Resource codes -- they must be sequential for indexing
  */
-#define R_FIRST                       1001
-
-#define R_CONSOLE                     1001
-#define R_DIRECTOR                    1002
 
-#define R_LAST                        R_DIRECTOR
+enum {
+   R_CONSOLE   = 1001,
+   R_DIRECTOR,
+   R_FIRST     = R_CONSOLE,
+   R_LAST      = R_DIRECTOR           /* Keep this updated */
+};
 
 /*
  * Some resource attributes
  */
-#define R_NAME                        1020
-#define R_ADDRESS                     1021
-#define R_PASSWORD                    1022
-#define R_TYPE                        1023
-#define R_BACKUP                      1024
+enum {
+   R_NAME     = 1020,
+   R_ADDRESS,
+   R_PASSWORD,
+   R_TYPE,
+   R_BACKUP
+};
 
 
 /* Definition of the contents of each Resource */
 
 /* Console "globals" */
-struct s_res_con {
+struct CONRES {
    RES   hdr;
    char *rc_file;                     /* startup file */
    char *hist_file;                   /* command history file */
-   int require_ssl;                   /* Require SSL on all connections */
+   char *password;                    /* UA server password */
+   bool tls_authenticate;             /* Authenticate with TLS */
+   bool tls_enable;                   /* Enable TLS on all connections */
+   bool tls_require;                  /* Require TLS on all connections */
+   char *tls_ca_certfile;             /* TLS CA Certificate File */
+   char *tls_ca_certdir;              /* TLS CA Certificate Directory */
+   char *tls_certfile;                /* TLS Client Certificate File */
+   char *tls_keyfile;                 /* TLS Client Key File */
+   char *director;                    /* bind to director */
+   utime_t heartbeat_interval;        /* Interval to send heartbeats to Dir */
+
+   TLS_CONTEXT *tls_ctx;              /* Shared TLS Context */
 };
-typedef struct s_res_con CONRES;
 
 /* Director */
-struct s_res_dir {
+struct DIRRES {
    RES   hdr;
-   int   DIRport;                     /* UA server port */
+   uint32_t DIRport;                  /* UA server port */
    char *address;                     /* UA server address */
    char *password;                    /* UA server password */
-   int  enable_ssl;                   /* Use SSL */
+   bool tls_authenticate;             /* Authenticate with TLS */
+   bool tls_enable;                   /* Enable TLS */
+   bool tls_require;                  /* Require TLS */
+   char *tls_ca_certfile;             /* TLS CA Certificate File */
+   char *tls_ca_certdir;              /* TLS CA Certificate Directory */
+   char *tls_certfile;                /* TLS Client Certificate File */
+   char *tls_keyfile;                 /* TLS Client Key File */
+   utime_t heartbeat_interval;        /* Interval to send heartbeats to Dir */
+
+   TLS_CONTEXT *tls_ctx;              /* Shared TLS Context */
 };
-typedef struct s_res_dir DIRRES;
 
 
 /* Define the Union of all the above
  * resource structure definitions.
  */
-union u_res {
-   struct s_res_dir     res_dir;
-   struct s_res_con     res_cons;
+union URES {
+   DIRRES res_dir;
+   CONRES res_cons;
    RES hdr;
 };
-
-typedef union u_res URES;