]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/ua_server.c
Kludge joblist to include all jobs
[bacula/bacula] / bacula / src / dird / ua_server.c
index 14ff46d9e88338c6de42354280fcd1affeb96593..bc9c54e9efba4c9c318a39176e5406e7b6e5d577 100644 (file)
@@ -69,7 +69,7 @@ void start_UA_server(dlist *addrs)
 
    if ((status=pthread_create(&thid, NULL, connect_thread, (void *)myaddrs)) != 0) {
       berrno be;
-      Emsg1(M_ABORT, 0, _("Cannot create UA thread: %s\n"), be.strerror(status));
+      Emsg1(M_ABORT, 0, _("Cannot create UA thread: %s\n"), be.bstrerror(status));
    }
    started = TRUE;
    return;
@@ -125,7 +125,7 @@ static void *handle_UA_client_request(void *arg)
 
    pthread_detach(pthread_self());
 
-   jcr = new_control_jcr("*Console*", JT_CONSOLE);
+   jcr = new_control_jcr("-Console-", JT_CONSOLE);
 
    ua = new_ua_context(jcr);
    ua->UA_sock = user;
@@ -136,6 +136,7 @@ static void *handle_UA_client_request(void *arg)
    }
 
    while (!ua->quit) {
+      if (ua->api) user->signal(BNET_PROMPT);
       stat = user->recv();
       if (stat >= 0) {
          pm_strcpy(ua->cmd, ua->UA_sock->msg);
@@ -146,13 +147,17 @@ static void *handle_UA_client_request(void *arg)
             do_a_command(ua, ua->cmd);
          }
          if (!ua->quit) {
-            if (acl_access_ok(ua, Command_ACL, "messages", 8)) {
+            if (console_msg_pending && acl_access_ok(ua, Command_ACL, "messages", 8)) {
                if (ua->auto_display_messages) {
                   pm_strcpy(ua->cmd, "messages");
                   qmessagescmd(ua, ua->cmd);
                   ua->user_notified_msg_pending = false;
                } else if (!ua->gui && !ua->user_notified_msg_pending && console_msg_pending) {
-                  bsendmsg(ua, _("You have messages.\n"));
+                  if (ua->api) {
+                     user->signal(BNET_MSGS_PENDING);
+                  } else {
+                     bsendmsg(ua, _("You have messages.\n"));
+                  }
                   ua->user_notified_msg_pending = true;
                }
             }