mirror of
https://github.com/systemd/systemd.git
synced 2024-10-26 08:55:40 +03:00
resolve: move sd-* api into libsystemd-network
This duplicates the svc param constants for the benefit of the resolved-core library.
This commit is contained in:
parent
db894b84b7
commit
87cc325527
@ -23,6 +23,7 @@ sources = files(
|
||||
'sd-dhcp-server.c',
|
||||
'sd-dhcp6-client.c',
|
||||
'sd-dhcp6-lease.c',
|
||||
'sd-dns-resolver.c',
|
||||
'sd-ipv4acd.c',
|
||||
'sd-ipv4ll.c',
|
||||
'sd-lldp-rx.c',
|
||||
|
@ -4,8 +4,6 @@
|
||||
# include <gcrypt.h>
|
||||
#endif
|
||||
|
||||
#include "dns-resolver-internal.h"
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "dns-domain.h"
|
||||
#include "escape.h"
|
||||
@ -2883,6 +2881,27 @@ size_t dns_packet_size_unfragmented(DnsPacket *p) {
|
||||
return LESS_BY(p->fragsize, udp_header_size(p->family));
|
||||
}
|
||||
|
||||
static const char* const dns_svc_param_key_table[_DNS_SVC_PARAM_KEY_MAX_DEFINED] = {
|
||||
[DNS_SVC_PARAM_KEY_MANDATORY] = "mandatory",
|
||||
[DNS_SVC_PARAM_KEY_ALPN] = "alpn",
|
||||
[DNS_SVC_PARAM_KEY_NO_DEFAULT_ALPN] = "no-default-alpn",
|
||||
[DNS_SVC_PARAM_KEY_PORT] = "port",
|
||||
[DNS_SVC_PARAM_KEY_IPV4HINT] = "ipv4hint",
|
||||
[DNS_SVC_PARAM_KEY_ECH] = "ech",
|
||||
[DNS_SVC_PARAM_KEY_IPV6HINT] = "ipv6hint",
|
||||
[DNS_SVC_PARAM_KEY_DOHPATH] = "dohpath",
|
||||
[DNS_SVC_PARAM_KEY_OHTTP] = "ohttp",
|
||||
};
|
||||
DEFINE_STRING_TABLE_LOOKUP_TO_STRING(dns_svc_param_key, int);
|
||||
|
||||
const char* format_dns_svc_param_key(uint16_t i, char buf[static DECIMAL_STR_MAX(uint16_t)+3]) {
|
||||
const char *p = dns_svc_param_key_to_string(i);
|
||||
if (p)
|
||||
return p;
|
||||
|
||||
return snprintf_ok(buf, DECIMAL_STR_MAX(uint16_t)+3, "key%i", i);
|
||||
}
|
||||
|
||||
static const char* const dns_rcode_table[_DNS_RCODE_MAX_DEFINED] = {
|
||||
[DNS_RCODE_SUCCESS] = "SUCCESS",
|
||||
[DNS_RCODE_FORMERR] = "FORMERR",
|
||||
|
@ -369,6 +369,25 @@ DnsProtocol dns_protocol_from_string(const char *s) _pure_;
|
||||
|
||||
extern const struct hash_ops dns_packet_hash_ops;
|
||||
|
||||
/* https://www.iana.org/assignments/dns-svcb/dns-svcb.xhtml#dns-svcparamkeys */
|
||||
enum {
|
||||
DNS_SVC_PARAM_KEY_MANDATORY = 0, /* RFC 9460 § 8 */
|
||||
DNS_SVC_PARAM_KEY_ALPN = 1, /* RFC 9460 § 7.1 */
|
||||
DNS_SVC_PARAM_KEY_NO_DEFAULT_ALPN = 2, /* RFC 9460 § 7.1 */
|
||||
DNS_SVC_PARAM_KEY_PORT = 3, /* RFC 9460 § 7.2 */
|
||||
DNS_SVC_PARAM_KEY_IPV4HINT = 4, /* RFC 9460 § 7.3 */
|
||||
DNS_SVC_PARAM_KEY_ECH = 5, /* RFC 9460 */
|
||||
DNS_SVC_PARAM_KEY_IPV6HINT = 6, /* RFC 9460 § 7.3 */
|
||||
DNS_SVC_PARAM_KEY_DOHPATH = 7, /* RFC 9461 */
|
||||
DNS_SVC_PARAM_KEY_OHTTP = 8,
|
||||
_DNS_SVC_PARAM_KEY_MAX_DEFINED,
|
||||
DNS_SVC_PARAM_KEY_INVALID = 65535 /* RFC 9460 */
|
||||
};
|
||||
|
||||
const char* dns_svc_param_key_to_string(int i) _const_;
|
||||
const char* format_dns_svc_param_key(uint16_t i, char buf[static DECIMAL_STR_MAX(uint16_t)+3]);
|
||||
#define FORMAT_DNS_SVC_PARAM_KEY(i) format_dns_svc_param_key(i, (char [DECIMAL_STR_MAX(uint16_t)+3]) {})
|
||||
|
||||
static inline uint64_t SD_RESOLVED_FLAGS_MAKE(
|
||||
DnsProtocol protocol,
|
||||
int family,
|
||||
|
@ -2,8 +2,6 @@
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include "dns-resolver-internal.h"
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "dns-domain.h"
|
||||
#include "dns-type.h"
|
||||
|
@ -151,7 +151,6 @@ shared_sources = files(
|
||||
'resize-fs.c',
|
||||
'resolve-util.c',
|
||||
'rm-rf.c',
|
||||
'sd-dns-resolver.c',
|
||||
'securebits-util.c',
|
||||
'selinux-util.c',
|
||||
'serialize.c',
|
||||
|
@ -33,7 +33,6 @@ _not_installed_headers = [
|
||||
'sd-dhcp6-lease.h',
|
||||
'sd-dhcp6-option.h',
|
||||
'sd-dhcp6-protocol.h',
|
||||
'sd-dns-resolver.h',
|
||||
'sd-ipv4acd.h',
|
||||
'sd-ipv4ll.h',
|
||||
'sd-lldp-rx.h',
|
||||
|
Loading…
Reference in New Issue
Block a user