X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fdird%2Fua_server.c;h=bc9c54e9efba4c9c318a39176e5406e7b6e5d577;hb=db05f326a4e98069ab685b3447a3e87037d1b7d8;hp=14ff46d9e88338c6de42354280fcd1affeb96593;hpb=5d35464c3acf3473bdfc2b75a20ba6d1c2f05be3;p=bacula%2Fbacula diff --git a/bacula/src/dird/ua_server.c b/bacula/src/dird/ua_server.c index 14ff46d9e8..bc9c54e9ef 100644 --- a/bacula/src/dird/ua_server.c +++ b/bacula/src/dird/ua_server.c @@ -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; } }