Merge pull request #33939 from yuwata/resolve-varlink
resolve: type field in result of ResolveService may be NULL
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user