chiark
/
gitweb
/
~mdw
/
adns
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
469fc85
)
initial SRV WIP - adns.h
author
ian
<ian>
Tue, 4 Apr 2006 00:19:52 +0000
(
00:19
+0000)
committer
ian
<ian>
Tue, 4 Apr 2006 00:19:52 +0000
(
00:19
+0000)
changelog
patch
|
blob
|
blame
|
history
src/adns.h
patch
|
blob
|
blame
|
history
diff --git
a/changelog
b/changelog
index 70ac646645e19baa2af33ea76861f28fb54303c8..2405a358a7516e46fb762d59ba46272959d54c09 100644
(file)
--- a/
changelog
+++ b/
changelog
@@
-18,6
+18,8
@@
adns (1.1.999.0.2); urgency=medium
* Provide adns_if_none and adns_qf_none (which will help with compilers
which complain about plain `0' being passed where an enum is wanted).
* Provide adns_if_none and adns_qf_none (which will help with compilers
which complain about plain `0' being passed where an enum is wanted).
+ * WIP support for SRV RRs.
+
--
adns (1.1.999.0.1); urgency=medium
--
adns (1.1.999.0.1); urgency=medium
diff --git
a/src/adns.h
b/src/adns.h
index b69a20b12134c8d2594e88d42488549f6aea3cdf..8b6b345d41b8ea61754db05872e3aa021e748967 100644
(file)
--- a/
src/adns.h
+++ b/
src/adns.h
@@
-105,8
+105,8
@@
typedef enum { /* In general, or together the desired flags: */
typedef enum {
adns__rrt_typemask=0x0ffff,
typedef enum {
adns__rrt_typemask=0x0ffff,
- adns__qtf_deref=
0x10000,
/* dereference domains; perhaps get extra data */
- adns__qtf_mail822=
0x20000,
/* return mailboxes in RFC822 rcpt field fmt */
+ adns__qtf_deref=
0x10000,
/* dereference domains; perhaps get extra data */
+ adns__qtf_mail822=
0x20000,
/* return mailboxes in RFC822 rcpt field fmt */
adns_r_none= 0,
adns_r_none= 0,
@@
-132,6
+132,12
@@
typedef enum {
adns_r_rp_raw= 17,
adns_r_rp= adns_r_rp_raw|adns__qtf_mail822,
adns_r_rp_raw= 17,
adns_r_rp= adns_r_rp_raw|adns__qtf_mail822,
+
+ /* For SRV records, query domain without _qf_quoteok_query must look
+ * as expected from SRV RFC with hostname-like Name. _With_
+ * _quoteok_query, any query domain is allowed. */
+ adns_r_srv_raw= 33,
+ adns_r_srv= adns_r_srv_raw|adns__qtf_deref,
adns_r_addr= adns_r_a|adns__qtf_deref
adns_r_addr= adns_r_a|adns__qtf_deref
@@
-301,6
+307,16
@@
typedef struct {
unsigned long serial, refresh, retry, expire, minimum;
} adns_rr_soa;
unsigned long serial, refresh, retry, expire, minimum;
} adns_rr_soa;
+typedef struct {
+ int priority, weight, port;
+ char *host;
+} adns_rr_srvraw;
+
+typedef struct {
+ int priority, weight, port;
+ adns_rr_hostaddr ha;
+} adns_rr_srvaddr;
+
typedef struct {
adns_status status;
char *cname; /* always NULL if query was for CNAME records */
typedef struct {
adns_status status;
char *cname; /* always NULL if query was for CNAME records */
@@
-321,6
+337,8
@@
typedef struct {
adns_rr_inthostaddr *inthostaddr;/* mx */
adns_rr_intstr *intstr; /* mx_raw */
adns_rr_soa *soa; /* soa, soa_raw */
adns_rr_inthostaddr *inthostaddr;/* mx */
adns_rr_intstr *intstr; /* mx_raw */
adns_rr_soa *soa; /* soa, soa_raw */
+ adns_rr_srvraw *srvraw; /* srv_raw */
+ adns_rr_srvaddr *srvaddr; /* srv */
} rrs;
} adns_answer;
} rrs;
} adns_answer;