diff --git a/lib/dns/Makefile.in b/lib/dns/Makefile.in index 7a637a7963..716abbce3d 100644 --- a/lib/dns/Makefile.in +++ b/lib/dns/Makefile.in @@ -80,8 +80,9 @@ include/dns/enumtype.h: gen include/dns/enumclass.h: gen ./gen -s ${srcdir} -c > $@ -include/dns/rdatastruct.h: gen - ./gen -s ${srcdir} -i > $@ +include/dns/rdatastruct.h: gen rdata/rdatastructpre.h rdata/rdatastructsuf.h + ./gen -s ${srcdir} -i \ + -P rdata/rdatastructpre.h -S rdata/rdatastructsuf.h > $@ code.h: gen ./gen -s ${srcdir} > code.h diff --git a/lib/dns/gen.c b/lib/dns/gen.c index 6cfe898cf2..810303cda4 100644 --- a/lib/dns/gen.c +++ b/lib/dns/gen.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: gen.c,v 1.18 1999/05/05 01:55:07 marka Exp $ */ + /* $Id: gen.c,v 1.19 1999/05/07 03:24:04 marka Exp $ */ #include @@ -59,12 +59,18 @@ #define FROMSTRUCTTYPE "type" #define FROMSTRUCTDEF "use_default = ISC_TRUE" -#define TOSTRUCTDECL "dns_rdata_t *rdata, void *target" -#define TOSTRUCTARGS "rdata, target" +#define TOSTRUCTDECL "dns_rdata_t *rdata, void *target, isc_mem_t *mctx" +#define TOSTRUCTARGS "rdata, target, mctx" #define TOSTRUCTCLASS "rdata->class" #define TOSTRUCTTYPE "rdata->type" #define TOSTRUCTDEF "use_default = ISC_TRUE" +#define FREESTRUCTDECL "void *source" +#define FREESTRUCTARGS "source" +#define FREESTRUCTCLASS "common->rdclass" +#define FREESTRUCTTYPE "common->rdtype" +#define FREESTRUCTDEF NULL + #define COMPAREDECL "dns_rdata_t *rdata1, dns_rdata_t *rdata2" #define COMPAREARGS "rdata1, rdata2" #define COMPARECLASS "rdata1->class" @@ -149,6 +155,10 @@ doswitch(char *name, char *function, char *args, int lasttype = 0; int subswitch = 0; char buf1[11], buf2[11]; + char *result = " result ="; + + if (res == NULL) + result = ""; for (tt = types; tt != NULL ; tt = tt->next) { if (first) { @@ -157,7 +167,11 @@ doswitch(char *name, char *function, char *args, first = 0; } if (tt->type != lasttype && subswitch) { - fprintf(stdout, "\t\tdefault: %s; break; \\\n", res); + if (res == NULL) + fprintf(stdout, "\t\tdefault: break; \\\n"); + else + fprintf(stdout, + "\t\tdefault: %s; break; \\\n", res); fputs(/*{*/ "\t\t} \\\n", stdout); fputs("\t\tbreak; \\\n", stdout); subswitch = 0; @@ -169,27 +183,36 @@ doswitch(char *name, char *function, char *args, } if (tt->class == 0) fprintf(stdout, - "\tcase %d: result = %s_%s(%s); break;", - tt->type, function, + "\tcase %d:%s %s_%s(%s); break;", + tt->type, result, function, funname(tt->typename, buf1), args); else fprintf(stdout, - "\t\tcase %d: result = %s_%s_%s(%s); break;", - tt->class, function, + "\t\tcase %d:%s %s_%s_%s(%s); break;", + tt->class, result, function, funname(tt->classname, buf1), funname(tt->typename, buf2), args); fputs(" \\\n", stdout); lasttype = tt->type; } if (subswitch) { - fprintf(stdout, "\t\tdefault: %s; break; \\\n", res); + if (res == NULL) + fprintf(stdout, "\t\tdefault: break; \\\n"); + else + fprintf(stdout, "\t\tdefault: %s; break; \\\n", res); fputs(/*{*/ "\t\t} \\\n", stdout); fputs("\t\tbreak; \\\n", stdout); } - if (first) - fprintf(stdout, "\n#define %s %s;\n", name, res); - else { - fprintf(stdout, "\tdefault: %s; break; \\\n", res); + if (first) { + if (res == NULL) + fprintf(stdout, "\n#define %s\n", name); + else + fprintf(stdout, "\n#define %s %s;\n", name, res); + } else { + if (res == NULL) + fprintf(stdout, "\tdefault: break; \\\n"); + else + fprintf(stdout, "\tdefault: %s; break; \\\n", res); fputs(/*{*/ "\t}\n", stdout); } } @@ -332,9 +355,11 @@ main(int argc, char **argv) { char buf1[11]; char filetype = 'c'; FILE *fd; + char *prefix = NULL; + char *suffix = NULL; strcpy(srcdir, ""); - while ((c = getopt(argc, argv, "ctis:")) != -1) + while ((c = getopt(argc, argv, "cits:P:S:")) != -1) switch (c) { case 'c': code = 0; @@ -360,6 +385,12 @@ main(int argc, char **argv) { case 's': sprintf(srcdir, "%s/", optarg); break; + case 'P': + prefix = optarg; + break; + case 'S': + suffix = optarg; + break; case '?': exit(1); } @@ -402,6 +433,7 @@ main(int argc, char **argv) { dodecl("int", "compare", COMPAREDECL); dodecl("dns_result_t", "fromstruct", FROMSTRUCTDECL); dodecl("dns_result_t", "tostruct", TOSTRUCTDECL); + dodecl("void", "freestruct", FREESTRUCTDECL); doswitch("FROMTEXTSWITCH", "fromtext", FROMTEXTARGS, FROMTEXTTYPE, FROMTEXTCLASS, FROMTEXTDEF); @@ -417,6 +449,8 @@ main(int argc, char **argv) { FROMSTRUCTTYPE, FROMSTRUCTCLASS, FROMSTRUCTDEF); doswitch("TOSTRUCTSWITCH", "tostruct", TOSTRUCTARGS, TOSTRUCTTYPE, TOSTRUCTCLASS, TOSTRUCTDEF); + doswitch("FREESTRUCTSWITCH", "freestruct", FREESTRUCTARGS, + FREESTRUCTTYPE, FREESTRUCTCLASS, FREESTRUCTDEF); fprintf(stdout, "\n#define TYPENAMES%s\n", types != NULL ? " \\" : ""); @@ -468,6 +502,13 @@ main(int argc, char **argv) { cc->next != NULL ? " \\" : ""); fprintf(stdout, "#endif /* CLASSENUM */\n"); } else if (structs) { + if (prefix != NULL) { + if ((fd = fopen(prefix,"r")) != NULL) { + while (fgets(buf, sizeof buf, fd) != NULL) + fputs(buf, stdout); + fclose(fd); + } + } for (tt = types; tt != NULL ; tt = tt->next) { sprintf(buf, "%s/%s_%d.h", tt->dirname, tt->typename, tt->type); @@ -477,6 +518,13 @@ main(int argc, char **argv) { fclose(fd); } } + if (suffix != NULL) { + if ((fd = fopen(suffix,"r")) != NULL) { + while (fgets(buf, sizeof buf, fd) != NULL) + fputs(buf, stdout); + fclose(fd); + } + } } if (ferror(stdout) != 0) diff --git a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h index 21e20be0da..775c6d9e9e 100644 --- a/lib/dns/include/dns/rdata.h +++ b/lib/dns/include/dns/rdata.h @@ -360,22 +360,32 @@ dns_result_t dns_rdata_fromstruct(dns_rdata_t *rdata, * Resource Limit: Not enough space */ -dns_result_t dns_rdata_tostruct(dns_rdata_t *rdata, void *target); +dns_result_t dns_rdata_tostruct(dns_rdata_t *rdata, void *target, + isc_mem_t *mctx); /* * Convert an rdata into its C structure representation. * - * XXX Should we have a 'size' parameter as a sanity check on target? - * * Requires: * * 'rdata' is a valid, non-empty rdata. * - * 'target' points to a valid C struct for the class and type. + * 'target' to point to a valid pointer for the type and class. * * Result: * Success + * Resource Limit: Not enough memory */ +void dns_rdata_freestruct(void *source); + +/* + * Free dynamic memory attached to 'source' (if any). + * + * Requires: + * + * 'source' to point to the structure previously filled in by + * dns_rdata_tostruct(). + */ ISC_LANG_ENDDECLS #endif /* DNS_RDATA_H */ diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c index 3f3d0476e6..e9cf23ca77 100644 --- a/lib/dns/rdata.c +++ b/lib/dns/rdata.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: rdata.c,v 1.41 1999/05/05 01:55:08 marka Exp $ */ + /* $Id: rdata.c,v 1.42 1999/05/07 03:24:05 marka Exp $ */ #include @@ -469,7 +469,7 @@ dns_rdata_fromstruct(dns_rdata_t *rdata, dns_rdataclass_t class, } dns_result_t -dns_rdata_tostruct(dns_rdata_t *rdata, void *target) { +dns_rdata_tostruct(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { dns_result_t result = DNS_R_NOTIMPLEMENTED; isc_boolean_t use_default = ISC_FALSE; @@ -483,6 +483,14 @@ dns_rdata_tostruct(dns_rdata_t *rdata, void *target) { return (result); } +void +dns_rdata_freestruct(void *source) { + dns_rdatacommon_t *common = source; + REQUIRE(source != NULL); + + FREESTRUCTSWITCH +} + dns_result_t dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t *source) { int i = 0; diff --git a/lib/dns/rdata/any_255/tsig_250.c b/lib/dns/rdata/any_255/tsig_250.c index 7e996a2644..3085fd3232 100644 --- a/lib/dns/rdata/any_255/tsig_250.c +++ b/lib/dns/rdata/any_255/tsig_250.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: tsig_250.c,v 1.8 1999/05/05 00:18:59 marka Exp $ */ + /* $Id: tsig_250.c,v 1.9 1999/05/07 03:24:05 marka Exp $ */ /* draft-ietf-dnsind-tsig-07.txt */ @@ -294,13 +294,25 @@ fromstruct_any_tsig(dns_rdataclass_t class, dns_rdatatype_t type, } static dns_result_t -tostruct_any_tsig(dns_rdata_t *rdata, void *target) { +tostruct_any_tsig(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 250); REQUIRE(rdata->class == 255); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_any_tsig(void *source) { + dns_rdata_any_tsig_t *tsig = source; + + REQUIRE(source != NULL); + REQUIRE(tsig->common.rdclass == 255); + REQUIRE(tsig->common.rdtype == 250); + REQUIRE(ISC_FALSE); + +} #endif /* RDATA_ANY_255_TSIG_250_C */ diff --git a/lib/dns/rdata/any_255/tsig_250.h b/lib/dns/rdata/any_255/tsig_250.h index 8fd43913c2..4156fb5482 100644 --- a/lib/dns/rdata/any_255/tsig_250.h +++ b/lib/dns/rdata/any_255/tsig_250.h @@ -15,11 +15,11 @@ * SOFTWARE. */ - /* $Id: tsig_250.h,v 1.8 1999/05/05 01:55:08 marka Exp $ */ + /* $Id: tsig_250.h,v 1.9 1999/05/07 03:24:05 marka Exp $ */ /* draft-ietf-dnsind-tsig-07.txt */ -#ifndef RDATA_ANY_255_TSIG_250_H -#define RDATA_ANY_255_TSIG_250_H - -#endif /* RDATA_ANY_255_TSIG_250_H */ +typedef struct dns_rdata_any_tsig { + dns_rdatacommon_t common; + /*XXX*/ +} dns_rdata_any_tsig_t; diff --git a/lib/dns/rdata/generic/afsdb_18.c b/lib/dns/rdata/generic/afsdb_18.c index 01de7756fb..a2969685ed 100644 --- a/lib/dns/rdata/generic/afsdb_18.c +++ b/lib/dns/rdata/generic/afsdb_18.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: afsdb_18.c,v 1.6 1999/05/05 00:18:59 marka Exp $ */ + /* $Id: afsdb_18.c,v 1.7 1999/05/07 03:24:05 marka Exp $ */ /* RFC 1183 */ @@ -179,12 +179,23 @@ fromstruct_afsdb(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_afsdb(dns_rdata_t *rdata, void *target) { +tostruct_afsdb(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 18); + REQUIRE(target != NULL); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_afsdb(void *source) { + dns_rdata_afsdb_t *afsdb = source; + + REQUIRE(source != NULL); + REQUIRE(afsdb->common.rdtype == 18); + REQUIRE(ISC_FALSE); +} #endif /* RDATA_GENERIC_AFSDB_18_C */ diff --git a/lib/dns/rdata/generic/afsdb_18.h b/lib/dns/rdata/generic/afsdb_18.h index 963956dc11..be662b7951 100644 --- a/lib/dns/rdata/generic/afsdb_18.h +++ b/lib/dns/rdata/generic/afsdb_18.h @@ -15,10 +15,11 @@ * SOFTWARE. */ - /* $Id: afsdb_18.h,v 1.6 1999/05/05 01:55:08 marka Exp $ */ + /* $Id: afsdb_18.h,v 1.7 1999/05/07 03:24:05 marka Exp $ */ /* RFC 1183 */ -#ifndef RDATA_GENERIC_AFSDB_18_H -#define RDATA_GENERIC_AFSDB_18_H -#endif /* RDATA_GENERIC_AFSDB_18_H */ +typedef struct dns_rdata_afsdb { + dns_rdatacommon_t common; + /*XXX*/ +} dns_rdata_afsdb_t; diff --git a/lib/dns/rdata/generic/cert_37.c b/lib/dns/rdata/generic/cert_37.c index 1743062133..0d0ccdb3c9 100644 --- a/lib/dns/rdata/generic/cert_37.c +++ b/lib/dns/rdata/generic/cert_37.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: cert_37.c,v 1.6 1999/05/05 00:19:00 marka Exp $ */ + /* $Id: cert_37.c,v 1.7 1999/05/07 03:24:06 marka Exp $ */ /* draft-ietf-dnssec-certs-04.txt */ @@ -169,12 +169,20 @@ fromstruct_cert(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_cert(dns_rdata_t *rdata, void *target) { +tostruct_cert(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 37); + REQUIRE(target != NULL && target == NULL); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_cert(void *target) { + REQUIRE(target != NULL && target != NULL); + REQUIRE(ISC_FALSE); /* XXX */ +} #endif /* RDATA_GENERIC_CERT_37_C */ diff --git a/lib/dns/rdata/generic/cert_37.h b/lib/dns/rdata/generic/cert_37.h index 29f08f85c1..ec080fbd36 100644 --- a/lib/dns/rdata/generic/cert_37.h +++ b/lib/dns/rdata/generic/cert_37.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: cert_37.h,v 1.6 1999/05/05 01:55:08 marka Exp $ */ + /* $Id: cert_37.h,v 1.7 1999/05/07 03:24:06 marka Exp $ */ /* draft-ietf-dnssec-certs-04.txt */ -#ifndef RDATA_GENERIC_CERT_37_H -#define RDATA_GENERIC_CERT_37_H -#endif /* RDATA_GENERIC_CERT_37_H */ diff --git a/lib/dns/rdata/generic/cname_5.c b/lib/dns/rdata/generic/cname_5.c index b478a02e3d..cfa8a65419 100644 --- a/lib/dns/rdata/generic/cname_5.c +++ b/lib/dns/rdata/generic/cname_5.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: cname_5.c,v 1.12 1999/05/05 00:19:00 marka Exp $ */ + /* $Id: cname_5.c,v 1.13 1999/05/07 03:24:06 marka Exp $ */ #ifndef RDATA_GENERIC_CNAME_5_C #define RDATA_GENERIC_CNAME_5_C @@ -140,12 +140,21 @@ fromstruct_cname(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_cname(dns_rdata_t *rdata, void *target) { +tostruct_cname(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 5); + REQUIRE(target != NULL); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_cname(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); +} + #endif /* RDATA_GENERIC_CNAME_5_C */ diff --git a/lib/dns/rdata/generic/cname_5.h b/lib/dns/rdata/generic/cname_5.h index 8857098333..08d9ec7668 100644 --- a/lib/dns/rdata/generic/cname_5.h +++ b/lib/dns/rdata/generic/cname_5.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: cname_5.h,v 1.12 1999/05/05 01:55:08 marka Exp $ */ + /* $Id: cname_5.h,v 1.13 1999/05/07 03:24:06 marka Exp $ */ -#ifndef RDATA_GENERIC_CNAME_5_H -#define RDATA_GENERIC_CNAME_5_H -#endif /* RDATA_GENERIC_CNAME_5_H */ diff --git a/lib/dns/rdata/generic/dname_39.c b/lib/dns/rdata/generic/dname_39.c index 06948f31d3..44075456b9 100644 --- a/lib/dns/rdata/generic/dname_39.c +++ b/lib/dns/rdata/generic/dname_39.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: dname_39.c,v 1.5 1999/05/05 00:19:00 marka Exp $ */ + /* $Id: dname_39.c,v 1.6 1999/05/07 03:24:06 marka Exp $ */ /* draft-ietf-dnsind-dname-02.txt */ @@ -140,12 +140,20 @@ fromstruct_dname(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_dname(dns_rdata_t *rdata, void *target) { +tostruct_dname(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 39); + REQUIRE(target != NULL && target == NULL); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_dname(void *source) { + REQUIRE(source != NULL && source != NULL); + REQUIRE(ISC_FALSE); /* XXX */ +} #endif /* RDATA_GENERIC_DNAME_39_C */ diff --git a/lib/dns/rdata/generic/dname_39.h b/lib/dns/rdata/generic/dname_39.h index f5ad353d7f..0b3d2c2178 100644 --- a/lib/dns/rdata/generic/dname_39.h +++ b/lib/dns/rdata/generic/dname_39.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: dname_39.h,v 1.5 1999/05/05 01:55:09 marka Exp $ */ + /* $Id: dname_39.h,v 1.6 1999/05/07 03:24:06 marka Exp $ */ /* draft-ietf-dnsind-dname-02.txt */ -#ifndef RDATA_GENERIC_DNAME_39_H -#define RDATA_GENERIC_DNAME_39_H -#endif /* RDATA_GENERIC_DNAME_39_H */ diff --git a/lib/dns/rdata/generic/gpos_27.c b/lib/dns/rdata/generic/gpos_27.c index 5f0517b31c..afa90cbaf3 100644 --- a/lib/dns/rdata/generic/gpos_27.c +++ b/lib/dns/rdata/generic/gpos_27.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: gpos_27.c,v 1.3 1999/05/05 00:19:00 marka Exp $ */ + /* $Id: gpos_27.c,v 1.4 1999/05/07 03:24:06 marka Exp $ */ /* RFC 1712 */ @@ -122,12 +122,19 @@ fromstruct_gpos(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_gpos(dns_rdata_t *rdata, void *target) { +tostruct_gpos(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 27); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_gpos(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /* XXX */ +} #endif /* RDATA_GENERIC_GPOS_27_C */ diff --git a/lib/dns/rdata/generic/gpos_27.h b/lib/dns/rdata/generic/gpos_27.h index 914917a2e7..4a67a0f5d0 100644 --- a/lib/dns/rdata/generic/gpos_27.h +++ b/lib/dns/rdata/generic/gpos_27.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: gpos_27.h,v 1.3 1999/05/05 01:55:09 marka Exp $ */ + /* $Id: gpos_27.h,v 1.4 1999/05/07 03:24:06 marka Exp $ */ /* RFC 1712 */ -#ifndef RDATA_GENERIC_GPOS_27_H -#define RDATA_GENERIC_GPOS_27_H -#endif /* RDATA_GENERIC_GPOS_27_H */ diff --git a/lib/dns/rdata/generic/hinfo_13.c b/lib/dns/rdata/generic/hinfo_13.c index 0240238dd5..33c46fcc07 100644 --- a/lib/dns/rdata/generic/hinfo_13.c +++ b/lib/dns/rdata/generic/hinfo_13.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: hinfo_13.c,v 1.11 1999/05/05 00:19:00 marka Exp $ */ + /* $Id: hinfo_13.c,v 1.12 1999/05/07 03:24:07 marka Exp $ */ #ifndef RDATA_GENERIC_HINFO_13_C #define RDATA_GENERIC_HINFO_13_C @@ -112,12 +112,19 @@ fromstruct_hinfo(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_hinfo(dns_rdata_t *rdata, void *target) { +tostruct_hinfo(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 13); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_hinfo(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /* XXX */ +} #endif /* RDATA_GENERIC_HINFO_13_C */ diff --git a/lib/dns/rdata/generic/hinfo_13.h b/lib/dns/rdata/generic/hinfo_13.h index e646babe3b..70dc299584 100644 --- a/lib/dns/rdata/generic/hinfo_13.h +++ b/lib/dns/rdata/generic/hinfo_13.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: hinfo_13.h,v 1.11 1999/05/05 01:55:09 marka Exp $ */ + /* $Id: hinfo_13.h,v 1.12 1999/05/07 03:24:07 marka Exp $ */ -#ifndef RDATA_GENERIC_HINFO_13_H -#define RDATA_GENERIC_HINFO_13_H -#endif /* RDATA_GENERIC_HINFO_13_H */ diff --git a/lib/dns/rdata/generic/isdn_20.c b/lib/dns/rdata/generic/isdn_20.c index e445cffdc3..d051a068b5 100644 --- a/lib/dns/rdata/generic/isdn_20.c +++ b/lib/dns/rdata/generic/isdn_20.c @@ -122,12 +122,19 @@ fromstruct_isdn(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_isdn(dns_rdata_t *rdata, void *target) { +tostruct_isdn(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 20); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_isdn(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_ISDN_20_C */ diff --git a/lib/dns/rdata/generic/isdn_20.h b/lib/dns/rdata/generic/isdn_20.h index b03d6a96bf..0d69b57a52 100644 --- a/lib/dns/rdata/generic/isdn_20.h +++ b/lib/dns/rdata/generic/isdn_20.h @@ -19,6 +19,3 @@ /* RFC 1183 */ -#ifndef RDATA_GENERIC_ISDN_20_H -#define RDATA_GENERIC_ISDN_20_H -#endif /* RDATA_GENERIC_ISDN_20_H */ diff --git a/lib/dns/rdata/generic/key_25.c b/lib/dns/rdata/generic/key_25.c index d20584e2bf..9087724c15 100644 --- a/lib/dns/rdata/generic/key_25.c +++ b/lib/dns/rdata/generic/key_25.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: key_25.c,v 1.4 1999/05/05 00:19:00 marka Exp $ */ + /* $Id: key_25.c,v 1.5 1999/05/07 03:24:07 marka Exp $ */ /* RFC 2065 */ @@ -164,12 +164,19 @@ fromstruct_key(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_key(dns_rdata_t *rdata, void *target) { +tostruct_key(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 25); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_key(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_KEY_25_C */ diff --git a/lib/dns/rdata/generic/key_25.h b/lib/dns/rdata/generic/key_25.h index 8b94cf8c5e..93ed7f3580 100644 --- a/lib/dns/rdata/generic/key_25.h +++ b/lib/dns/rdata/generic/key_25.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: key_25.h,v 1.4 1999/05/05 01:55:09 marka Exp $ */ + /* $Id: key_25.h,v 1.5 1999/05/07 03:24:07 marka Exp $ */ /* RFC 2065 */ -#ifndef RDATA_GENERIC_KEY_25_H -#define RDATA_GENERIC_KEY_25_H -#endif /* RDATA_GENERIC_KEY_25_H */ diff --git a/lib/dns/rdata/generic/loc_29.c b/lib/dns/rdata/generic/loc_29.c index 237a77565c..578532f550 100644 --- a/lib/dns/rdata/generic/loc_29.c +++ b/lib/dns/rdata/generic/loc_29.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: loc_29.c,v 1.3 1999/05/05 00:19:00 marka Exp $ */ + /* $Id: loc_29.c,v 1.4 1999/05/07 03:24:07 marka Exp $ */ /* RFC 1876 */ @@ -576,12 +576,19 @@ fromstruct_loc(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_loc(dns_rdata_t *rdata, void *target) { +tostruct_loc(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 29); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_loc(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_LOC_29_C */ diff --git a/lib/dns/rdata/generic/loc_29.h b/lib/dns/rdata/generic/loc_29.h index d3f10e32c3..daf9b58c63 100644 --- a/lib/dns/rdata/generic/loc_29.h +++ b/lib/dns/rdata/generic/loc_29.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: loc_29.h,v 1.3 1999/05/05 01:55:09 marka Exp $ */ + /* $Id: loc_29.h,v 1.4 1999/05/07 03:24:07 marka Exp $ */ /* RFC 1876 */ -#ifndef RDATA_GENERIC_LOC_29_H -#define RDATA_GENERIC_LOC_29_H -#endif /* RDATA_GENERIC_LOC_29_H */ diff --git a/lib/dns/rdata/generic/mb_7.c b/lib/dns/rdata/generic/mb_7.c index 969b36c196..b22d9061e1 100644 --- a/lib/dns/rdata/generic/mb_7.c +++ b/lib/dns/rdata/generic/mb_7.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: mb_7.c,v 1.12 1999/05/05 00:19:01 marka Exp $ */ + /* $Id: mb_7.c,v 1.13 1999/05/07 03:24:08 marka Exp $ */ #ifndef RDATA_GENERIC_MB_7_C #define RDATA_GENERIC_MB_7_C @@ -140,12 +140,19 @@ fromstruct_mb(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_mb(dns_rdata_t *rdata, void *target) { +tostruct_mb(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 7); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_mb(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_MB_7_C */ diff --git a/lib/dns/rdata/generic/mb_7.h b/lib/dns/rdata/generic/mb_7.h index 2e997c5bb2..1e63197467 100644 --- a/lib/dns/rdata/generic/mb_7.h +++ b/lib/dns/rdata/generic/mb_7.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: mb_7.h,v 1.12 1999/05/05 01:55:09 marka Exp $ */ + /* $Id: mb_7.h,v 1.13 1999/05/07 03:24:08 marka Exp $ */ -#ifndef RDATA_GENERIC_MB_7_H -#define RDATA_GENERIC_MB_7_H -#endif /* RDATA_GENERIC_MB_7_H */ diff --git a/lib/dns/rdata/generic/md_3.c b/lib/dns/rdata/generic/md_3.c index 2e04238e21..086aa4b071 100644 --- a/lib/dns/rdata/generic/md_3.c +++ b/lib/dns/rdata/generic/md_3.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: md_3.c,v 1.12 1999/05/05 00:19:01 marka Exp $ */ + /* $Id: md_3.c,v 1.13 1999/05/07 03:24:08 marka Exp $ */ #ifndef RDATA_GENERIC_MD_3_C #define RDATA_GENERIC_MD_3_C @@ -138,12 +138,19 @@ fromstruct_md(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_md(dns_rdata_t *rdata, void *target) { +tostruct_md(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 3); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_md(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_MD_3_C */ diff --git a/lib/dns/rdata/generic/md_3.h b/lib/dns/rdata/generic/md_3.h index 61582f60ae..fb87174ffb 100644 --- a/lib/dns/rdata/generic/md_3.h +++ b/lib/dns/rdata/generic/md_3.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: md_3.h,v 1.12 1999/05/05 01:55:09 marka Exp $ */ + /* $Id: md_3.h,v 1.13 1999/05/07 03:24:08 marka Exp $ */ -#ifndef RDATA_GENERIC_MD_3_H -#define RDATA_GENERIC_MD_3_H -#endif /* RDATA_GENERIC_MD_3_H */ diff --git a/lib/dns/rdata/generic/mf_4.c b/lib/dns/rdata/generic/mf_4.c index f983d515a5..736c453332 100644 --- a/lib/dns/rdata/generic/mf_4.c +++ b/lib/dns/rdata/generic/mf_4.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: mf_4.c,v 1.11 1999/05/05 00:19:01 marka Exp $ */ + /* $Id: mf_4.c,v 1.12 1999/05/07 03:24:08 marka Exp $ */ #ifndef RDATA_GENERIC_MF_4_C #define RDATA_GENERIC_MF_4_C @@ -138,12 +138,19 @@ fromstruct_mf(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_mf(dns_rdata_t *rdata, void *target) { +tostruct_mf(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 4); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_mf(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_MF_4_C */ diff --git a/lib/dns/rdata/generic/mf_4.h b/lib/dns/rdata/generic/mf_4.h index fe21650193..73a9631226 100644 --- a/lib/dns/rdata/generic/mf_4.h +++ b/lib/dns/rdata/generic/mf_4.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: mf_4.h,v 1.11 1999/05/05 01:55:10 marka Exp $ */ + /* $Id: mf_4.h,v 1.12 1999/05/07 03:24:08 marka Exp $ */ -#ifndef RDATA_GENERIC_MF_4_H -#define RDATA_GENERIC_MF_4_H -#endif /* RDATA_GENERIC_MF_4_H */ diff --git a/lib/dns/rdata/generic/mg_8.c b/lib/dns/rdata/generic/mg_8.c index 9b9c5aad6b..538f6dba4a 100644 --- a/lib/dns/rdata/generic/mg_8.c +++ b/lib/dns/rdata/generic/mg_8.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: mg_8.c,v 1.11 1999/05/05 00:19:01 marka Exp $ */ + /* $Id: mg_8.c,v 1.12 1999/05/07 03:24:08 marka Exp $ */ #ifndef RDATA_GENERIC_MG_8_C #define RDATA_GENERIC_MG_8_C @@ -140,12 +140,19 @@ fromstruct_mg(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_mg(dns_rdata_t *rdata, void *target) { +tostruct_mg(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 8); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_mg(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_MG_8_C */ diff --git a/lib/dns/rdata/generic/mg_8.h b/lib/dns/rdata/generic/mg_8.h index 6eff480fc6..93118fe982 100644 --- a/lib/dns/rdata/generic/mg_8.h +++ b/lib/dns/rdata/generic/mg_8.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: mg_8.h,v 1.11 1999/05/05 01:55:10 marka Exp $ */ + /* $Id: mg_8.h,v 1.12 1999/05/07 03:24:08 marka Exp $ */ -#ifndef RDATA_GENERIC_MG_8_H -#define RDATA_GENERIC_MG_8_H -#endif /* RDATA_GENERIC_MG_8_H */ diff --git a/lib/dns/rdata/generic/minfo_14.c b/lib/dns/rdata/generic/minfo_14.c index 906469ed19..3cb780c677 100644 --- a/lib/dns/rdata/generic/minfo_14.c +++ b/lib/dns/rdata/generic/minfo_14.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: minfo_14.c,v 1.12 1999/05/05 00:19:01 marka Exp $ */ + /* $Id: minfo_14.c,v 1.13 1999/05/07 03:24:09 marka Exp $ */ #ifndef RDATA_GENERIC_MINFO_14_C #define RDATA_GENERIC_MINFO_14_C @@ -186,12 +186,19 @@ fromstruct_minfo(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_minfo(dns_rdata_t *rdata, void *target) { +tostruct_minfo(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 14); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_minfo(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_MINFO_14_C */ diff --git a/lib/dns/rdata/generic/minfo_14.h b/lib/dns/rdata/generic/minfo_14.h index 2091a10ab7..1731efebcd 100644 --- a/lib/dns/rdata/generic/minfo_14.h +++ b/lib/dns/rdata/generic/minfo_14.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: minfo_14.h,v 1.12 1999/05/05 01:55:10 marka Exp $ */ + /* $Id: minfo_14.h,v 1.13 1999/05/07 03:24:09 marka Exp $ */ -#ifndef RDATA_GENERIC_MINFO_14_H -#define RDATA_GENERIC_MINFO_14_H -#endif /* RDATA_GENERIC_MINFO_14_H */ diff --git a/lib/dns/rdata/generic/mr_9.c b/lib/dns/rdata/generic/mr_9.c index 911c0a47e4..b9123ea893 100644 --- a/lib/dns/rdata/generic/mr_9.c +++ b/lib/dns/rdata/generic/mr_9.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: mr_9.c,v 1.11 1999/05/05 00:19:01 marka Exp $ */ + /* $Id: mr_9.c,v 1.12 1999/05/07 03:24:09 marka Exp $ */ #ifndef RDATA_GENERIC_MR_9_C #define RDATA_GENERIC_MR_9_C @@ -140,12 +140,19 @@ fromstruct_mr(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_mr(dns_rdata_t *rdata, void *target) { +tostruct_mr(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 9); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_mr(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_MR_9_C */ diff --git a/lib/dns/rdata/generic/mr_9.h b/lib/dns/rdata/generic/mr_9.h index 79297130b9..b9e787bb65 100644 --- a/lib/dns/rdata/generic/mr_9.h +++ b/lib/dns/rdata/generic/mr_9.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: mr_9.h,v 1.11 1999/05/05 01:55:10 marka Exp $ */ + /* $Id: mr_9.h,v 1.12 1999/05/07 03:24:09 marka Exp $ */ -#ifndef RDATA_GENERIC_MR_9_H -#define RDATA_GENERIC_MR_9_H -#endif /* RDATA_GENERIC_MR_9_H */ diff --git a/lib/dns/rdata/generic/mx_15.c b/lib/dns/rdata/generic/mx_15.c index 413cf52781..b3ad6e16fa 100644 --- a/lib/dns/rdata/generic/mx_15.c +++ b/lib/dns/rdata/generic/mx_15.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: mx_15.c,v 1.14 1999/05/05 00:19:01 marka Exp $ */ + /* $Id: mx_15.c,v 1.15 1999/05/07 03:24:09 marka Exp $ */ #ifndef RDATA_GENERIC_MX_15_C #define RDATA_GENERIC_MX_15_C @@ -177,12 +177,19 @@ fromstruct_mx(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_mx(dns_rdata_t *rdata, void *target) { +tostruct_mx(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 15); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_mx(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_MX_15_C */ diff --git a/lib/dns/rdata/generic/mx_15.h b/lib/dns/rdata/generic/mx_15.h index c4842a50fa..51d6332fae 100644 --- a/lib/dns/rdata/generic/mx_15.h +++ b/lib/dns/rdata/generic/mx_15.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: mx_15.h,v 1.14 1999/05/05 01:55:10 marka Exp $ */ + /* $Id: mx_15.h,v 1.15 1999/05/07 03:24:09 marka Exp $ */ -#ifndef RDATA_GENERIC_MX_15_H -#define RDATA_GENERIC_MX_15_H -#endif /* RDATA_GENERIC_MX_15_H */ diff --git a/lib/dns/rdata/generic/ns_2.c b/lib/dns/rdata/generic/ns_2.c index fc63b26184..24ada6a4f7 100644 --- a/lib/dns/rdata/generic/ns_2.c +++ b/lib/dns/rdata/generic/ns_2.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: ns_2.c,v 1.11 1999/05/05 00:19:02 marka Exp $ */ + /* $Id: ns_2.c,v 1.12 1999/05/07 03:24:09 marka Exp $ */ #ifndef RDATA_GENERIC_NS_2_C #define RDATA_GENERIC_NS_2_C @@ -140,12 +140,29 @@ fromstruct_ns(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_ns(dns_rdata_t *rdata, void *target) { +tostruct_ns(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { + isc_region_t region; + dns_rdata_ns_t *ns = target; REQUIRE(rdata->type == 2); + REQUIRE(target != NULL); - target = target; + mctx = mctx; /*unused*/ - return (DNS_R_NOTIMPLEMENTED); + ns->common.rdclass = rdata->class; + ns->common.rdtype = rdata->type; + ISC_LINK_INIT(&ns->common, link); + + dns_rdata_toregion(rdata, ®ion); + dns_fixedname_init(&ns->name); + dns_name_fromregion(dns_fixedname_name(&ns->name), ®ion); + + return (DNS_R_SUCCESS); +} + +static void +freestruct_ns(void *source) { + REQUIRE(source != NULL); + /* No action required. */ } #endif /* RDATA_GENERIC_NS_2_C */ diff --git a/lib/dns/rdata/generic/ns_2.h b/lib/dns/rdata/generic/ns_2.h index 14e7603eb4..df6abfe203 100644 --- a/lib/dns/rdata/generic/ns_2.h +++ b/lib/dns/rdata/generic/ns_2.h @@ -15,8 +15,10 @@ * SOFTWARE. */ - /* $Id: ns_2.h,v 1.11 1999/05/05 01:55:10 marka Exp $ */ + /* $Id: ns_2.h,v 1.12 1999/05/07 03:24:10 marka Exp $ */ + +typedef struct dns_rdata_ns { + dns_rdatacommon_t common; + dns_fixedname_t name; +} dns_rdata_ns_t; -#ifndef RDATA_GENERIC_NS_2_H -#define RDATA_GENERIC_NS_2_H -#endif /* RDATA_GENERIC_NS_2_H */ diff --git a/lib/dns/rdata/generic/null_10.c b/lib/dns/rdata/generic/null_10.c index 7fc838a2df..18deaf7d26 100644 --- a/lib/dns/rdata/generic/null_10.c +++ b/lib/dns/rdata/generic/null_10.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: null_10.c,v 1.8 1999/05/05 00:19:02 marka Exp $ */ + /* $Id: null_10.c,v 1.9 1999/05/07 03:24:10 marka Exp $ */ #ifndef RDATA_GENERIC_NULL_10_C #define RDATA_GENERIC_NULL_10_C @@ -105,12 +105,24 @@ fromstruct_null(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_null(dns_rdata_t *rdata, void *target) { +tostruct_null(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { + dns_rdata_null_t *null = target; REQUIRE(rdata->type == 10); + REQUIRE(target != NULL); - target = target; + mctx = mctx; - return (DNS_R_NOTIMPLEMENTED); + null->common.rdtype = rdata->type; + null->common.rdclass = rdata->class; + ISC_LINK_INIT(&null->common, link); + + return (DNS_R_SUCCESS); +} + +static void +freestruct_null(void *source) { + REQUIRE(source != NULL); + /* No action required. */ } #endif /* RDATA_GENERIC_NULL_10_C */ diff --git a/lib/dns/rdata/generic/null_10.h b/lib/dns/rdata/generic/null_10.h index 4d1bf9100c..446a2386b4 100644 --- a/lib/dns/rdata/generic/null_10.h +++ b/lib/dns/rdata/generic/null_10.h @@ -15,8 +15,8 @@ * SOFTWARE. */ - /* $Id: null_10.h,v 1.8 1999/05/05 01:55:10 marka Exp $ */ + /* $Id: null_10.h,v 1.9 1999/05/07 03:24:10 marka Exp $ */ -#ifndef RDATA_GENERIC_NULL_10_H -#define RDATA_GENERIC_NULL_10_H -#endif /* RDATA_GENERIC_NULL_10_H */ +typedef struct dns_rdata_null { + dns_rdatacommon_t common; +} dns_rdata_null_t; diff --git a/lib/dns/rdata/generic/nxt_30.c b/lib/dns/rdata/generic/nxt_30.c index ad0677285d..d518767d61 100644 --- a/lib/dns/rdata/generic/nxt_30.c +++ b/lib/dns/rdata/generic/nxt_30.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: nxt_30.c,v 1.8 1999/05/05 00:19:02 marka Exp $ */ + /* $Id: nxt_30.c,v 1.9 1999/05/07 03:24:10 marka Exp $ */ /* RFC 2065 */ @@ -206,12 +206,22 @@ fromstruct_nxt(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_nxt(dns_rdata_t *rdata, void *target) { +tostruct_nxt(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 30); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_nxt(void *source) { + dns_rdata_nxt_t *nxt = source; + + REQUIRE(source != NULL); + REQUIRE(nxt->common.rdtype == 30); + REQUIRE(ISC_FALSE); +} #endif /* RDATA_GENERIC_NXT_30_C */ diff --git a/lib/dns/rdata/generic/nxt_30.h b/lib/dns/rdata/generic/nxt_30.h index 3e7afb3ef8..36aecb0bc7 100644 --- a/lib/dns/rdata/generic/nxt_30.h +++ b/lib/dns/rdata/generic/nxt_30.h @@ -15,10 +15,11 @@ * SOFTWARE. */ - /* $Id: nxt_30.h,v 1.8 1999/05/05 01:55:10 marka Exp $ */ + /* $Id: nxt_30.h,v 1.9 1999/05/07 03:24:10 marka Exp $ */ /* RFC 2065 */ -#ifndef RDATA_GENERIC_NXT_30_H -#define RDATA_GENERIC_NXT_30_H -#endif /* RDATA_GENERIC_NXT_30_H */ +typedef struct dns_rdata_nxt { + dns_rdatacommon_t common; + /*XXX*/ +} dns_rdata_nxt_t; diff --git a/lib/dns/rdata/generic/proforma.c b/lib/dns/rdata/generic/proforma.c index fbfa1d7554..699e7f6efa 100644 --- a/lib/dns/rdata/generic/proforma.c +++ b/lib/dns/rdata/generic/proforma.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: proforma.c,v 1.9 1999/05/05 00:19:02 marka Exp $ */ + /* $Id: proforma.c,v 1.10 1999/05/07 03:24:10 marka Exp $ */ #ifndef RDATA_GENERIC_#_#_C #define RDATA_GENERIC_#_#_C @@ -99,11 +99,21 @@ fromstruct_#(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_#(dns_rdata_t *rdata, void *target) { +tostruct_#(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == #); REQUIRE(rdata->class == #); return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_#(void *source) { + dns_rdata_#_t *# = source; + + REQUIRE(source != NULL); + REQUIRE(#->common.rdtype == #); + REQUIRE(#->common.rdclass == #); + +} #endif /* RDATA_GENERIC_#_#_C */ diff --git a/lib/dns/rdata/generic/proforma.h b/lib/dns/rdata/generic/proforma.h index b0db7f01f7..a0785ed842 100644 --- a/lib/dns/rdata/generic/proforma.h +++ b/lib/dns/rdata/generic/proforma.h @@ -15,8 +15,10 @@ * SOFTWARE. */ - /* $Id: proforma.h,v 1.9 1999/05/05 01:55:11 marka Exp $ */ + /* $Id: proforma.h,v 1.10 1999/05/07 03:24:10 marka Exp $ */ -#ifndef RDATA_GENERIC_#_#_H -#define RDATA_GENERIC_#_#_H -#endif /* RDATA_GENERIC_#_#_H */ +typedef struct dns_rdata_# { + dns_rdatacommon_t common; + isc_mem_t *mctx; /* if required */ + /* type & class specific elements */ +} dns_rdata_#_t; diff --git a/lib/dns/rdata/generic/ptr_12.c b/lib/dns/rdata/generic/ptr_12.c index 451c3aa7f1..a880394105 100644 --- a/lib/dns/rdata/generic/ptr_12.c +++ b/lib/dns/rdata/generic/ptr_12.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: ptr_12.c,v 1.12 1999/05/05 00:19:02 marka Exp $ */ + /* $Id: ptr_12.c,v 1.13 1999/05/07 03:24:10 marka Exp $ */ #ifndef RDATA_GENERIC_PTR_12_C #define RDATA_GENERIC_PTR_12_C @@ -140,12 +140,19 @@ fromstruct_ptr(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_ptr(dns_rdata_t *rdata, void *target) { +tostruct_ptr(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 12); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_ptr(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); +} #endif /* RDATA_GENERIC_PTR_12_C */ diff --git a/lib/dns/rdata/generic/ptr_12.h b/lib/dns/rdata/generic/ptr_12.h index 96e074ea02..16f21b6b1b 100644 --- a/lib/dns/rdata/generic/ptr_12.h +++ b/lib/dns/rdata/generic/ptr_12.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: ptr_12.h,v 1.12 1999/05/05 01:55:11 marka Exp $ */ + /* $Id: ptr_12.h,v 1.13 1999/05/07 03:24:11 marka Exp $ */ -#ifndef RDATA_GENERIC_PTR_12_H -#define RDATA_GENERIC_PTR_12_H -#endif /* RDATA_GENERIC_PTR_12_H */ diff --git a/lib/dns/rdata/generic/rp_17.c b/lib/dns/rdata/generic/rp_17.c index 32fbc80238..866f577b75 100644 --- a/lib/dns/rdata/generic/rp_17.c +++ b/lib/dns/rdata/generic/rp_17.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: rp_17.c,v 1.6 1999/05/05 00:19:02 marka Exp $ */ + /* $Id: rp_17.c,v 1.7 1999/05/07 03:24:11 marka Exp $ */ /* RFC 1183 */ @@ -188,12 +188,19 @@ fromstruct_rp(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_rp(dns_rdata_t *rdata, void *target) { +tostruct_rp(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 17); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_rp(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_RP_17_C */ diff --git a/lib/dns/rdata/generic/rp_17.h b/lib/dns/rdata/generic/rp_17.h index 4abc773e02..6ac8504fd5 100644 --- a/lib/dns/rdata/generic/rp_17.h +++ b/lib/dns/rdata/generic/rp_17.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: rp_17.h,v 1.6 1999/05/05 01:55:11 marka Exp $ */ + /* $Id: rp_17.h,v 1.7 1999/05/07 03:24:11 marka Exp $ */ /* RFC 1183 */ -#ifndef RDATA_GENERIC_RP_17_H -#define RDATA_GENERIC_RP_17_H -#endif /* RDATA_GENERIC_RP_17_H */ diff --git a/lib/dns/rdata/generic/rt_21.c b/lib/dns/rdata/generic/rt_21.c index 07739d78c6..a382a6ca64 100644 --- a/lib/dns/rdata/generic/rt_21.c +++ b/lib/dns/rdata/generic/rt_21.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: rt_21.c,v 1.6 1999/05/05 00:19:02 marka Exp $ */ + /* $Id: rt_21.c,v 1.7 1999/05/07 03:24:11 marka Exp $ */ /* RFC 1183 */ @@ -178,12 +178,19 @@ fromstruct_rt(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_rt(dns_rdata_t *rdata, void *target) { +tostruct_rt(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 21); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_rt(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_RT_21_C */ diff --git a/lib/dns/rdata/generic/rt_21.h b/lib/dns/rdata/generic/rt_21.h index 192290ed8f..93b1a690d2 100644 --- a/lib/dns/rdata/generic/rt_21.h +++ b/lib/dns/rdata/generic/rt_21.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: rt_21.h,v 1.6 1999/05/05 01:55:11 marka Exp $ */ + /* $Id: rt_21.h,v 1.7 1999/05/07 03:24:11 marka Exp $ */ /* RFC 1183 */ -#ifndef RDATA_GENERIC_RT_21_H -#define RDATA_GENERIC_RT_21_H -#endif /* RDATA_GENERIC_RT_21_H */ diff --git a/lib/dns/rdata/generic/sig_24.c b/lib/dns/rdata/generic/sig_24.c index c4d4ee5e6b..3248788839 100644 --- a/lib/dns/rdata/generic/sig_24.c +++ b/lib/dns/rdata/generic/sig_24.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: sig_24.c,v 1.10 1999/05/05 00:19:02 marka Exp $ */ + /* $Id: sig_24.c,v 1.11 1999/05/07 03:24:11 marka Exp $ */ /* RFC 2065 */ @@ -305,12 +305,19 @@ fromstruct_sig(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_sig(dns_rdata_t *rdata, void *target) { +tostruct_sig(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 24); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_sig(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_SIG_24_C */ diff --git a/lib/dns/rdata/generic/sig_24.h b/lib/dns/rdata/generic/sig_24.h index bd3a855674..24b64e127c 100644 --- a/lib/dns/rdata/generic/sig_24.h +++ b/lib/dns/rdata/generic/sig_24.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: sig_24.h,v 1.10 1999/05/05 01:55:11 marka Exp $ */ + /* $Id: sig_24.h,v 1.11 1999/05/07 03:24:11 marka Exp $ */ /* RFC 2065 */ -#ifndef RDATA_GENERIC_SIG_24_H -#define RDATA_GENERIC_SIG_24_H -#endif /* RDATA_GENERIC_SIG_24_H */ diff --git a/lib/dns/rdata/generic/soa_6.c b/lib/dns/rdata/generic/soa_6.c index 6bb3067139..bbbfda3f21 100644 --- a/lib/dns/rdata/generic/soa_6.c +++ b/lib/dns/rdata/generic/soa_6.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: soa_6.c,v 1.16 1999/05/05 00:20:36 marka Exp $ */ + /* $Id: soa_6.c,v 1.17 1999/05/07 03:24:11 marka Exp $ */ #ifndef RDATA_GENERIC_SOA_6_C #define RDATA_GENERIC_SOA_6_C @@ -232,15 +232,18 @@ fromstruct_soa(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_soa(dns_rdata_t *rdata, void *target) { +tostruct_soa(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { isc_region_t region; dns_rdata_soa_t *soa = target; REQUIRE(rdata->type == 6); + REQUIRE(target != NULL); - soa->rdclass = rdata->class; - soa->rdtype = rdata->type; - ISC_LINK_INIT(soa, link); + mctx = mctx; /*unused*/ + + soa->common.rdclass = rdata->class; + soa->common.rdtype = rdata->type; + ISC_LINK_INIT(&soa->common, link); dns_rdata_toregion(rdata, ®ion); dns_fixedname_init(&soa->origin); @@ -263,4 +266,13 @@ tostruct_soa(dns_rdata_t *rdata, void *target) { return (DNS_R_SUCCESS); } + +void +freestruct_soa(void *source) { + dns_rdata_soa_t *soa = source; + + REQUIRE(source != NULL); + REQUIRE(soa->common.rdtype == 6); + /* No action required */ +} #endif /* RDATA_GENERIC_SOA_6_C */ diff --git a/lib/dns/rdata/generic/soa_6.h b/lib/dns/rdata/generic/soa_6.h index 42052da79a..8956609623 100644 --- a/lib/dns/rdata/generic/soa_6.h +++ b/lib/dns/rdata/generic/soa_6.h @@ -15,23 +15,16 @@ * SOFTWARE. */ - /* $Id: soa_6.h,v 1.15 1999/05/05 01:55:11 marka Exp $ */ - -#ifndef RDATA_GENERIC_SOA_6_H -#define RDATA_GENERIC_SOA_6_H + /* $Id: soa_6.h,v 1.16 1999/05/07 03:24:12 marka Exp $ */ typedef struct dns_rdata_soa { - dns_rdataclass_t rdclass; - dns_rdatatype_t rdtype; - ISC_LINK(void) link; - isc_mem_t *mctx; + dns_rdatacommon_t common; dns_fixedname_t origin; dns_fixedname_t mname; - isc_uint32_t serial; - isc_uint32_t refresh; - isc_uint32_t retry; - isc_uint32_t expire; - isc_uint32_t minimum; + isc_uint32_t serial; /* host order */ + isc_uint32_t refresh; /* host order */ + isc_uint32_t retry; /* host order */ + isc_uint32_t expire; /* host order */ + isc_uint32_t minimum; /* host order */ } dns_rdata_soa_t; -#endif /* RDATA_GENERIC_SOA_6_H */ diff --git a/lib/dns/rdata/generic/tkey_249.c b/lib/dns/rdata/generic/tkey_249.c index 08e049edef..bf9d7eb5be 100644 --- a/lib/dns/rdata/generic/tkey_249.c +++ b/lib/dns/rdata/generic/tkey_249.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: tkey_249.c,v 1.8 1999/05/05 00:19:03 marka Exp $ */ + /* $Id: tkey_249.c,v 1.9 1999/05/07 03:24:12 marka Exp $ */ /* draft-ietf-dnssec-tkey-01.txt */ @@ -285,12 +285,19 @@ fromstruct_tkey(dns_rdataclass_t class, dns_rdatatype_t type, } static dns_result_t -tostruct_tkey(dns_rdata_t *rdata, void *target) { +tostruct_tkey(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 249); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_tkey(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_TKEY_249_C */ diff --git a/lib/dns/rdata/generic/tkey_249.h b/lib/dns/rdata/generic/tkey_249.h index ced4433b71..5bbf8dd42f 100644 --- a/lib/dns/rdata/generic/tkey_249.h +++ b/lib/dns/rdata/generic/tkey_249.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: tkey_249.h,v 1.8 1999/05/05 01:55:11 marka Exp $ */ + /* $Id: tkey_249.h,v 1.9 1999/05/07 03:24:12 marka Exp $ */ /* draft-ietf-dnssec-tkey-01.txt */ -#ifndef RDATA_GENERIC_TKEY_249_H -#define RDATA_GENERIC_TKEY_249_H -#endif /* RDATA_GENERIC_TKEY_249_H */ diff --git a/lib/dns/rdata/generic/txt_16.c b/lib/dns/rdata/generic/txt_16.c index 9035beb07e..a91e2f4f90 100644 --- a/lib/dns/rdata/generic/txt_16.c +++ b/lib/dns/rdata/generic/txt_16.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: txt_16.c,v 1.10 1999/05/05 00:19:03 marka Exp $ */ + /* $Id: txt_16.c,v 1.11 1999/05/07 03:24:12 marka Exp $ */ #ifndef RDATA_GENERIC_TXT_16_C #define RDATA_GENERIC_TXT_16_C @@ -133,12 +133,19 @@ fromstruct_txt(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_txt(dns_rdata_t *rdata, void *target) { +tostruct_txt(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 16); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_txt(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); +} #endif /* RDATA_GENERIC_TXT_16_C */ diff --git a/lib/dns/rdata/generic/txt_16.h b/lib/dns/rdata/generic/txt_16.h index 6b9315418a..e8978a6aaa 100644 --- a/lib/dns/rdata/generic/txt_16.h +++ b/lib/dns/rdata/generic/txt_16.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: txt_16.h,v 1.10 1999/05/05 01:55:11 marka Exp $ */ + /* $Id: txt_16.h,v 1.11 1999/05/07 03:24:12 marka Exp $ */ -#ifndef RDATA_GENERIC_TXT_16_H -#define RDATA_GENERIC_TXT_16_H -#endif /* RDATA_GENERIC_TXT_16_H */ diff --git a/lib/dns/rdata/generic/unspec_103.c b/lib/dns/rdata/generic/unspec_103.c index cfd2fca47c..82eb735db4 100644 --- a/lib/dns/rdata/generic/unspec_103.c +++ b/lib/dns/rdata/generic/unspec_103.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: unspec_103.c,v 1.3 1999/05/05 00:19:03 marka Exp $ */ + /* $Id: unspec_103.c,v 1.4 1999/05/07 03:24:12 marka Exp $ */ #ifndef RDATA_GENERIC_UNSPEC_103_C #define RDATA_GENERIC_UNSPEC_103_C @@ -103,12 +103,19 @@ fromstruct_unspec(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_unspec(dns_rdata_t *rdata, void *target) { +tostruct_unspec(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 103); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_unspec(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_UNSPEC_103_C */ diff --git a/lib/dns/rdata/generic/unspec_103.h b/lib/dns/rdata/generic/unspec_103.h index 99799dfe68..4b31f91a58 100644 --- a/lib/dns/rdata/generic/unspec_103.h +++ b/lib/dns/rdata/generic/unspec_103.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: unspec_103.h,v 1.3 1999/05/05 01:55:11 marka Exp $ */ + /* $Id: unspec_103.h,v 1.4 1999/05/07 03:24:12 marka Exp $ */ -#ifndef RDATA_GENERIC_UNSPEC_103_H -#define RDATA_GENERIC_UNSPEC_103_H -#endif /* RDATA_GENERIC_UNSPEC_103_H */ diff --git a/lib/dns/rdata/generic/x25_19.c b/lib/dns/rdata/generic/x25_19.c index 7a08d8c420..d725270c38 100644 --- a/lib/dns/rdata/generic/x25_19.c +++ b/lib/dns/rdata/generic/x25_19.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: x25_19.c,v 1.3 1999/05/05 00:19:03 marka Exp $ */ + /* $Id: x25_19.c,v 1.4 1999/05/07 03:24:12 marka Exp $ */ /* RFC 1183 */ @@ -119,12 +119,19 @@ fromstruct_x25(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_x25(dns_rdata_t *rdata, void *target) { +tostruct_x25(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 19); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_x25(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_GENERIC_X25_19_C */ diff --git a/lib/dns/rdata/generic/x25_19.h b/lib/dns/rdata/generic/x25_19.h index 5a7b707264..fc8e90f1c9 100644 --- a/lib/dns/rdata/generic/x25_19.h +++ b/lib/dns/rdata/generic/x25_19.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: x25_19.h,v 1.3 1999/05/05 01:55:12 marka Exp $ */ + /* $Id: x25_19.h,v 1.4 1999/05/07 03:24:13 marka Exp $ */ /* RFC 1183 */ -#ifndef RDATA_GENERIC_X25_19_H -#define RDATA_GENERIC_X25_19_H -#endif /* RDATA_GENERIC_X25_19_H */ diff --git a/lib/dns/rdata/in_1/a6_38.c b/lib/dns/rdata/in_1/a6_38.c index 1749d791a0..20c60ae68a 100644 --- a/lib/dns/rdata/in_1/a6_38.c +++ b/lib/dns/rdata/in_1/a6_38.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: a6_38.c,v 1.8 1999/05/05 00:19:03 marka Exp $ */ + /* $Id: a6_38.c,v 1.9 1999/05/07 03:24:13 marka Exp $ */ /* draft-ietf-ipngwg-dns-lookups-03.txt */ @@ -263,13 +263,20 @@ fromstruct_in_a6(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_in_a6(dns_rdata_t *rdata, void *target) { +tostruct_in_a6(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 38); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_a6(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_IN_1_A6_38_C */ diff --git a/lib/dns/rdata/in_1/a6_38.h b/lib/dns/rdata/in_1/a6_38.h index c87b387e99..5ab40a9bdb 100644 --- a/lib/dns/rdata/in_1/a6_38.h +++ b/lib/dns/rdata/in_1/a6_38.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: a6_38.h,v 1.8 1999/05/05 01:55:12 marka Exp $ */ + /* $Id: a6_38.h,v 1.9 1999/05/07 03:24:13 marka Exp $ */ /* draft-ietf-ipngwg-dns-lookups-03.txt */ -#ifndef RDATA_IN_1_A6_28_H -#define RDATA_IN_1_A6_28_H -#endif /* RDATA_IN_1_A6_38_H */ diff --git a/lib/dns/rdata/in_1/a_1.c b/lib/dns/rdata/in_1/a_1.c index 11bc579a5e..8246614797 100644 --- a/lib/dns/rdata/in_1/a_1.c +++ b/lib/dns/rdata/in_1/a_1.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: a_1.c,v 1.13 1999/05/05 00:19:03 marka Exp $ */ + /* $Id: a_1.c,v 1.14 1999/05/07 03:24:13 marka Exp $ */ #ifndef RDATA_IN_1_A_1_C #define RDATA_IN_1_A_1_C @@ -152,13 +152,21 @@ fromstruct_in_a(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_in_a(dns_rdata_t *rdata, void *target) { +tostruct_in_a(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 1); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_a(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ + +} #endif /* RDATA_IN_1_A_1_C */ diff --git a/lib/dns/rdata/in_1/a_1.h b/lib/dns/rdata/in_1/a_1.h index 4b007eb711..04178bc9c8 100644 --- a/lib/dns/rdata/in_1/a_1.h +++ b/lib/dns/rdata/in_1/a_1.h @@ -15,17 +15,9 @@ * SOFTWARE. */ - /* $Id: a_1.h,v 1.13 1999/05/05 01:55:12 marka Exp $ */ - -#ifndef RDATA_IN_1_A_1_H -#define RDATA_IN_1_A_1_H + /* $Id: a_1.h,v 1.14 1999/05/07 03:24:13 marka Exp $ */ typedef struct dns_rdata_in_a { - dns_rdataclass_t rdclass; /* host order */ - dns_rdatatype_t rdtype; /* host order */ - ISC_LINK(void) link; - isc_mem_t *mctx; + dns_rdatacommon_t common; isc_uint32_t address; /* network order */ } dns_rdata_in_a_t; - -#endif RDATA_IN_1_A_1_H diff --git a/lib/dns/rdata/in_1/aaaa_28.c b/lib/dns/rdata/in_1/aaaa_28.c index 02508f2707..99c5f16d1c 100644 --- a/lib/dns/rdata/in_1/aaaa_28.c +++ b/lib/dns/rdata/in_1/aaaa_28.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: aaaa_28.c,v 1.7 1999/05/05 00:19:04 marka Exp $ */ + /* $Id: aaaa_28.c,v 1.8 1999/05/07 03:24:13 marka Exp $ */ /* RFC 1886 */ @@ -154,13 +154,20 @@ fromstruct_in_aaaa(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_in_aaaa(dns_rdata_t *rdata, void *target) { +tostruct_in_aaaa(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 28); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_aaaa(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_IN_1_AAAA_28_C */ diff --git a/lib/dns/rdata/in_1/aaaa_28.h b/lib/dns/rdata/in_1/aaaa_28.h index b072a3a15d..5f564357f3 100644 --- a/lib/dns/rdata/in_1/aaaa_28.h +++ b/lib/dns/rdata/in_1/aaaa_28.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: aaaa_28.h,v 1.7 1999/05/05 01:55:12 marka Exp $ */ + /* $Id: aaaa_28.h,v 1.8 1999/05/07 03:24:14 marka Exp $ */ /* RFC 1886 */ -#ifndef RDATA_IN_1_AAAA_28_H -#define RDATA_IN_1_AAAA_28_H -#endif /* RDATA_IN_1_AAAA_28_H */ diff --git a/lib/dns/rdata/in_1/kx_36.c b/lib/dns/rdata/in_1/kx_36.c index b9793850e1..ec3558015c 100644 --- a/lib/dns/rdata/in_1/kx_36.c +++ b/lib/dns/rdata/in_1/kx_36.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: kx_36.c,v 1.6 1999/05/05 00:19:04 marka Exp $ */ + /* $Id: kx_36.c,v 1.7 1999/05/07 03:24:14 marka Exp $ */ /* RFC 2230 */ @@ -168,13 +168,21 @@ fromstruct_in_kx(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_in_kx(dns_rdata_t *rdata, void *target) { +tostruct_in_kx(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 36); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_kx(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); + +} #endif /* RDATA_GENERIC_KX_15_C */ diff --git a/lib/dns/rdata/in_1/kx_36.h b/lib/dns/rdata/in_1/kx_36.h index 96ae174d46..6df51e2be4 100644 --- a/lib/dns/rdata/in_1/kx_36.h +++ b/lib/dns/rdata/in_1/kx_36.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: kx_36.h,v 1.6 1999/05/05 01:55:12 marka Exp $ */ + /* $Id: kx_36.h,v 1.7 1999/05/07 03:24:14 marka Exp $ */ /* RFC 2230 */ -#ifndef RDATA_GENERIC_KX_36_H -#define RDATA_GENERIC_KX_36_H -#endif /* RDATA_GENERIC_KX_15_H */ diff --git a/lib/dns/rdata/in_1/naptr_35.c b/lib/dns/rdata/in_1/naptr_35.c index ac57b22fd6..e31bb2f3a9 100644 --- a/lib/dns/rdata/in_1/naptr_35.c +++ b/lib/dns/rdata/in_1/naptr_35.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: naptr_35.c,v 1.6 1999/05/05 00:19:04 marka Exp $ */ + /* $Id: naptr_35.c,v 1.7 1999/05/07 03:24:14 marka Exp $ */ /* RFC 2168 */ @@ -254,13 +254,20 @@ fromstruct_in_naptr(dns_rdataclass_t class, dns_rdatatype_t type, } static dns_result_t -tostruct_in_naptr(dns_rdata_t *rdata, void *target) { +tostruct_in_naptr(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 35); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_naptr(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); +} #endif /* RDATA_IN_1_NAPTR_35_C */ diff --git a/lib/dns/rdata/in_1/naptr_35.h b/lib/dns/rdata/in_1/naptr_35.h index 221d7ce88a..e8a6bd7691 100644 --- a/lib/dns/rdata/in_1/naptr_35.h +++ b/lib/dns/rdata/in_1/naptr_35.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: naptr_35.h,v 1.6 1999/05/05 01:55:12 marka Exp $ */ + /* $Id: naptr_35.h,v 1.7 1999/05/07 03:24:14 marka Exp $ */ /* RFC 2168 */ -#ifndef RDATA_IN_1_NAPTR_35_H -#define RDATA_IN_1_NAPTR_35_H -#endif /* RDATA_IN_1_NAPTR_35_H */ diff --git a/lib/dns/rdata/in_1/nsap-ptr_23.c b/lib/dns/rdata/in_1/nsap-ptr_23.c index 5ff01bca0d..443c33a727 100644 --- a/lib/dns/rdata/in_1/nsap-ptr_23.c +++ b/lib/dns/rdata/in_1/nsap-ptr_23.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: nsap-ptr_23.c,v 1.5 1999/05/05 00:19:04 marka Exp $ */ + /* $Id: nsap-ptr_23.c,v 1.6 1999/05/07 03:24:14 marka Exp $ */ /* RFC 1348 */ @@ -146,13 +146,20 @@ fromstruct_in_nsap_ptr(dns_rdataclass_t class, dns_rdatatype_t type, } static dns_result_t -tostruct_in_nsap_ptr(dns_rdata_t *rdata, void *target) { +tostruct_in_nsap_ptr(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 23); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_nsap_ptr(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); +} #endif /* RDATA_IN_1_NSAP_PTR_23_C */ diff --git a/lib/dns/rdata/in_1/nsap-ptr_23.h b/lib/dns/rdata/in_1/nsap-ptr_23.h index a69689c7e0..0a99d179a5 100644 --- a/lib/dns/rdata/in_1/nsap-ptr_23.h +++ b/lib/dns/rdata/in_1/nsap-ptr_23.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: nsap-ptr_23.h,v 1.5 1999/05/05 01:55:12 marka Exp $ */ + /* $Id: nsap-ptr_23.h,v 1.6 1999/05/07 03:24:14 marka Exp $ */ /* RFC 1348 */ -#ifndef RDATA_IN_1_NSAP_PTR_23_H -#define RDATA_IN_1_NSAP_PTR_23_H -#endif /* RDATA_IN_1_NSAP_PTR_23_H */ diff --git a/lib/dns/rdata/in_1/nsap_22.c b/lib/dns/rdata/in_1/nsap_22.c index a017235307..6b1fbf8806 100644 --- a/lib/dns/rdata/in_1/nsap_22.c +++ b/lib/dns/rdata/in_1/nsap_22.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: nsap_22.c,v 1.3 1999/05/05 00:19:04 marka Exp $ */ + /* $Id: nsap_22.c,v 1.4 1999/05/07 03:24:14 marka Exp $ */ /* RFC 1706 */ @@ -154,13 +154,20 @@ fromstruct_in_nsap(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_in_nsap(dns_rdata_t *rdata, void *target) { +tostruct_in_nsap(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 22); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_nsap(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_IN_1_NSAP_22_C */ diff --git a/lib/dns/rdata/in_1/nsap_22.h b/lib/dns/rdata/in_1/nsap_22.h index 948ee2d497..b3071caec2 100644 --- a/lib/dns/rdata/in_1/nsap_22.h +++ b/lib/dns/rdata/in_1/nsap_22.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: nsap_22.h,v 1.3 1999/05/05 01:55:12 marka Exp $ */ + /* $Id: nsap_22.h,v 1.4 1999/05/07 03:24:14 marka Exp $ */ /* RFC 1706 */ -#ifndef RDATA_IN_1_NSAP_22_H -#define RDATA_IN_1_NSAP_22_H -#endif /* RDATA_IN_1_NSAP_22_H */ diff --git a/lib/dns/rdata/in_1/px_26.c b/lib/dns/rdata/in_1/px_26.c index 35a58a21e9..4b5036dc5b 100644 --- a/lib/dns/rdata/in_1/px_26.c +++ b/lib/dns/rdata/in_1/px_26.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: px_26.c,v 1.5 1999/05/05 00:19:04 marka Exp $ */ + /* $Id: px_26.c,v 1.6 1999/05/07 03:24:15 marka Exp $ */ /* RFC 2163 */ @@ -210,13 +210,21 @@ fromstruct_in_px(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_in_px(dns_rdata_t *rdata, void *target) { +tostruct_in_px(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 26); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_px(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ + +} #endif /* RDATA_IN_1_PX_26_C */ diff --git a/lib/dns/rdata/in_1/px_26.h b/lib/dns/rdata/in_1/px_26.h index 48f907b5ee..cd5413f0d1 100644 --- a/lib/dns/rdata/in_1/px_26.h +++ b/lib/dns/rdata/in_1/px_26.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: px_26.h,v 1.5 1999/05/05 01:55:13 marka Exp $ */ + /* $Id: px_26.h,v 1.6 1999/05/07 03:24:15 marka Exp $ */ /* RFC 2163 */ -#ifndef RDATA_IN_1_PX_26_H -#define RDATA_IN_1_PX_26_H -#endif /* RDATA_IN_1_PX_26_H */ diff --git a/lib/dns/rdata/in_1/srv_33.c b/lib/dns/rdata/in_1/srv_33.c index 53e594b6e0..84f2445523 100644 --- a/lib/dns/rdata/in_1/srv_33.c +++ b/lib/dns/rdata/in_1/srv_33.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: srv_33.c,v 1.5 1999/05/05 00:19:04 marka Exp $ */ + /* $Id: srv_33.c,v 1.6 1999/05/07 03:24:15 marka Exp $ */ /* RFC 2052 bis */ @@ -199,13 +199,20 @@ fromstruct_in_srv(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_in_srv(dns_rdata_t *rdata, void *target) { +tostruct_in_srv(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 33); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_srv(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_IN_1_SRV_33_C */ diff --git a/lib/dns/rdata/in_1/srv_33.h b/lib/dns/rdata/in_1/srv_33.h index ed3555d71c..d92945d56e 100644 --- a/lib/dns/rdata/in_1/srv_33.h +++ b/lib/dns/rdata/in_1/srv_33.h @@ -15,10 +15,7 @@ * SOFTWARE. */ - /* $Id: srv_33.h,v 1.5 1999/05/05 01:55:13 marka Exp $ */ + /* $Id: srv_33.h,v 1.6 1999/05/07 03:24:15 marka Exp $ */ /* RFC 2052 bis */ -#ifndef RDATA_IN_1_SRV_33_H -#define RDATA_IN_1_SRV_33_H -#endif /* RDATA_IN_1_SRV_33_H */ diff --git a/lib/dns/rdata/in_1/wks_11.c b/lib/dns/rdata/in_1/wks_11.c index 29d3422138..dd36710af9 100644 --- a/lib/dns/rdata/in_1/wks_11.c +++ b/lib/dns/rdata/in_1/wks_11.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: wks_11.c,v 1.9 1999/05/05 00:19:04 marka Exp $ */ + /* $Id: wks_11.c,v 1.10 1999/05/07 03:24:15 marka Exp $ */ #ifndef RDATA_IN_1_WKS_11_C #define RDATA_IN_1_WKS_11_C @@ -226,13 +226,20 @@ fromstruct_in_wks(dns_rdataclass_t class, dns_rdatatype_t type, void *source, } static dns_result_t -tostruct_in_wks(dns_rdata_t *rdata, void *target) { +tostruct_in_wks(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata->type == 11); REQUIRE(rdata->class == 1); target = target; + mctx = mctx; return (DNS_R_NOTIMPLEMENTED); } + +static void +freestruct_in_wks(void *source) { + REQUIRE(source != NULL); + REQUIRE(ISC_FALSE); /*XXX*/ +} #endif /* RDATA_IN_1_WKS_11_C */ diff --git a/lib/dns/rdata/in_1/wks_11.h b/lib/dns/rdata/in_1/wks_11.h index 31499b2db4..51e9f9e633 100644 --- a/lib/dns/rdata/in_1/wks_11.h +++ b/lib/dns/rdata/in_1/wks_11.h @@ -15,8 +15,5 @@ * SOFTWARE. */ - /* $Id: wks_11.h,v 1.9 1999/05/05 01:55:13 marka Exp $ */ + /* $Id: wks_11.h,v 1.10 1999/05/07 03:24:15 marka Exp $ */ -#ifndef RDATA_IN_1_WKS_11_H -#define RDATA_IN_1_WKS_11_H -#endif /* RDATA_IN_1_WKS_11_H */