if (r < 0)
goto finish;
- n = be16toh(DNS_PACKET_HEADER(q->packet)->ancount) +
- be16toh(DNS_PACKET_HEADER(q->packet)->nscount) +
- be16toh(DNS_PACKET_HEADER(q->packet)->arcount);
-
+ n = DNS_PACKET_ANCOUNT(q->packet) +
+ DNS_PACKET_NSCOUNT(q->packet) +
+ DNS_PACKET_ARCOUNT(q->packet);
for (i = 0; i < n; i++) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL;
added ++;
}
- if (added <= 0)
- goto parse_fail;
+ if (added <= 0) {
+ r = sd_bus_reply_method_errorf(q->request, BUS_ERROR_NO_SUCH_RR, "Hostname %s does not have RR of this type", q->request_hostname);
+ break;
+ }
r = sd_bus_message_close_container(reply);
if (r < 0)
if (r < 0)
goto finish;
- n = be16toh(DNS_PACKET_HEADER(q->packet)->ancount) +
- be16toh(DNS_PACKET_HEADER(q->packet)->nscount) +
- be16toh(DNS_PACKET_HEADER(q->packet)->arcount);
-
+ n = DNS_PACKET_ANCOUNT(q->packet) +
+ DNS_PACKET_NSCOUNT(q->packet) +
+ DNS_PACKET_ARCOUNT(q->packet);
for (i = 0; i < n; i++) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL;
added ++;
}
- if (added <= 0)
- goto parse_fail;
+ if (added <= 0) {
+ r = sd_bus_reply_method_errorf(q->request, BUS_ERROR_NO_SUCH_RR, "Address %s does not have RR of this type", ip);
+ break;
+ }
r = sd_bus_message_close_container(reply);
if (r < 0)
return 0;
}
- r = sd_bus_add_object_vtable(m->bus, NULL, "/org/freedesktop/resolve1", "org.freedesktop.resolve1", resolve_vtable, m);
+ r = sd_bus_add_object_vtable(m->bus, NULL, "/org/freedesktop/resolve1", "org.freedesktop.resolve1.Manager", resolve_vtable, m);
if (r < 0) {
log_error("Failed to register object: %s", strerror(-r));
return r;