dns_rdata_ds_t ds;
uint32_t rdata1, rdata2, rdata3;
const char *datastr = NULL, *keynamestr = NULL, *atstr = NULL;
- unsigned char data[4096];
+ unsigned char data[DNS_RDATA_MAXLENGTH];
isc_buffer_t databuf;
- unsigned char rrdata[4096];
+ unsigned char rrdata[DNS_RDATA_MAXLENGTH];
isc_buffer_t rrdatabuf;
isc_region_t r;
dns_fixedname_t fkeyname;
emit(dns_dsdigest_t dt, bool showall, bool cds, dns_rdata_t *rdata) {
isc_result_t result;
unsigned char buf[DNS_DS_BUFFERSIZE];
- char text_buf[DST_KEY_MAXTEXTSIZE];
+ /* Large enough for the textual form of any DS rdata. */
+ char text_buf[DNS_DS_BUFFERSIZE * 2 + 16];
char name_buf[DNS_NAME_MAXWIRE];
char class_buf[10];
isc_buffer_t textb, nameb, classb;
emits(showall, cds, &rdata);
}
} else {
- unsigned char key_buf[DST_KEY_MAXSIZE];
+ unsigned char key_buf[DNS_RDATA_MAXLENGTH];
dns_rdata_t rdata = DNS_RDATA_INIT;
- loadkey(arg1, key_buf, DST_KEY_MAXSIZE, &rdata);
+ loadkey(arg1, key_buf, sizeof(key_buf), &rdata);
emits(showall, cds, &rdata);
}
emit(dir, &rdata);
}
} else {
- unsigned char key_buf[DST_KEY_MAXSIZE];
+ unsigned char key_buf[DNS_RDATA_MAXLENGTH];
dns_rdata_t rdata = DNS_RDATA_INIT;
- loadkey(argv[isc_commandline_index], key_buf, DST_KEY_MAXSIZE,
+ loadkey(argv[isc_commandline_index], key_buf, sizeof(key_buf),
&rdata);
emit(dir, &rdata);
#include <dns/keymgr.h>
#include <dns/keyvalues.h>
#include <dns/lib.h>
+#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
#include <dns/rdataset.h>
isc_buffer_t *newbuf = NULL;
dns_rdata_t *rdata = NULL;
isc_region_t r;
- uint8_t rdatabuf[DST_KEY_MAXSIZE];
+ uint8_t rdatabuf[DNS_RDATA_MAXLENGTH];
if (rdatalist == NULL) {
fatal("bad KSR file %s(%lu): DNSKEY record "
#include <dns/order.h>
#include <dns/peer.h>
#include <dns/private.h>
+#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
#include <dns/rdataset.h>
dns_rdata_t rdata = DNS_RDATA_INIT;
uint32_t rdata1, rdata2, rdata3;
const char *datastr = NULL, *namestr = NULL;
- unsigned char data[4096];
+ unsigned char data[DNS_RDATA_MAXLENGTH];
isc_buffer_t databuf;
- unsigned char rrdata[4096];
+ unsigned char rrdata[DNS_RDATA_MAXLENGTH];
isc_buffer_t rrdatabuf;
isc_region_t r;
dns_fixedname_t fname;
isc_result_t
dst_key_read_public(const char *filename, int type, isc_mem_t *mctx,
dst_key_t **keyp) {
- uint8_t rdatabuf[DST_KEY_MAXSIZE];
+ uint8_t rdatabuf[DNS_RDATA_MAXLENGTH];
isc_buffer_t b;
dns_fixedname_t name;
isc_lex_t *lex = NULL;
* <algorithm> <key>
*/
- /* 1500 should be large enough for any key */
+ /* Initial token size; the lexer grows it on demand. */
isc_lex_create(mctx, 1500, &lex);
memset(specials, 0, sizeof(specials));
DST_MAX_ALGS = 258,
} dst_algorithm_t;
-/*% A buffer of this size is large enough to hold any key */
-#define DST_KEY_MAXSIZE 1280
-
-/*%
- * A buffer of this size is large enough to hold the textual representation
- * of any key
- */
-#define DST_KEY_MAXTEXTSIZE 2048
-
/*% 'Type' for dst_read_key() */
#define DST_TYPE_KEY 0x1000000 /* KEY key */
#define DST_TYPE_PRIVATE 0x2000000
} else {
isc_buffer_t buf;
dns_rdata_t *rdata = NULL;
- uint8_t rdatabuf[DST_KEY_MAXSIZE];
+ uint8_t rdatabuf[DNS_RDATA_MAXLENGTH];
dns_rdatatype_t rdtype;
/* Parse record */
#include <dns/nta.h>
#include <dns/order.h>
#include <dns/peer.h>
+#include <dns/rdata.h>
#include <dns/rdataset.h>
#include <dns/request.h>
#include <dns/resolver.h>
const dns_name_t *keyname, isc_buffer_t *databuf) {
isc_result_t result;
dns_name_t *name = UNCONST(keyname);
- char rdatabuf[DST_KEY_MAXSIZE];
+ char rdatabuf[DNS_RDATA_MAXLENGTH];
unsigned char digest[DNS_DS_BUFFERSIZE];
dns_rdata_ds_t ds;
dns_rdata_t rdata;
dns_keytag_t *tag) {
isc_result_t result;
dns_rdata_t rdata = DNS_RDATA_INIT;
- unsigned char data[4096];
+ unsigned char data[DNS_RDATA_MAXLENGTH];
isc_buffer_t buffer;
dst_key_t *dstkey = NULL;
bool initial) {
isc_result_t result;
dns_rdata_t rdata = DNS_RDATA_INIT;
- unsigned char data[4096], digest[DNS_DS_BUFFERSIZE];
+ unsigned char data[DNS_RDATA_MAXLENGTH];
+ unsigned char digest[DNS_DS_BUFFERSIZE];
isc_buffer_t buffer;
dns_keytable_t *sr = NULL;
dns_rdata_ds_t ds;
#include <dns/keystore.h>
#include <dns/keyvalues.h>
#include <dns/peer.h>
+#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatatype.h>
#include <dns/rpz.h>
isc_result_t result = ISC_R_SUCCESS;
isc_result_t tresult;
uint32_t rdata1, rdata2, rdata3;
- unsigned char data[4096];
+ unsigned char data[DNS_RDATA_MAXLENGTH];
const char *atstr = NULL;
enum {
INIT_DNSKEY,