]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/filed/filed_conf.h
This commit was manufactured by cvs2svn to create tag
[bacula/bacula] / bacula / src / filed / filed_conf.h
1 /*
2  * Bacula File Daemon specific configuration
3  *
4  *     Kern Sibbald, Sep MM
5  *
6  *   Version $Id$
7  */
8 /*
9    Copyright (C) 2000-2005 Kern Sibbald
10
11    This program is free software; you can redistribute it and/or
12    modify it under the terms of the GNU General Public License
13    version 2 as amended with additional clauses defined in the
14    file LICENSE in the main source directory.
15
16    This program is distributed in the hope that it will be useful,
17    but WITHOUT ANY WARRANTY; without even the implied warranty of
18    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
19    the file LICENSE for additional details.
20
21  */
22
23 /*
24  * Resource codes -- they must be sequential for indexing
25  */
26 #define R_FIRST                       1001
27
28 #define R_DIRECTOR                    1001
29 #define R_CLIENT                      1002
30 #define R_MSGS                        1003
31
32 #define R_LAST                        R_MSGS
33
34 /*
35  * Some resource attributes
36  */
37 #define R_NAME                        1020
38 #define R_ADDRESS                     1021
39 #define R_PASSWORD                    1022
40 #define R_TYPE                        1023
41
42
43 /* Definition of the contents of each Resource */
44 struct DIRRES {
45    RES   hdr;
46    char *password;                    /* Director password */
47    char *address;                     /* Director address or zero */
48    int monitor;                       /* Have only access to status and .status functions */
49    int tls_enable;                    /* Enable TLS */
50    int tls_require;                   /* Require TLS */
51    int tls_verify_peer;              /* TLS Verify Client Certificate */
52    char *tls_ca_certfile;             /* TLS CA Certificate File */
53    char *tls_ca_certdir;              /* TLS CA Certificate Directory */
54    char *tls_certfile;                /* TLS Server Certificate File */
55    char *tls_keyfile;                 /* TLS Server Key File */
56    char *tls_dhfile;                  /* TLS Diffie-Hellman Parameters */
57    alist *tls_allowed_cns;            /* TLS Allowed Clients */
58
59    TLS_CONTEXT *tls_ctx;              /* Shared TLS Context */
60 };
61
62 struct CLIENT {
63    RES   hdr;
64    dlist *FDaddrs;
65    char *working_directory;
66    char *pid_directory;
67    char *subsys_directory;
68    char *scripts_directory;
69    MSGS *messages;                    /* daemon message handler */
70    int MaxConcurrentJobs;
71    utime_t heartbeat_interval;        /* Interval to send heartbeats to Dir */
72    utime_t SDConnectTimeout;          /* timeout in seconds */
73    uint32_t max_network_buffer_size;  /* max network buf size */
74    int tls_enable;                    /* Enable TLS */
75    int tls_require;                   /* Require TLS */
76    char *tls_ca_certfile;             /* TLS CA Certificate File */
77    char *tls_ca_certdir;              /* TLS CA Certificate Directory */
78    char *tls_certfile;                /* TLS Client Certificate File */
79    char *tls_keyfile;                 /* TLS Client Key File */
80
81    TLS_CONTEXT *tls_ctx;              /* Shared TLS Context */
82 };
83
84
85
86 /* Define the Union of all the above
87  * resource structure definitions.
88  */
89 union URES {
90    DIRRES res_dir;
91    CLIENT res_client;
92    MSGS   res_msgs;
93    RES    hdr;
94 };