chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
resolved: properly process SRV records
[elogind.git]
/
src
/
resolve
/
resolved-dns-rr.h
diff --git
a/src/resolve/resolved-dns-rr.h
b/src/resolve/resolved-dns-rr.h
index 7b73cdc6cae1fabe5501be26777c0b911431a911..a001433ff955f547d5ed9c10ecb1100196ae3c6c 100644
(file)
--- a/
src/resolve/resolved-dns-rr.h
+++ b/
src/resolve/resolved-dns-rr.h
@@
-51,10
+51,13
@@
enum {
DNS_TYPE_MX = 0x0F,
DNS_TYPE_TXT = 0x10,
DNS_TYPE_AAAA = 0x1C,
DNS_TYPE_MX = 0x0F,
DNS_TYPE_TXT = 0x10,
DNS_TYPE_AAAA = 0x1C,
+ DNS_TYPE_LOC = 0x1D,
DNS_TYPE_SRV = 0x21,
DNS_TYPE_DNAME = 0x27,
DNS_TYPE_SSHFP = 0x2C,
DNS_TYPE_SRV = 0x21,
DNS_TYPE_DNAME = 0x27,
DNS_TYPE_SSHFP = 0x2C,
+ DNS_TYPE_SPF = 0x63,
+
/* Special records */
DNS_TYPE_ANY = 0xFF,
DNS_TYPE_OPT = 0x29, /* EDNS0 option */
/* Special records */
DNS_TYPE_ANY = 0xFF,
DNS_TYPE_OPT = 0x29, /* EDNS0 option */
@@
-76,31
+79,32
@@
struct DnsResourceRecord {
unsigned n_ref;
DnsResourceKey *key;
uint32_t ttl;
unsigned n_ref;
DnsResourceKey *key;
uint32_t ttl;
+ bool unparseable;
union {
struct {
void *data;
uint16_t size;
} generic;
union {
struct {
void *data;
uint16_t size;
} generic;
- /* struct { */
- /* uint16_t priority; */
- /* uint16_t weight; */
- /* uint16_t port; */
- /* char *name; */
- /* } srv; */
+ struct {
+ uint16_t priority;
+ uint16_t weight;
+ uint16_t port;
+ char *name;
+ } srv;
struct {
char *name;
struct {
char *name;
- } ptr, ns, cname;
+ } ptr, ns, cname
, dname
;
struct {
char *cpu;
char *os;
} hinfo;
struct {
char *cpu;
char *os;
} hinfo;
- /* struct { */
- /* char **list; */
- /* } txt; */
+ struct {
+ char **strings;
+ } txt, spf;
struct {
struct in_addr in_addr;
struct {
struct in_addr in_addr;
@@
-119,6
+123,21
@@
struct DnsResourceRecord {
uint32_t expire;
uint32_t minimum;
} soa;
uint32_t expire;
uint32_t minimum;
} soa;
+
+ struct {
+ uint16_t priority;
+ char *exchange;
+ } mx;
+
+ struct {
+ uint8_t version;
+ uint8_t size;
+ uint8_t horiz_pre;
+ uint8_t vert_pre;
+ uint32_t latitude;
+ uint32_t longitude;
+ uint32_t altitude;
+ } loc;
};
};
};
};