Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Bacula® is a registered trademark of John Walker.
+ 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.
{"RunBeforeJob", runbefore_cmd, 0},
{"RunAfterJob", runafter_cmd, 0},
{"Run", runscript_cmd, 0},
- {"accurate", accurate_cmd, 0},
+ {"accurate", accurate_cmd, 0},
{NULL, NULL} /* list terminator */
};
for (quit=false; !quit;) {
/* Read command */
- if (bnet_recv(dir) < 0) {
+ if (dir->recv() < 0) {
break; /* connection terminated */
}
dir->msg[dir->msglen] = 0;
if (strncmp(cmds[i].cmd, dir->msg, strlen(cmds[i].cmd)) == 0) {
found = true; /* indicate command found */
if (!jcr->authenticated && cmds[i].func != hello_cmd) {
- bnet_fsend(dir, no_auth);
- bnet_sig(dir, BNET_EOD);
+ dir->fsend(no_auth);
+ dir->signal(BNET_EOD);
break;
}
if ((jcr->authenticated) && (!cmds[i].monitoraccess) && (jcr->director->monitor)) {
Dmsg1(100, "Command \"%s\" is invalid.\n", cmds[i].cmd);
- bnet_fsend(dir, invalid_cmd);
- bnet_sig(dir, BNET_EOD);
+ dir->fsend(invalid_cmd);
+ dir->signal(BNET_EOD);
break;
}
Dmsg1(100, "Executing %s command.\n", cmds[i].cmd);
}
}
if (!found) { /* command not found */
- bnet_fsend(dir, errmsg);
+ dir->fsend(errmsg);
quit = true;
break;
}
/* Inform Storage daemon that we are done */
if (jcr->store_bsock) {
- bnet_sig(jcr->store_bsock, BNET_TERMINATE);
+ jcr->store_bsock->signal(BNET_TERMINATE);
}
/* Run the after job */
if (jcr->JobId) { /* send EndJob if running a job */
char ed1[50], ed2[50];
/* Send termination status back to Dir */
- bnet_fsend(dir, EndJob, jcr->JobStatus, jcr->JobFiles,
+ dir->fsend(EndJob, jcr->JobStatus, jcr->JobFiles,
edit_uint64(jcr->ReadBytes, ed1),
edit_uint64(jcr->JobBytes, ed2), jcr->Errors, jcr->VSS,
jcr->crypto.pki_encrypt);
*/
if (subcode != ' ') {
state = state_error;
- Dmsg0(100, "Set state=error\n");
+ Dmsg0(100, "Set state=error or double code.\n");
}
switch (code) {
case 'I':
int mtime_only;
level = get_memory(dir->msglen+1);
- Dmsg1(110, "level_cmd: %s", dir->msg);
+ Dmsg1(100, "level_cmd: %s", dir->msg);
if (strstr(dir->msg, "accurate")) {
jcr->accurate = true;
}
}
/* Base backup requested? */
if (strcmp(level, "base") == 0) {
- jcr->JobLevel = L_BASE;
+ jcr->set_JobLevel(L_BASE);
/* Full backup requested? */
} else if (strcmp(level, "full") == 0) {
- jcr->JobLevel = L_FULL;
+ jcr->set_JobLevel(L_FULL);
} else if (strstr(level, "differential")) {
- jcr->JobLevel = L_DIFFERENTIAL;
+ jcr->set_JobLevel(L_DIFFERENTIAL);
free_memory(level);
return 1;
} else if (strstr(level, "incremental")) {
- jcr->JobLevel = L_INCREMENTAL;
+ jcr->set_JobLevel(L_INCREMENTAL);
free_memory(level);
return 1;
/*
buf = get_memory(dir->msglen+1);
utime_t since_time, adj;
btime_t his_time, bt_start, rt=0, bt_adj=0;
- if (jcr->JobLevel == L_NONE) {
- jcr->JobLevel = L_SINCE; /* if no other job level set, do it now */
+ if (jcr->get_JobLevel() == L_NONE) {
+ jcr->set_JobLevel(L_SINCE); /* if no other job level set, do it now */
}
if (sscanf(dir->msg, "level = since_utime %s mtime_only=%d",
buf, &mtime_only) != 2) {
if (buf) {
free_memory(buf);
}
- generate_plugin_event(jcr, bEventLevel, (void *)jcr->JobLevel);
+ generate_plugin_event(jcr, bEventLevel, (void *)jcr->get_JobLevel());
return dir->fsend(OKlevel);
bail_out:
return 0;
}
- return bnet_fsend(dir, OKsession);
+ return dir->fsend(OKsession);
}
/*
#endif
set_jcr_job_status(jcr, JS_Blocked);
- jcr->JobType = JT_BACKUP;
+ jcr->set_JobType(JT_BACKUP);
Dmsg1(100, "begin backup ff=%p\n", jcr->ff);
if (sd == NULL) {
BSOCK *sd = jcr->store_bsock;
char level[100];
- jcr->JobType = JT_VERIFY;
+ jcr->set_JobType(JT_VERIFY);
if (sscanf(dir->msg, verifycmd, level) != 1) {
dir->fsend(_("2994 Bad verify command: %s\n"), dir->msg);
return 0;
}
if (strcasecmp(level, "init") == 0) {
- jcr->JobLevel = L_VERIFY_INIT;
+ jcr->set_JobLevel(L_VERIFY_INIT);
} else if (strcasecmp(level, "catalog") == 0){
- jcr->JobLevel = L_VERIFY_CATALOG;
+ jcr->set_JobLevel(L_VERIFY_CATALOG);
} else if (strcasecmp(level, "volume") == 0){
- jcr->JobLevel = L_VERIFY_VOLUME_TO_CATALOG;
+ jcr->set_JobLevel(L_VERIFY_VOLUME_TO_CATALOG);
} else if (strcasecmp(level, "data") == 0){
- jcr->JobLevel = L_VERIFY_DATA;
+ jcr->set_JobLevel(L_VERIFY_DATA);
} else if (strcasecmp(level, "disk_to_catalog") == 0) {
- jcr->JobLevel = L_VERIFY_DISK_TO_CATALOG;
+ jcr->set_JobLevel(L_VERIFY_DISK_TO_CATALOG);
} else {
dir->fsend(_("2994 Bad verify level: %s\n"), dir->msg);
return 0;
dir->fsend(OKverify);
generate_daemon_event(jcr, "JobStart");
- generate_plugin_event(jcr, bEventLevel, (void *)jcr->JobLevel);
+ generate_plugin_event(jcr, bEventLevel, (void *)jcr->get_JobLevel());
generate_plugin_event(jcr, bEventStartVerifyJob);
Dmsg1(110, "bfiled>dird: %s", dir->msg);
- switch (jcr->JobLevel) {
+ switch (jcr->get_JobLevel()) {
case L_VERIFY_INIT:
case L_VERIFY_CATALOG:
do_verify(jcr);
dir->fsend(OKrestore);
Dmsg1(110, "bfiled>dird: %s", dir->msg);
- jcr->JobType = JT_RESTORE;
+ jcr->set_JobType(JT_RESTORE);
set_jcr_job_status(jcr, JS_Blocked);
/*
* Open Read Session with Storage daemon
*/
- bnet_fsend(sd, read_open, "DummyVolume",
+ sd->fsend(read_open, "DummyVolume",
jcr->VolSessionId, jcr->VolSessionTime, jcr->StartFile, jcr->EndFile,
jcr->StartBlock, jcr->EndBlock);
Dmsg1(110, ">stored: %s", sd->msg);
/*
* Start read of data with Storage daemon
*/
- bnet_fsend(sd, read_data, jcr->Ticket);
+ sd->fsend(read_data, jcr->Ticket);
Dmsg1(110, ">stored: %s", sd->msg);
/*
static void filed_free_jcr(JCR *jcr)
{
if (jcr->store_bsock) {
- bnet_close(jcr->store_bsock);
+ jcr->store_bsock->close();
}
free_bootstrap(jcr);
if (jcr->last_fname) {
goto bail_out;
}
sd->msglen = pm_strcpy(sd->msg, bootstrap);
- bnet_send(sd);
+ sd->send();
while (fgets(buf, sizeof(buf), bs)) {
sd->msglen = Mmsg(sd->msg, "%s", buf);
- bnet_send(sd);
+ sd->send();
}
- bnet_sig(sd, BNET_EOD);
+ sd->signal(BNET_EOD);
fclose(bs);
if (!response(jcr, sd, OKSDbootstrap, "Bootstrap")) {
set_jcr_job_status(jcr, JS_ErrorTerminated);