Lines Matching defs:slen
270 size_t slen = (size_t)sldns_wire2str_pkt_buf(data, len, NULL, 0);
271 char* result = (char*)malloc(slen+1);
273 sldns_wire2str_pkt_buf(data, len, result, slen+1);
279 size_t slen = (size_t)sldns_wire2str_rr_buf(rr, len, NULL, 0);
280 char* result = (char*)malloc(slen+1);
282 sldns_wire2str_rr_buf(rr, len, result, slen+1);
302 size_t slen=(size_t)sldns_wire2str_dname_buf(dname, dname_len, NULL, 0);
303 char* result = (char*)malloc(slen+1);
305 sldns_wire2str_dname_buf(dname, dname_len, result, slen+1);
316 int sldns_wire2str_pkt_buf(uint8_t* d, size_t dlen, char* s, size_t slen)
319 return sldns_wire2str_pkt_scan(&d, &dlen, &s, &slen);
322 int sldns_wire2str_rr_buf(uint8_t* d, size_t dlen, char* s, size_t slen)
325 return sldns_wire2str_rr_scan(&d, &dlen, &s, &slen, NULL, 0, NULL);
328 int sldns_wire2str_rrquestion_buf(uint8_t* d, size_t dlen, char* s, size_t slen)
331 return sldns_wire2str_rrquestion_scan(&d, &dlen, &s, &slen, NULL, 0, NULL);
342 int sldns_wire2str_rr_unknown_buf(uint8_t* d, size_t dlen, char* s, size_t slen)
345 return sldns_wire2str_rr_unknown_scan(&d, &dlen, &s, &slen, NULL, 0, NULL);
349 char* s, size_t slen)
352 return sldns_wire2str_rr_comment_print(&s, &slen, rr, rrlen, dname_len,
356 int sldns_wire2str_type_buf(uint16_t rrtype, char* s, size_t slen)
359 return sldns_wire2str_type_print(&s, &slen, rrtype);
362 int sldns_wire2str_class_buf(uint16_t rrclass, char* s, size_t slen)
365 return sldns_wire2str_class_print(&s, &slen, rrclass);
368 int sldns_wire2str_rcode_buf(int rcode, char* s, size_t slen)
371 return sldns_wire2str_rcode_print(&s, &slen, rcode);
374 int sldns_wire2str_opcode_buf(int opcode, char* s, size_t slen)
377 return sldns_wire2str_opcode_print(&s, &slen, opcode);
380 int sldns_wire2str_dname_buf(uint8_t* d, size_t dlen, char* s, size_t slen)
383 return sldns_wire2str_dname_scan(&d, &dlen, &s, &slen, NULL, 0, NULL);
386 int sldns_str_vprint(char** str, size_t* slen, const char* format, va_list args)
388 int w = vsnprintf(*str, *slen, format, args);
392 } else if((size_t)w >= *slen) {
394 *slen = 0;
397 *slen -= w;
402 int sldns_str_print(char** str, size_t* slen, const char* format, ...)
407 w = sldns_str_vprint(str, slen, format, args);
413 static int print_hex_buf(char** s, size_t* slen, uint8_t* buf, size_t len)
418 (void)sldns_str_print(s, slen, "%c%c", hex[(buf[i]&0xf0)>>4],
426 char** s, size_t* slen)
429 w += sldns_str_print(s, slen, "%s", pref);
430 w += print_hex_buf(s, slen, *d, *dlen);
436 int sldns_wire2str_pkt_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen)
450 w += sldns_wire2str_header_scan(d, dlen, s, slen);
451 w += sldns_str_print(s, slen, "\n");
452 w += sldns_str_print(s, slen, ";; QUESTION SECTION:\n");
454 w += sldns_wire2str_rrquestion_scan(d, dlen, s, slen,
458 w += sldns_str_print(s, slen, "\n");
459 w += sldns_str_print(s, slen, ";; ANSWER SECTION:\n");
461 w += sldns_wire2str_rr_scan(d, dlen, s, slen, pkt, pktlen, &comprloop);
464 w += sldns_str_print(s, slen, "\n");
465 w += sldns_str_print(s, slen, ";; AUTHORITY SECTION:\n");
467 w += sldns_wire2str_rr_scan(d, dlen, s, slen, pkt, pktlen, &comprloop);
470 w += sldns_str_print(s, slen, "\n");
471 w += sldns_str_print(s, slen, ";; ADDITIONAL SECTION:\n");
473 w += sldns_wire2str_rr_scan(d, dlen, s, slen, pkt, pktlen, &comprloop);
477 w += sldns_str_print(s, slen, ";; MSG SIZE rcvd: %d\n", (int)pktlen);
480 d, dlen, s, slen);
481 w += sldns_str_print(s, slen, "\n");
521 int sldns_wire2str_rr_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen,
532 return sldns_wire2str_edns_scan(d, dlen, s, slen, pkt, pktlen);
537 w += sldns_wire2str_dname_scan(d, dlen, s, slen, pkt, pktlen, comprloop);
538 w += sldns_str_print(s, slen, "\t");
546 w += sldns_wire2str_class_print(s, slen, c);
547 w += sldns_str_print(s, slen, "\t");
548 w += sldns_wire2str_type_print(s, slen, t);
549 w += sldns_str_print(s, slen, " ; Error no ttl,rdata\n");
554 return w + sldns_str_print(s, slen, ";Error missing RR\n");
555 w += print_remainder_hex(";Error partial RR 0x", d, dlen, s, slen);
556 return w + sldns_str_print(s, slen, "\n");
559 w += sldns_rr_tcttl_scan(d, dlen, s, slen);
560 w += sldns_str_print(s, slen, "\t");
565 return w + sldns_str_print(s, slen, ";Error missing rdatalen\n");
567 d, dlen, s, slen);
568 return w + sldns_str_print(s, slen, "\n");
575 w += sldns_str_print(s, slen, "\\# %u ", (unsigned)rdlen);
577 return w + sldns_str_print(s, slen, ";Error missing rdata\n");
578 w += print_remainder_hex(";Error partial rdata 0x", d, dlen, s, slen);
579 return w + sldns_str_print(s, slen, "\n");
581 w += sldns_wire2str_rdata_scan(d, &rdlen, s, slen, rrtype, pkt, pktlen,
586 w += sldns_wire2str_rr_comment_print(s, slen, rr, rrlen, dname_off,
588 w += sldns_str_print(s, slen, "\n");
593 size_t* slen, uint8_t* pkt, size_t pktlen, int* comprloop)
597 w += sldns_wire2str_dname_scan(d, dlen, s, slen, pkt, pktlen, comprloop);
598 w += sldns_str_print(s, slen, "\t");
601 return w + sldns_str_print(s, slen, "Error malformed\n");
602 w += print_remainder_hex("Error malformed 0x", d, dlen, s, slen);
603 return w + sldns_str_print(s, slen, "\n");
609 w += sldns_wire2str_class_print(s, slen, c);
610 w += sldns_str_print(s, slen, "\t");
611 w += sldns_wire2str_type_print(s, slen, t);
612 w += sldns_str_print(s, slen, "\n");
617 size_t* slen, uint8_t* pkt, size_t pktlen, int* comprloop)
621 w += sldns_wire2str_dname_scan(d, dlen, s, slen, pkt, pktlen, comprloop);
622 w += sldns_str_print(s, slen, "\t");
623 w += sldns_rr_tcttl_scan(d, dlen, s, slen);
624 w += sldns_str_print(s, slen, "\t");
627 return w + sldns_str_print(s, slen, ";Error missing rdatalen\n");
629 d, dlen, s, slen);
630 return w + sldns_str_print(s, slen, "\n");
637 w += sldns_str_print(s, slen, "\\# %u ", (unsigned)rdlen);
639 return w + sldns_str_print(s, slen, ";Error missing rdata\n");
640 w += print_remainder_hex(";Error partial rdata 0x", d, dlen, s, slen);
641 return w + sldns_str_print(s, slen, "\n");
643 w += sldns_wire2str_rdata_unknown_scan(d, &rdlen, s, slen);
645 w += sldns_str_print(s, slen, "\n");
650 static int rr_comment_dnskey(char** s, size_t* slen, uint8_t* rr,
662 w += sldns_str_print(s, slen, " ;{");
665 w += sldns_str_print(s, slen, "id = %u",
671 w += sldns_str_print(s, slen, " (ksk)");
672 else w += sldns_str_print(s, slen, " (zsk)");
677 w += sldns_str_print(s, slen, ", ");
678 w += sldns_str_print(s, slen, "size = %db",
683 w += sldns_str_print(s, slen, "}");
688 static int rr_comment_rrsig(char** s, size_t* slen, uint8_t* rr,
698 return sldns_str_print(s, slen, " ;{id = %d}",
703 static int rr_comment_nsec3(char** s, size_t* slen, uint8_t* rr,
715 w += sldns_str_print(s, slen, " ;{flags: optout}");
719 int sldns_wire2str_rr_comment_print(char** s, size_t* slen, uint8_t* rr,
723 return rr_comment_dnskey(s, slen, rr, rrlen, dname_off);
725 return rr_comment_rrsig(s, slen, rr, rrlen, dname_off);
727 return rr_comment_nsec3(s, slen, rr, rrlen, dname_off);
733 size_t* slen)
737 w += sldns_str_print(s, slen, ";; ->>HEADER<<- ");
739 return w+sldns_str_print(s, slen, "Error empty packet");
741 return w+print_remainder_hex("Error header too short 0x", d, dlen, s, slen);
744 w += sldns_str_print(s, slen, "opcode: ");
745 w += sldns_wire2str_opcode_print(s, slen, opcode);
746 w += sldns_str_print(s, slen, ", ");
747 w += sldns_str_print(s, slen, "rcode: ");
748 w += sldns_wire2str_rcode_print(s, slen, rcode);
749 w += sldns_str_print(s, slen, ", ");
750 w += sldns_str_print(s, slen, "id: %d\n", (int)LDNS_ID_WIRE(*d));
751 w += sldns_str_print(s, slen, ";; flags:");
752 if(LDNS_QR_WIRE(*d)) w += sldns_str_print(s, slen, " qr");
753 if(LDNS_AA_WIRE(*d)) w += sldns_str_print(s, slen, " aa");
754 if(LDNS_TC_WIRE(*d)) w += sldns_str_print(s, slen, " tc");
755 if(LDNS_RD_WIRE(*d)) w += sldns_str_print(s, slen, " rd");
756 if(LDNS_CD_WIRE(*d)) w += sldns_str_print(s, slen, " cd");
757 if(LDNS_RA_WIRE(*d)) w += sldns_str_print(s, slen, " ra");
758 if(LDNS_AD_WIRE(*d)) w += sldns_str_print(s, slen, " ad");
759 if(LDNS_Z_WIRE(*d)) w += sldns_str_print(s, slen, " z");
760 w += sldns_str_print(s, slen, " ; ");
762 return w+print_remainder_hex("Error header too short 0x", d, dlen, s, slen);
763 w += sldns_str_print(s, slen, "QUERY: %d, ", (int)LDNS_QDCOUNT(*d));
764 w += sldns_str_print(s, slen, "ANSWER: %d, ", (int)LDNS_ANCOUNT(*d));
765 w += sldns_str_print(s, slen, "AUTHORITY: %d, ", (int)LDNS_NSCOUNT(*d));
766 w += sldns_str_print(s, slen, "ADDITIONAL: %d ", (int)LDNS_ARCOUNT(*d));
773 size_t* slen, uint16_t rrtype, uint8_t* pkt, size_t pktlen,
779 size_t origdlen = *dlen, origslen = *slen;
786 return sldns_wire2str_rdata_unknown_scan(d, dlen, s, slen);
798 w += sldns_str_print(s, slen, " ");
799 n = sldns_wire2str_rdf_scan(d, dlen, s, slen, rdftype,
805 *dlen = origdlen; *slen = origslen;
807 s, slen);
818 size_t* slen)
823 w += sldns_str_print(s, slen, "\\# %u", (unsigned)*dlen);
827 w += sldns_str_print(s, slen, " ");
828 w += print_hex_buf(s, slen, *d, *dlen);
835 static int dname_char_print(char** s, size_t* slen, uint8_t c)
838 return sldns_str_print(s, slen, "\\%c", c);
840 return sldns_str_print(s, slen, "\\%03u", (unsigned)c);
842 if(*slen) {
845 (*slen)--;
850 int sldns_wire2str_dname_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen,
866 if(*dlen == 0) return sldns_str_print(s, slen, "ErrorMissingDname");
870 return sldns_str_print(s, slen, ".");
882 return w + sldns_str_print(s, slen,
885 return w + sldns_str_print(s, slen,
891 return w + sldns_str_print(s, slen,
896 return w + sldns_str_print(s, slen,
904 w += sldns_str_print(s, slen,
921 w += sldns_str_print(s, slen,
926 w += dname_char_print(s, slen, *pos++);
933 w += sldns_str_print(s, slen, ".");
938 if(w == 0) w += sldns_str_print(s, slen, ".");
942 int sldns_wire2str_opcode_print(char** s, size_t* slen, int opcode)
946 return sldns_str_print(s, slen, "%s", lt->name);
948 return sldns_str_print(s, slen, "OPCODE%u", (unsigned)opcode);
951 int sldns_wire2str_rcode_print(char** s, size_t* slen, int rcode)
955 return sldns_str_print(s, slen, "%s", lt->name);
957 return sldns_str_print(s, slen, "RCODE%u", (unsigned)rcode);
960 int sldns_wire2str_class_print(char** s, size_t* slen, uint16_t rrclass)
965 return sldns_str_print(s, slen, "%s", lt->name);
967 return sldns_str_print(s, slen, "CLASS%u", (unsigned)rrclass);
970 int sldns_wire2str_type_print(char** s, size_t* slen, uint16_t rrtype)
974 return sldns_str_print(s, slen, "%s", descriptor->_name);
976 return sldns_str_print(s, slen, "TYPE%u", (unsigned)rrtype);
979 int sldns_wire2str_edns_option_code_print(char** s, size_t* slen,
985 return sldns_str_print(s, slen, "%s", lt->name);
987 return sldns_str_print(s, slen, "OPT%u", (unsigned)opcode);
990 int sldns_wire2str_class_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen)
994 if(*dlen < 2) return print_remainder_hex("Error malformed 0x", d, dlen, s, slen);
998 return sldns_wire2str_class_print(s, slen, c);
1001 int sldns_wire2str_type_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen)
1005 if(*dlen < 2) return print_remainder_hex("Error malformed 0x", d, dlen, s, slen);
1009 return sldns_wire2str_type_print(s, slen, t);
1012 int sldns_wire2str_ttl_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen)
1016 if(*dlen < 4) return print_remainder_hex("Error malformed 0x", d, dlen, s, slen);
1020 return sldns_str_print(s, slen, "%u", (unsigned)ttl);
1024 sldns_print_svcparamkey(char** s, size_t* slen, uint16_t svcparamkey)
1027 return sldns_str_print(s, slen, "%s", svcparamkey_strs[svcparamkey]);
1030 return sldns_str_print(s, slen, "key%d", (int)svcparamkey);
1035 size_t* slen, uint16_t data_len, uint8_t* data)
1041 w = sldns_str_print(s, slen, "=%d", (int)sldns_read_uint16(data));
1047 size_t* slen, uint16_t data_len, uint8_t* data)
1059 w += sldns_str_print(s, slen, "=%s", ip_str);
1066 w += sldns_str_print(s, slen, ",%s", ip_str);
1076 size_t* slen, uint16_t data_len, uint8_t* data)
1088 w += sldns_str_print(s, slen, "=%s", ip_str);
1095 w += sldns_str_print(s, slen, ",%s", ip_str);
1105 size_t* slen, uint16_t data_len, uint8_t* data)
1113 w += sldns_str_print(s, slen, "=");
1114 w += sldns_print_svcparamkey(s, slen, sldns_read_uint16(data));
1118 w += sldns_str_print(s, slen, ",");
1119 w += sldns_print_svcparamkey(s, slen, sldns_read_uint16(data));
1127 size_t* slen, uint16_t data_len, uint8_t* data)
1134 w += sldns_str_print(s, slen, "=\"");
1144 w += sldns_str_print(s, slen, "\\\\\\%c", dp[i]);
1147 w += sldns_str_print(s, slen, "\\\\%c", dp[i]);
1150 w += sldns_str_print(s, slen, "\\%03u", (unsigned) dp[i]);
1153 w += sldns_str_print(s, slen, "%c", dp[i]);
1157 w += sldns_str_print(s, slen, "%s", ",");
1159 w += sldns_str_print(s, slen, "\"");
1165 size_t* slen, uint16_t data_len, uint8_t* data)
1172 w += sldns_str_print(s, slen, "=\"");
1174 if ((size = sldns_b64_ntop(data, data_len, *s, *slen)) < 0)
1178 (*slen) -= size;
1180 w += sldns_str_print(s, slen, "\"");
1185 int sldns_wire2str_svcparam_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen)
1205 written_chars += sldns_print_svcparamkey(s, slen, svcparamkey);
1224 r = sldns_wire2str_svcparam_port2str(s, slen, data_len, *d);
1227 r = sldns_wire2str_svcparam_ipv4hint2str(s, slen, data_len, *d);
1230 r = sldns_wire2str_svcparam_ipv6hint2str(s, slen, data_len, *d);
1233 r = sldns_wire2str_svcparam_mandatory2str(s, slen, data_len, *d);
1238 r = sldns_wire2str_svcparam_alpn2str(s, slen, data_len, *d);
1241 r = sldns_wire2str_svcparam_ech2str(s, slen, data_len, *d);
1247 r = sldns_str_print(s, slen, "=\"");
1253 r += sldns_str_print(s, slen, "\\%c", ch);
1256 r += sldns_str_print(s, slen, "\\%03u", (unsigned) ch);
1259 r += sldns_str_print(s, slen, "%c", ch);
1262 r += sldns_str_print(s, slen, "\"");
1274 int sldns_wire2str_rdf_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen,
1282 return sldns_wire2str_dname_scan(d, dlen, s, slen, pkt, pktlen, comprloop);
1284 return sldns_wire2str_int8_scan(d, dlen, s, slen);
1286 return sldns_wire2str_int16_scan(d, dlen, s, slen);
1288 return sldns_wire2str_int32_scan(d, dlen, s, slen);
1290 return sldns_wire2str_period_scan(d, dlen, s, slen);
1292 return sldns_wire2str_tsigtime_scan(d, dlen, s, slen);
1294 return sldns_wire2str_a_scan(d, dlen, s, slen);
1296 return sldns_wire2str_aaaa_scan(d, dlen, s, slen);
1298 return sldns_wire2str_str_scan(d, dlen, s, slen);
1300 return sldns_wire2str_apl_scan(d, dlen, s, slen);
1302 return sldns_wire2str_b32_ext_scan(d, dlen, s, slen);
1304 return sldns_wire2str_b64_scan(d, dlen, s, slen);
1306 return sldns_wire2str_hex_scan(d, dlen, s, slen);
1308 return sldns_wire2str_nsec_scan(d, dlen, s, slen);
1310 return sldns_wire2str_nsec3_salt_scan(d, dlen, s, slen);
1312 return sldns_wire2str_type_scan(d, dlen, s, slen);
1314 return sldns_wire2str_class_scan(d, dlen, s, slen);
1316 return sldns_wire2str_cert_alg_scan(d, dlen, s, slen);
1318 return sldns_wire2str_alg_scan(d, dlen, s, slen);
1320 return sldns_wire2str_unknown_scan(d, dlen, s, slen);
1322 return sldns_wire2str_time_scan(d, dlen, s, slen);
1324 return sldns_wire2str_loc_scan(d, dlen, s, slen);
1327 return sldns_wire2str_wks_scan(d, dlen, s, slen);
1329 return sldns_wire2str_nsap_scan(d, dlen, s, slen);
1331 return sldns_wire2str_atma_scan(d, dlen, s, slen);
1333 return sldns_wire2str_ipseckey_scan(d, dlen, s, slen, pkt,
1336 return sldns_wire2str_hip_scan(d, dlen, s, slen);
1338 return sldns_wire2str_int16_data_scan(d, dlen, s, slen);
1340 return sldns_wire2str_b32_ext_scan(d, dlen, s, slen);
1342 return sldns_wire2str_ilnp64_scan(d, dlen, s, slen);
1344 return sldns_wire2str_eui48_scan(d, dlen, s, slen);
1346 return sldns_wire2str_eui64_scan(d, dlen, s, slen);
1348 return sldns_wire2str_unquoted_scan(d, dlen, s, slen);
1350 return sldns_wire2str_tag_scan(d, dlen, s, slen);
1352 return sldns_wire2str_long_str_scan(d, dlen, s, slen);
1354 return sldns_wire2str_svcparam_scan(d, dlen, s, slen);
1356 return sldns_wire2str_tsigerror_scan(d, dlen, s, slen);