#include "sd-messages.h"
+#include "af-list.h"
#include "alloc-util.h"
#include "blockdev-util.h"
#include "bpf-devices.h"
}
void cgroup_context_dump_socket_bind_item(const CGroupSocketBindItem *item, FILE *f) {
- const char *family =
- item->address_family == AF_INET ? "ipv4:" :
- item->address_family == AF_INET6 ? "ipv6:" : "";
+ const char *family, *colon;
+
+ family = strempty(af_to_ipv4_ipv6(item->address_family));
+ colon = isempty(family) ? "" : ":";
if (item->nr_ports == 0)
- fprintf(f, " %sany", family);
+ fprintf(f, " %s%sany", family, colon);
else if (item->nr_ports == 1)
- fprintf(f, " %s%" PRIu16, family, item->port_min);
+ fprintf(f, " %s%s%" PRIu16, family, colon, item->port_min);
else {
uint16_t port_max = item->port_min + item->nr_ports - 1;
- fprintf(f, " %s%" PRIu16 "-%" PRIu16, family, item->port_min, port_max);
+ fprintf(f, " %s%s%" PRIu16 "-%" PRIu16, family, colon, item->port_min, port_max);
}
}
}
if (rvalue) {
- if (streq(word, "ipv4"))
- af = AF_INET;
- else if (streq(word, "ipv6"))
- af = AF_INET6;
- else {
+ af = af_from_ipv4_ipv6(word);
+ if (af == AF_UNSPEC) {
log_syntax(unit, LOG_WARNING, filename, line, 0,
"Only \"ipv4\" and \"ipv6\" protocols are supported, ignoring.");
return 0;
#include "sd-daemon.h"
+#include "af-list.h"
#include "alloc-util.h"
#include "def.h"
#include "errno-util.h"
log_debug("Accepted %s %s connection from %s",
type,
- socket_address_family(addr) == AF_INET ? "IP" : "IPv6",
+ af_to_ipv4_ipv6(socket_address_family(addr)),
a);
*hostname = b;
#include "sd-bus.h"
+#include "af-list.h"
#include "alloc-util.h"
#include "bus-container.h"
#include "bus-control.h"
return -EINVAL;
if (family) {
- if (streq(family, "ipv4"))
- hints.ai_family = AF_INET;
- else if (streq(family, "ipv6"))
- hints.ai_family = AF_INET6;
- else
+ hints.ai_family = af_from_ipv4_ipv6(family);
+ if (hints.ai_family == AF_UNSPEC)
return -EINVAL;
}
/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#include "af-list.h"
#include "alloc-util.h"
#include "bus-error.h"
#include "bus-unit-util.h"
address_family = eq ? word : NULL;
if (address_family) {
- if (streq(address_family, "ipv4"))
- family = AF_INET;
- else if (streq(address_family, "ipv6"))
- family = AF_INET6;
- else
+ family = af_from_ipv4_ipv6(address_family);
+ if (family == AF_UNSPEC)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Only \"ipv4\" and \"ipv6\" protocols are supported");
}
#include <sys/mount.h>
+#include "af-list.h"
#include "bus-error.h"
#include "bus-locator.h"
#include "bus-map-properties.h"
return 1;
} else if (STR_IN_SET(name, "SocketBindAllow", "SocketBindDeny")) {
uint16_t nr_ports, port_min;
- const char *family;
int af;
r = sd_bus_message_enter_container(m, SD_BUS_TYPE_ARRAY, "(iqq)");
if (r < 0)
return bus_log_parse_error(r);
while ((r = sd_bus_message_read(m, "(iqq)", &af, &nr_ports, &port_min)) > 0) {
- family = af == AF_INET ? "ipv4:" : af == AF_INET6 ? "ipv6:" : "";
+ const char *family, *colon;
+
+ family = strempty(af_to_ipv4_ipv6(af));
+ colon = isempty(family) ? "" : ":";
+
if (nr_ports == 0)
- bus_print_property_valuef(name, expected_value, flags, "%sany", family);
+ bus_print_property_valuef(name, expected_value, flags, "%s%sany", family, colon);
else if (nr_ports == 1)
bus_print_property_valuef(
- name, expected_value, flags, "%s%hu", family, port_min);
+ name, expected_value, flags, "%s%s%hu", family, colon, port_min);
else
bus_print_property_valuef(
- name, expected_value, flags, "%s%hu-%hu", family, port_min,
+ name, expected_value, flags, "%s%s%hu-%hu", family, colon, port_min,
(uint16_t) (port_min + nr_ports - 1));
}
if (r < 0)