/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ 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.
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.
*/
const char *working_directory = NULL; /* working directory path stored here */
int verbose = 0; /* increase User messages */
-int debug_level = 1; /* debug level */
+int debug_level = 0; /* debug level */
+bool dbg_timestamp = false; /* print timestamp in debug output */
time_t daemon_start_time = 0; /* Daemon start time */
const char *version = VERSION " (" BDATE ")";
char my_name[30]; /* daemon name is stored here */
+char host_name[50]; /* host machine name */
char *exepath = (char *)NULL;
char *exename = (char *)NULL;
int console_msg_pending = false;
char cpath[1024];
int len;
+ if (gethostname(host_name, sizeof(host_name)) != 0) {
+ bstrncpy(host_name, "Hostname unknown", sizeof(host_name));
+ }
bstrncpy(my_name, name, sizeof(my_name));
if (argc>0 && argv && argv[0]) {
/* strip trailing filename and save exepath */
}
fflush(stdout);
- if (!(bpipe = open_bpipe(cmd, 120, "rw"))) {
+ if ((bpipe = open_bpipe(cmd, 120, "rw"))) {
+ /* If we had to use sendmail, add subject */
+ if (!d->mail_cmd) {
+ fprintf(bpipe->wfd, "Subject: %s\r\n\r\n", _("Bacula Message"));
+ }
+ } else {
berrno be;
Jmsg(jcr, M_ERROR, 0, _("open mail pipe %s failed: ERR=%s\n"),
cmd, be.bstrerror());
}
-
- /* If we had to use sendmail, add subject */
- if (!d->mail_cmd) {
- fprintf(bpipe->wfd, "Subject: %s\r\n\r\n", _("Bacula Message"));
- }
-
return bpipe;
}
int len;
va_list arg_ptr;
bool details = true;
+ time_t mtime;
if (level < 0) {
details = false;
}
if (level <= debug_level) {
+ if (dbg_timestamp) {
+ mtime = time(NULL);
+ bstrftimes(buf, sizeof(buf), mtime);
+ len = strlen(buf);
+ buf[len++] = ' ';
+ buf[len] = 0;
+ fputs(buf, stdout);
+ }
+
#ifdef FULL_LOCATION
if (details) {
len = bsnprintf(buf, sizeof(buf), "%s: %s:%d-%u ",
jcr = get_jcr_from_tsd();
}
/* If no jcr or dequeuing send to daemon to avoid recursion */
- if (!jcr || jcr->dequeuing) {
+ if ((jcr && !jcr->msg_queue) || !jcr || jcr->dequeuing) {
/* jcr==NULL => daemon message, safe to send now */
Jmsg(jcr, item->type, item->mtime, "%s", item->msg);
free(item);