mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-03 08:05:21 +00:00
Add decompression.
This commit is contained in:
@@ -187,7 +187,6 @@ main(int argc, char *argv[]) {
|
||||
dns_rdata_init(&rdata);
|
||||
isc_buffer_init(&dbuf, inbuf, sizeof(inbuf),
|
||||
ISC_BUFFERTYPE_BINARY);
|
||||
RUNTIME_CHECK(dns_compress_init(&cctx, -1, mctx) == DNS_R_SUCCESS);
|
||||
result = dns_rdata_fromtext(&rdata, class, type, lex,
|
||||
NULL, ISC_FALSE, &dbuf, NULL);
|
||||
if (result != DNS_R_SUCCESS) {
|
||||
@@ -195,7 +194,6 @@ main(int argc, char *argv[]) {
|
||||
"dns_rdata_fromtext returned %s(%d)\n",
|
||||
dns_result_totext(result), result);
|
||||
fflush(stdout);
|
||||
dns_compress_invalidate(&cctx);
|
||||
continue;
|
||||
}
|
||||
if (raw) {
|
||||
@@ -214,14 +212,21 @@ main(int argc, char *argv[]) {
|
||||
|
||||
/* Convert to wire and back? */
|
||||
if (wire) {
|
||||
result = dns_compress_init(&cctx, -1, mctx);
|
||||
if (result != DNS_R_SUCCESS) {
|
||||
fprintf(stdout,
|
||||
"dns_compress_init returned %s(%d)\n",
|
||||
dns_result_totext(result), result);
|
||||
continue;
|
||||
}
|
||||
isc_buffer_init(&wbuf, wirebuf, sizeof(wirebuf),
|
||||
ISC_BUFFERTYPE_BINARY);
|
||||
result = dns_rdata_towire(&rdata, &cctx, &wbuf);
|
||||
dns_compress_invalidate(&cctx);
|
||||
if (result != DNS_R_SUCCESS) {
|
||||
fprintf(stdout,
|
||||
"dns_rdata_towire returned %s(%d)\n",
|
||||
dns_result_totext(result), result);
|
||||
dns_compress_invalidate(&cctx);
|
||||
continue;
|
||||
}
|
||||
len = wbuf.used - wbuf.current;
|
||||
@@ -253,14 +258,15 @@ main(int argc, char *argv[]) {
|
||||
dns_rdata_init(&rdata);
|
||||
isc_buffer_init(&dbuf, inbuf, sizeof(inbuf),
|
||||
ISC_BUFFERTYPE_BINARY);
|
||||
dns_decompress_init(&dctx, -1, ISC_FALSE);
|
||||
result = dns_rdata_fromwire(&rdata, class, type, &wbuf,
|
||||
&dctx, ISC_FALSE, &dbuf);
|
||||
dns_decompress_invalidate(&dctx);
|
||||
if (result != DNS_R_SUCCESS) {
|
||||
fprintf(stdout,
|
||||
fprintf(stdout,
|
||||
"dns_rdata_fromwire returned %s(%d)\n",
|
||||
dns_result_totext(result), result);
|
||||
fflush(stdout);
|
||||
dns_compress_invalidate(&cctx);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -289,7 +295,6 @@ main(int argc, char *argv[]) {
|
||||
fprintf(stdout, "\"%.*s\"\n",
|
||||
(int)tbuf.used, (char*)tbuf.base);
|
||||
fflush(stdout);
|
||||
dns_compress_invalidate(&cctx);
|
||||
if (lasttype == type) {
|
||||
fprintf(stdout, "dns_rdata_compare = %d\n",
|
||||
dns_rdata_compare(&rdata, &last));
|
||||
|
Reference in New Issue
Block a user