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 DNAME RRs
[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 524630071dea7797907796a8ab15654aaf25bacc..027f6cac844cbf9b58b8caf3abdd97e9075f311a 100644
(file)
--- a/
src/resolve/resolved-dns-rr.h
+++ b/
src/resolve/resolved-dns-rr.h
@@
-35,6
+35,8
@@
typedef struct DnsResourceRecord DnsResourceRecord;
enum {
DNS_CLASS_IN = 0x01,
DNS_CLASS_ANY = 0xFF,
enum {
DNS_CLASS_IN = 0x01,
DNS_CLASS_ANY = 0xFF,
+ _DNS_CLASS_MAX,
+ _DNS_CLASS_INVALID = -1
};
/* DNS record types, see RFC 1035 */
};
/* DNS record types, see RFC 1035 */
@@
-49,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 */
@@
-60,6
+65,8
@@
enum {
DNS_TYPE_TSIG = 0xFA,
DNS_TYPE_IXFR = 0xFB,
DNS_TYPE_AXFR = 0xFC,
DNS_TYPE_TSIG = 0xFA,
DNS_TYPE_IXFR = 0xFB,
DNS_TYPE_AXFR = 0xFC,
+ _DNS_TYPE_MAX,
+ _DNS_TYPE_INVALID = -1
};
struct DnsResourceKey {
};
struct DnsResourceKey {
@@
-72,6
+79,7
@@
struct DnsResourceRecord {
unsigned n_ref;
DnsResourceKey *key;
uint32_t ttl;
unsigned n_ref;
DnsResourceKey *key;
uint32_t ttl;
+ bool unparseable;
union {
struct {
void *data;
union {
struct {
void *data;
@@
-87,16
+95,16
@@
struct DnsResourceRecord {
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;
struct {
struct in_addr in_addr;
struct {
struct in_addr in_addr;
@@
-115,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;
};
};
};
};