From: Lennart Poettering Date: Wed, 6 Aug 2014 14:32:17 +0000 (+0200) Subject: resolved: properly pass aborted transaction result back to clients X-Git-Tag: v216~222 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=818f766b12e025683cf4fed12b3da2a025bb0b31 resolved: properly pass aborted transaction result back to clients --- diff --git a/src/resolve/resolved-bus.c b/src/resolve/resolved-bus.c index e158fdc22..89a9300df 100644 --- a/src/resolve/resolved-bus.c +++ b/src/resolve/resolved-bus.c @@ -51,11 +51,14 @@ static int reply_query_state(DnsQuery *q) { case DNS_TRANSACTION_ATTEMPTS_MAX_REACHED: return sd_bus_reply_method_errorf(q->request, SD_BUS_ERROR_TIMEOUT, "All attempts to contact name servers or networks failed"); + case DNS_TRANSACTION_INVALID_REPLY: + return sd_bus_reply_method_errorf(q->request, BUS_ERROR_INVALID_REPLY, "Received invalid reply"); + case DNS_TRANSACTION_RESOURCES: return sd_bus_reply_method_errorf(q->request, BUS_ERROR_NO_RESOURCES, "Not enough resources"); - case DNS_TRANSACTION_INVALID_REPLY: - return sd_bus_reply_method_errorf(q->request, BUS_ERROR_INVALID_REPLY, "Received invalid reply"); + case DNS_TRANSACTION_ABORTED: + return sd_bus_reply_method_errorf(q->request, BUS_ERROR_ABORTED, "Query aborted"); case DNS_TRANSACTION_FAILURE: { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; diff --git a/src/shared/bus-errors.h b/src/shared/bus-errors.h index e4d0d435a..504ab1f79 100644 --- a/src/shared/bus-errors.h +++ b/src/shared/bus-errors.h @@ -65,4 +65,5 @@ #define BUS_ERROR_NO_SUCH_RR "org.freedesktop.resolve1.NoSuchRR" #define BUS_ERROR_NO_RESOURCES "org.freedesktop.resolve1.NoResources" #define BUS_ERROR_CNAME_LOOP "org.freedesktop.resolve1.CNameLoop" +#define BUS_ERROR_ABORTED "org.freedesktop.resolve1.Aborted" #define _BUS_ERROR_DNS "org.freedesktop.resolve1.DnsError."