Merge pull request #33939 from yuwata/resolve-varlink

resolve: type field in result of ResolveService may be NULL
This commit is contained in:
Luca Boccassi
2024-08-05 11:37:39 +02:00
committed by GitHub
2 changed files with 15 additions and 5 deletions
+5
View File
@@ -1148,6 +1148,11 @@ static void resolve_service_all_complete(DnsQuery *query) {
if (r < 0)
goto finish;
if (isempty(type)) {
r = reply_method_errorf(q, BUS_ERROR_NO_SUCH_SERVICE, "'%s' does not provide valid service", dns_query_string(q));
goto finish;
}
r = sd_bus_message_append(
reply,
"ssst",
+10 -5
View File
@@ -282,7 +282,7 @@ static void vl_method_resolve_hostname_complete(DnsQuery *query) {
finish:
if (r < 0) {
log_full_errno(ERRNO_IS_DISCONNECT(r) ? LOG_DEBUG : LOG_ERR, r, "Failed to send hostname reply: %m");
r = sd_varlink_error_errno(q->varlink_request, r);
(void) sd_varlink_error_errno(q->varlink_request, r);
}
}
@@ -495,7 +495,7 @@ static void vl_method_resolve_address_complete(DnsQuery *query) {
finish:
if (r < 0) {
log_full_errno(ERRNO_IS_DISCONNECT(r) ? LOG_DEBUG : LOG_ERR, r, "Failed to send address reply: %m");
r = sd_varlink_error_errno(q->varlink_request, r);
(void) sd_varlink_error_errno(q->varlink_request, r);
}
}
@@ -828,6 +828,11 @@ static void resolve_service_all_complete(DnsQuery *query) {
if (r < 0)
goto finish;
if (isempty(type)) {
r = sd_varlink_error(q->varlink_request, "io.systemd.Resolve.ServiceNotProvided", NULL);
goto finish;
}
r = sd_varlink_replybo(
query->varlink_request,
SD_JSON_BUILD_PAIR("services", SD_JSON_BUILD_VARIANT(srv)),
@@ -841,7 +846,7 @@ static void resolve_service_all_complete(DnsQuery *query) {
finish:
if (r < 0) {
log_error_errno(r, "Failed to resolve service: %m");
r = sd_varlink_error_errno(q->varlink_request, r);
(void) sd_varlink_error_errno(q->varlink_request, r);
}
}
@@ -986,7 +991,7 @@ static void vl_method_resolve_service_complete(DnsQuery *query) {
finish:
if (r < 0) {
log_error_errno(r, "Failed to send address reply: %m");
r = sd_varlink_error_errno(q->varlink_request, r);
(void) sd_varlink_error_errno(q->varlink_request, r);
}
}
@@ -1147,7 +1152,7 @@ static void vl_method_resolve_record_complete(DnsQuery *query) {
finish:
if (r < 0) {
log_full_errno(ERRNO_IS_DISCONNECT(r) ? LOG_DEBUG : LOG_ERR, r, "Failed to send record reply: %m");
sd_varlink_error_errno(q->varlink_request, r);
(void) sd_varlink_error_errno(q->varlink_request, r);
}
}