chiark
/
gitweb
/
~ianmdlvl
/
adns.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
adnshost: adh-opts.c: Whitespace adjustments to option table
[adns.git]
/
src
/
types.c
diff --git
a/src/types.c
b/src/types.c
index 65b9065947c7150b84051166320ce571bf06b6b2..59e9502e2f60f7072d4281479f8c69a14df1c576 100644
(file)
--- a/
src/types.c
+++ b/
src/types.c
@@
-4,7
+4,7
@@
*/
/*
* This file is part of adns, which is
*/
/*
* This file is part of adns, which is
- * Copyright (C) 1997-2000,2003,2006,2014-2016 Ian Jackson
+ * Copyright (C) 1997-2000,2003,2006,2014-2016
,2020
Ian Jackson
* Copyright (C) 2014 Mark Wooding
* Copyright (C) 1999-2000,2003,2006 Tony Finch
* Copyright (C) 1991 Massachusetts Institute of Technology
* Copyright (C) 2014 Mark Wooding
* Copyright (C) 1999-2000,2003,2006 Tony Finch
* Copyright (C) 1991 Massachusetts Institute of Technology
@@
-221,7
+221,7
@@
static adns_status pa_txt(const parseinfo *pai, int cbyte,
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_txt(vbuf *vb, const void *datap) {
+static adns_status cs_txt(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_intstr *const *rrp= datap;
const adns_rr_intstr *current;
adns_status st;
const adns_rr_intstr *const *rrp= datap;
const adns_rr_intstr *current;
adns_status st;
@@
-238,7
+238,7
@@
static adns_status cs_txt(vbuf *vb, const void *datap) {
* _hinfo (cs)
*/
* _hinfo (cs)
*/
-static adns_status cs_hinfo(vbuf *vb, const void *datap) {
+static adns_status cs_hinfo(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_intstrpair *rrp= datap;
adns_status st;
const adns_rr_intstrpair *rrp= datap;
adns_status st;
@@
-316,7
+316,7
@@
static adns_status csp_genaddr(vbuf *vb, int af, const void *p) {
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_inaddr(vbuf *vb, const void *datap) {
+static adns_status cs_inaddr(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
return csp_genaddr(vb, AF_INET,datap);
}
return csp_genaddr(vb, AF_INET,datap);
}
@@
-338,7
+338,7
@@
static int di_in6addr(adns_state ads,
return dip_genaddr(ads,AF_INET6,datap_a,datap_b);
}
return dip_genaddr(ads,AF_INET6,datap_a,datap_b);
}
-static adns_status cs_in6addr(vbuf *vb, const void *datap) {
+static adns_status cs_in6addr(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
return csp_genaddr(vb,AF_INET6,datap);
}
return csp_genaddr(vb,AF_INET6,datap);
}
@@
-499,7
+499,7
@@
static adns_status csp_addr(vbuf *vb, const adns_rr_addr *rrp) {
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_addr(vbuf *vb, const void *datap) {
+static adns_status cs_addr(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_addr *rrp= datap;
return csp_addr(vb,rrp);
const adns_rr_addr *rrp= datap;
return csp_addr(vb,rrp);
@@
-785,7
+785,7
@@
static adns_status csp_domain(vbuf *vb, const char *domain) {
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_domain(vbuf *vb, const void *datap) {
+static adns_status cs_domain(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const char *const *domainp= datap;
return csp_domain(vb,*domainp);
}
const char *const *domainp= datap;
return csp_domain(vb,*domainp);
}
@@
-838,6
+838,7
@@
static adns_status pap_findaddrs(const parseinfo *pai, adns_rr_hostaddr *ha,
&type, &class, &ttl, &rdlen, &rdstart,
pai->dgram, pai->dglen, dmstart, &ownermatched);
if (st) return st;
&type, &class, &ttl, &rdlen, &rdstart,
pai->dgram, pai->dglen, dmstart, &ownermatched);
if (st) return st;
+ if (type==-1) continue;
if (!ownermatched || class != DNS_CLASS_IN) continue;
typef= addr_rrtypeflag(type);
if (!(want & typef)) continue;
if (!ownermatched || class != DNS_CLASS_IN) continue;
typef= addr_rrtypeflag(type);
if (!(want & typef)) continue;
@@
-1000,11
+1001,13
@@
static void mf_hostaddr(adns_query qu, void *datap) {
mfp_hostaddr(qu,rrp);
}
mfp_hostaddr(qu,rrp);
}
-static adns_status csp_hostaddr(vbuf *vb, const adns_rr_hostaddr *rrp) {
+static adns_status csp_hostaddr(vbuf *vb, adns_rrtype rrt,
+ const adns_rr_hostaddr *rrp) {
const char *errstr;
adns_status st;
char buf[20];
int i;
const char *errstr;
adns_status st;
char buf[20];
int i;
+ size_t addrsz= gsz_addr(0, rrt);
st= csp_domain(vb,rrp->host); if (st) return st;
st= csp_domain(vb,rrp->host); if (st) return st;
@@
-1024,7
+1027,7
@@
static adns_status csp_hostaddr(vbuf *vb, const adns_rr_hostaddr *rrp) {
CSP_ADDSTR(" (");
for (i=0; i<rrp->naddrs; i++) {
CSP_ADDSTR(" ");
CSP_ADDSTR(" (");
for (i=0; i<rrp->naddrs; i++) {
CSP_ADDSTR(" ");
- st= csp_addr(vb,
&rrp->addrs[i]
);
+ st= csp_addr(vb,
(const void*)((const char*)rrp->addrs + addrsz*i)
);
}
CSP_ADDSTR(" )");
} else {
}
CSP_ADDSTR(" )");
} else {
@@
-1033,10
+1036,10
@@
static adns_status csp_hostaddr(vbuf *vb, const adns_rr_hostaddr *rrp) {
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_hostaddr(vbuf *vb, const void *datap) {
+static adns_status cs_hostaddr(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_hostaddr *rrp= datap;
const adns_rr_hostaddr *rrp= datap;
- return csp_hostaddr(vb,rrp);
+ return csp_hostaddr(vb,rr
t,rr
p);
}
/*
}
/*
@@
-1120,19
+1123,19
@@
static adns_status csp_intofinthost(vbuf *vb, int i) {
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_inthostaddr(vbuf *vb, const void *datap) {
+static adns_status cs_inthostaddr(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_inthostaddr *rrp= datap;
adns_status st;
st = csp_intofinthost(vb,rrp->i); if (st) return st;
const adns_rr_inthostaddr *rrp= datap;
adns_status st;
st = csp_intofinthost(vb,rrp->i); if (st) return st;
- return csp_hostaddr(vb,&rrp->ha);
+ return csp_hostaddr(vb,
rrt,
&rrp->ha);
}
/*
* _inthost (cs)
*/
}
/*
* _inthost (cs)
*/
-static adns_status cs_inthost(vbuf *vb, const void *datap) {
+static adns_status cs_inthost(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_intstr *rrp= datap;
adns_status st;
const adns_rr_intstr *rrp= datap;
adns_status st;
@@
-1360,7
+1363,7
@@
static adns_status pa_rp(const parseinfo *pai, int cbyte,
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_rp(vbuf *vb, const void *datap) {
+static adns_status cs_rp(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_strpair *rrp= datap;
adns_status st;
const adns_rr_strpair *rrp= datap;
adns_status st;
@@
-1406,7
+1409,7
@@
static void mf_soa(adns_query qu, void *datap) {
adns__makefinal_str(qu,&rrp->rname);
}
adns__makefinal_str(qu,&rrp->rname);
}
-static adns_status cs_soa(vbuf *vb, const void *datap) {
+static adns_status cs_soa(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_soa *rrp= datap;
char buf[20];
int i;
const adns_rr_soa *rrp= datap;
char buf[20];
int i;
@@
-1516,7
+1519,7
@@
static adns_status csp_srv_begin(vbuf *vb, const adns_rr_srvha *rrp
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_srvraw(vbuf *vb, const void *datap) {
+static adns_status cs_srvraw(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_srvraw *rrp= datap;
adns_status st;
const adns_rr_srvraw *rrp= datap;
adns_status st;
@@
-1524,12
+1527,12
@@
static adns_status cs_srvraw(vbuf *vb, const void *datap) {
return csp_domain(vb,rrp->host);
}
return csp_domain(vb,rrp->host);
}
-static adns_status cs_srvha(vbuf *vb, const void *datap) {
+static adns_status cs_srvha(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_srvha *rrp= datap;
adns_status st;
st= csp_srv_begin(vb,(const void*)datap); if (st) return st;
const adns_rr_srvha *rrp= datap;
adns_status st;
st= csp_srv_begin(vb,(const void*)datap); if (st) return st;
- return csp_hostaddr(vb,&rrp->ha);
+ return csp_hostaddr(vb,
rrt,
&rrp->ha);
}
static void postsort_srv(adns_state ads, void *array, int nrrs,int rrsz,
}
static void postsort_srv(adns_state ads, void *array, int nrrs,int rrsz,
@@
-1620,7
+1623,7
@@
static adns_status pa_opaque(const parseinfo *pai, int cbyte,
return adns_s_ok;
}
return adns_s_ok;
}
-static adns_status cs_opaque(vbuf *vb, const void *datap) {
+static adns_status cs_opaque(vbuf *vb,
adns_rrtype rrt,
const void *datap) {
const adns_rr_byteblock *rrp= datap;
char buf[10];
int l;
const adns_rr_byteblock *rrp= datap;
char buf[10];
int l;