" -s output in show text format\n"
" -v verbose user messages\n"
" -? print this message.\n"
-"\n"), 2012, "", VERSION, BDATE);
+"\n"), 2012, BDEMO, VERSION, BDATE);
exit(1);
}
sendit(NULL, ",\n {\n");
}
if (script->when == SCRIPT_Any) {
- sendit(NULL, " \"RunsWhen\": \"Any\",\n");
+ sendit(NULL, " \"RunsWhen\": \"Always\",\n");
} else if (script->when == SCRIPT_After) {
sendit(NULL, " \"RunsWhen\": \"After\",\n");
sendit(NULL, " \"%s\": \"%s\"", RunFields[i].name,
joblevels[j].level_name);
first = false;
- break;
}
}
//}
*/
static void dump_json(display_filter *filter)
{
- int resinx, item, first_directive, name_pos=0;
+ int resinx, item, first_directive, name_pos=0, sz;
bool first_res;
RES_ITEM *items;
RES *res;
continue;
}
+ sz = get_resource_size(resinx + r_first);
+ if (sz < 0) {
+ Dmsg1(0, "Unknown resource type %d\n", resinx);
+ continue;
+ }
+
/* Copy the resource into res_all */
- memcpy(&res_all, res, sizeof(res_all));
+ memcpy(&res_all, res, sz);
/* If needed, skip this resource type */
if (filter->resource_name) {
/* tls_require implies tls_enable */
if (director->tls_require) {
if (have_tls) {
- director->tls_enable = true;
+ if (director->tls_certfile || director->tls_keyfile) {
+ director->tls_enable = true;
+ }
} else {
Jmsg(NULL, M_FATAL, 0, _("TLS required but not configured in Bacula.\n"));
OK = false;
/* tls_require implies tls_enable */
if (cons->tls_require) {
if (have_tls) {
- cons->tls_enable = true;
+ if (cons->tls_certfile || cons->tls_keyfile) {
+ cons->tls_enable = true;
+ }
} else {
Jmsg(NULL, M_FATAL, 0, _("TLS required but not configured in Bacula.\n"));
OK = false;
OK = false;
}
/* If everything is well, attempt to initialize our per-resource TLS context */
- if (OK && (need_tls || cons->tls_require)) {
+ if (OK && need_tls) {
/* Initialize TLS context:
* Args: CA certfile, CA certdir, Certfile, Keyfile,
* Keyfile PEM Callback, Keyfile CB Userdata, DHfile, Verify Peer */
OK = false;
}
}
-
}
/* Loop over Clients */
CLIENT *client;
foreach_res(client, R_CLIENT) {
+ if (!client->client_address && !client->allow_fd_connections) {
+ Jmsg(NULL, M_FATAL, 0, _("Config error: Address directive is required in Client resource \"%s\", but not found.\n"), client->hdr.name);
+ OK = false;
+ continue;
+ }
/* tls_require implies tls_enable */
if (client->tls_require) {
if (have_tls) {
- client->tls_enable = true;
+ if (client->tls_ca_certfile || client->tls_ca_certdir) {
+ client->tls_enable = true;
+ }
} else {
Jmsg(NULL, M_FATAL, 0, _("TLS required but not configured in Bacula.\n"));
OK = false;
def_avalue = (alist **)((char *)(job->jobdefs) + offset);
avalue = (alist **)((char *)job + offset);
-
+
*avalue = New(alist(10, owned_by_alist));
foreach_alist(elt, (*def_avalue)) {
(*avalue)->append(bstrdup(elt));
}
set_bit(i, job->hdr.item_present);
-
+
} else if (job_items[i].handler == store_alist_res) {
void *elt;
def_avalue = (alist **)((char *)(job->jobdefs) + offset);
avalue = (alist **)((char *)job + offset);
-
+
*avalue = New(alist(10, not_owned_by_alist));
foreach_alist(elt, (*def_avalue)) {
*bvalue = *def_bvalue;
set_bit(i, job->hdr.item_present);
+ } else if (job_items[i].handler == store_runscript) {
+ /* nothing special to do, already handled */
+
} else {
Dmsg1(10, "Handler missing for job_items[%d]\n", i);
ASSERTD(0, "JobDefs -> Job handler missing\n");