]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/resolve/resolved-dns-scope.c
tree-wide: define iterator inside of the macro
[thirdparty/systemd.git] / src / resolve / resolved-dns-scope.c
index bd4b59ea8e18ee6afd415054bd56d18aaceef324..e69ba3c758e1a41d6e4f574aa82c6de51fd6133a 100644 (file)
@@ -403,11 +403,11 @@ static int dns_scope_socket(
                 /* RFC 4795, section 2.5 requires the TTL to be set to 1 */
 
                 if (sa.sa.sa_family == AF_INET) {
-                        r = setsockopt_int(fd, IPPROTO_IP, IP_TTL, true);
+                        r = setsockopt_int(fd, IPPROTO_IP, IP_TTL, 1);
                         if (r < 0)
                                 return r;
                 } else if (sa.sa.sa_family == AF_INET6) {
-                        r = setsockopt_int(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, true);
+                        r = setsockopt_int(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, 1);
                         if (r < 0)
                                 return r;
                 }
@@ -1059,12 +1059,13 @@ int dns_scope_notify_conflict(DnsScope *scope, DnsResourceRecord *rr) {
         random_bytes(&jitter, sizeof(jitter));
         jitter %= LLMNR_JITTER_INTERVAL_USEC;
 
-        r = sd_event_add_time(scope->manager->event,
-                              &scope->conflict_event_source,
-                              clock_boottime_or_monotonic(),
-                              now(clock_boottime_or_monotonic()) + jitter,
-                              LLMNR_JITTER_INTERVAL_USEC,
-                              on_conflict_dispatch, scope);
+        r = sd_event_add_time_relative(
+                        scope->manager->event,
+                        &scope->conflict_event_source,
+                        clock_boottime_or_monotonic(),
+                        jitter,
+                        LLMNR_JITTER_INTERVAL_USEC,
+                        on_conflict_dispatch, scope);
         if (r < 0)
                 return log_debug_errno(r, "Failed to add conflict dispatch event: %m");
 
@@ -1217,7 +1218,6 @@ int dns_scope_announce(DnsScope *scope, bool goodbye) {
         DnsTransaction *t;
         DnsZoneItem *z, *i;
         unsigned size = 0;
-        Iterator iterator;
         char *service_type;
         int r;
 
@@ -1237,7 +1237,7 @@ int dns_scope_announce(DnsScope *scope, bool goodbye) {
                 return 0; /* we reach this point only if changing hostname didn't help */
 
         /* Calculate answer's size. */
-        HASHMAP_FOREACH(z, scope->zone.by_key, iterator) {
+        HASHMAP_FOREACH(z, scope->zone.by_key) {
                 if (z->state != DNS_ZONE_ITEM_ESTABLISHED)
                         continue;
 
@@ -1269,7 +1269,7 @@ int dns_scope_announce(DnsScope *scope, bool goodbye) {
                 return log_oom();
 
         /* Second iteration, actually add RRs to the answer. */
-        HASHMAP_FOREACH(z, scope->zone.by_key, iterator)
+        HASHMAP_FOREACH(z, scope->zone.by_key)
                 LIST_FOREACH (by_key, i, z) {
                         DnsAnswerFlags flags;
 
@@ -1287,7 +1287,7 @@ int dns_scope_announce(DnsScope *scope, bool goodbye) {
                 }
 
         /* Since all the active services are in the zone make them discoverable now. */
-        SET_FOREACH(service_type, types, iterator) {
+        SET_FOREACH(service_type, types) {
                 _cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr;
 
                 rr = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_PTR,
@@ -1318,18 +1318,13 @@ int dns_scope_announce(DnsScope *scope, bool goodbye) {
         /* In section 8.3 of RFC6762: "The Multicast DNS responder MUST send at least two unsolicited
          * responses, one second apart." */
         if (!scope->announced) {
-                usec_t ts;
-
                 scope->announced = true;
 
-                assert_se(sd_event_now(scope->manager->event, clock_boottime_or_monotonic(), &ts) >= 0);
-                ts += MDNS_ANNOUNCE_DELAY;
-
-                r = sd_event_add_time(
+                r = sd_event_add_time_relative(
                                 scope->manager->event,
                                 &scope->announce_event_source,
                                 clock_boottime_or_monotonic(),
-                                ts,
+                                MDNS_ANNOUNCE_DELAY,
                                 MDNS_JITTER_RANGE_USEC,
                                 on_announcement_timeout, scope);
                 if (r < 0)
@@ -1342,7 +1337,6 @@ int dns_scope_announce(DnsScope *scope, bool goodbye) {
 }
 
 int dns_scope_add_dnssd_services(DnsScope *scope) {
-        Iterator i;
         DnssdService *service;
         DnssdTxtData *txt_data;
         int r;
@@ -1354,7 +1348,7 @@ int dns_scope_add_dnssd_services(DnsScope *scope) {
 
         scope->announced = false;
 
-        HASHMAP_FOREACH(service, scope->manager->dnssd_services, i) {
+        HASHMAP_FOREACH(service, scope->manager->dnssd_services) {
                 service->withdrawn = false;
 
                 r = dns_zone_put(&scope->zone, scope, service->ptr_rr, false);
@@ -1377,7 +1371,6 @@ int dns_scope_add_dnssd_services(DnsScope *scope) {
 
 int dns_scope_remove_dnssd_services(DnsScope *scope) {
         _cleanup_(dns_resource_key_unrefp) DnsResourceKey *key = NULL;
-        Iterator i;
         DnssdService *service;
         DnssdTxtData *txt_data;
         int r;
@@ -1393,7 +1386,7 @@ int dns_scope_remove_dnssd_services(DnsScope *scope) {
         if (r < 0)
                 return r;
 
-        HASHMAP_FOREACH(service, scope->manager->dnssd_services, i) {
+        HASHMAP_FOREACH(service, scope->manager->dnssd_services) {
                 dns_zone_remove_rr(&scope->zone, service->ptr_rr);
                 dns_zone_remove_rr(&scope->zone, service->srv_rr);
                 LIST_FOREACH(items, txt_data, service->txt_data_items)