Lines Matching refs:rd
352 case LDNS_RDF_TYPE_WKS : /* it is the last rd field. */
1174 sldns_str2wire_svcparam_port(const char* val, uint8_t* rd, size_t* rd_len)
1188 sldns_write_uint16(rd, SVCB_KEY_PORT);
1189 sldns_write_uint16(rd + 2, sizeof(uint16_t));
1190 sldns_write_uint16(rd + 4, port);
1200 sldns_str2wire_svcbparam_ipv4hint(const char* val, uint8_t* rd, size_t* rd_len)
1221 sldns_write_uint16(rd, SVCB_KEY_IPV4HINT);
1222 sldns_write_uint16(rd + 2, LDNS_IP4ADDRLEN * count);
1227 if (inet_pton(AF_INET, val, rd + *rd_len) != 1)
1239 if (inet_pton(AF_INET, ip_str, rd + *rd_len) != 1) {
1255 sldns_str2wire_svcbparam_ipv6hint(const char* val, uint8_t* rd, size_t* rd_len)
1276 sldns_write_uint16(rd, SVCB_KEY_IPV6HINT);
1277 sldns_write_uint16(rd + 2, LDNS_IP6ADDRLEN * count);
1282 if (inet_pton(AF_INET6, val, rd + *rd_len) != 1)
1294 if (inet_pton(AF_INET6, ip_str, rd + *rd_len) != 1) {
1317 sldns_str2wire_svcbparam_mandatory(const char* val, uint8_t* rd, size_t* rd_len)
1334 sldns_write_uint16(rd, SVCB_KEY_MANDATORY);
1335 sldns_write_uint16(rd + 2, sizeof(uint16_t) * count);
1348 sldns_write_uint16(rd + *rd_len, svcparamkey);
1358 sldns_write_uint16(rd + *rd_len,
1372 qsort((void *)(rd + 4), count, sizeof(uint16_t), sldns_network_uint16_cmp);
1382 if (sldns_read_uint16(rd + 4) == SVCB_KEY_MANDATORY)
1389 uint8_t* current_pos = (rd + 4 + (sizeof(uint16_t) * i));
1402 sldns_str2wire_svcbparam_ech_value(const char* val, uint8_t* rd, size_t* rd_len)
1411 sldns_write_uint16(rd, SVCB_KEY_ECH);
1412 sldns_write_uint16(rd + 2, 0);
1424 sldns_write_uint16(rd, SVCB_KEY_ECH);
1425 sldns_write_uint16(rd + 2, wire_len);
1426 memcpy(rd + 4, buffer, wire_len);
1477 uint8_t* rd, size_t* rd_len)
1515 sldns_write_uint16(rd, SVCB_KEY_ALPN);
1516 sldns_write_uint16(rd + 2, dst_len);
1517 memcpy(rd + 4, unescaped_dst, dst_len);
1525 uint8_t* rd, size_t* rd_len)
1542 sldns_write_uint16(rd, SVCB_KEY_DOHPATH);
1543 sldns_write_uint16(rd + 2, val_len);
1544 memcpy(rd + 4, val, val_len);
1552 const char *val, uint8_t* rd, size_t* rd_len)
1576 sldns_write_uint16(rd, svcparamkey);
1577 sldns_write_uint16(rd + 2, 0);
1587 return sldns_str2wire_svcparam_port(val, rd, rd_len);
1589 return sldns_str2wire_svcbparam_ipv4hint(val, rd, rd_len);
1591 return sldns_str2wire_svcbparam_ipv6hint(val, rd, rd_len);
1593 return sldns_str2wire_svcbparam_mandatory(val, rd, rd_len);
1599 return sldns_str2wire_svcbparam_ech_value(val, rd, rd_len);
1601 return sldns_str2wire_svcbparam_alpn_value(val, rd, rd_len);
1603 return sldns_str2wire_svcbparam_dohpath_value(val, rd, rd_len);
1608 sldns_write_uint16(rd, svcparamkey);
1609 sldns_write_uint16(rd + 2, str_len);
1610 memcpy(rd + 4, val, str_len);
1619 static int sldns_str2wire_svcparam_buf(const char* str, uint8_t* rd, size_t* rd_len)
1649 unescaped_val[0] ? unescaped_val : NULL, rd, rd_len);
1653 return sldns_str2wire_svcparam_value(str, eq_pos - str, NULL, rd, rd_len);
1657 return sldns_str2wire_svcparam_value(str, strlen(str), NULL, rd, rd_len);
1661 int sldns_str2wire_rdf_buf(const char* str, uint8_t* rd, size_t* len,
1666 return sldns_str2wire_dname_buf(str, rd, len);
1668 return sldns_str2wire_int8_buf(str, rd, len);
1670 return sldns_str2wire_int16_buf(str, rd, len);
1672 return sldns_str2wire_int32_buf(str, rd, len);
1674 return sldns_str2wire_a_buf(str, rd, len);
1676 return sldns_str2wire_aaaa_buf(str, rd, len);
1678 return sldns_str2wire_str_buf(str, rd, len);
1680 return sldns_str2wire_apl_buf(str, rd, len);
1682 return sldns_str2wire_b64_buf(str, rd, len);
1684 return sldns_str2wire_b32_ext_buf(str, rd, len);
1686 return sldns_str2wire_hex_buf(str, rd, len);
1688 return sldns_str2wire_nsec_buf(str, rd, len);
1690 return sldns_str2wire_type_buf(str, rd, len);
1692 return sldns_str2wire_class_buf(str, rd, len);
1694 return sldns_str2wire_cert_alg_buf(str, rd, len);
1696 return sldns_str2wire_alg_buf(str, rd, len);
1698 return sldns_str2wire_time_buf(str, rd, len);
1700 return sldns_str2wire_period_buf(str, rd, len);
1702 return sldns_str2wire_tsigtime_buf(str, rd, len);
1704 return sldns_str2wire_loc_buf(str, rd, len);
1706 return sldns_str2wire_wks_buf(str, rd, len);
1708 return sldns_str2wire_nsap_buf(str, rd, len);
1710 return sldns_str2wire_atma_buf(str, rd, len);
1712 return sldns_str2wire_ipseckey_buf(str, rd, len);
1714 return sldns_str2wire_nsec3_salt_buf(str, rd, len);
1716 return sldns_str2wire_b32_ext_buf(str, rd, len);
1718 return sldns_str2wire_ilnp64_buf(str, rd, len);
1720 return sldns_str2wire_eui48_buf(str, rd, len);
1722 return sldns_str2wire_eui64_buf(str, rd, len);
1724 return sldns_str2wire_unquoted_buf(str, rd, len);
1726 return sldns_str2wire_tag_buf(str, rd, len);
1728 return sldns_str2wire_long_str_buf(str, rd, len);
1730 return sldns_str2wire_tsigerror_buf(str, rd, len);
1732 return sldns_str2wire_hip_buf(str, rd, len);
1734 return sldns_str2wire_int16_data_buf(str, rd, len);
1736 return sldns_str2wire_svcparam_buf(str, rd, len);
1747 int sldns_str2wire_int8_buf(const char* str, uint8_t* rd, size_t* len)
1755 rd[0] = r;
1760 int sldns_str2wire_int16_buf(const char* str, uint8_t* rd, size_t* len)
1768 sldns_write_uint16(rd, r);
1773 int sldns_str2wire_int32_buf(const char* str, uint8_t* rd, size_t* len)
1788 sldns_write_uint32(rd, r);
1793 int sldns_str2wire_a_buf(const char* str, uint8_t* rd, size_t* len)
1800 memmove(rd, &address, sizeof(address));
1805 int sldns_str2wire_aaaa_buf(const char* str, uint8_t* rd, size_t* len)
1813 memmove(rd, address, LDNS_IP6ADDRLEN);
1821 int sldns_str2wire_str_buf(const char* str, uint8_t* rd, size_t* len)
1837 rd[++sl] = ch;
1841 rd[0] = (uint8_t)sl;
1846 int sldns_str2wire_apl_buf(const char* str, uint8_t* rd, size_t* len)
1928 memmove(rd, data, 4+adflength);
1933 int sldns_str2wire_b64_buf(const char* str, uint8_t* rd, size_t* len)
1943 n = sldns_b64_pton(str, rd, *len);
1950 int sldns_str2wire_b32_ext_buf(const char* str, uint8_t* rd, size_t* len)
1957 rd[0] = (uint8_t)sz;
1958 n = sldns_b32_pton_extended_hex(str, slen, rd+1, *len-1);
1976 int sldns_str2wire_hex_buf(const char* str, uint8_t* rd, size_t* len)
1995 rd[dlen/2] = (uint8_t)sldns_hexdigit_to_int(*s++) * 16;
1996 else rd[dlen/2] += (uint8_t)sldns_hexdigit_to_int(*s++);
2005 int sldns_str2wire_nsec_buf(const char* str, uint8_t* rd, size_t* len)
2057 rd[used+0] = (uint8_t)block;
2058 rd[used+1] = (uint8_t)blocklen;
2060 rd[used+2+i] = typebits[block*32+i];
2068 int sldns_str2wire_type_buf(const char* str, uint8_t* rd, size_t* len)
2075 sldns_write_uint16(rd, t);
2080 int sldns_str2wire_class_buf(const char* str, uint8_t* rd, size_t* len)
2087 sldns_write_uint16(rd, c);
2094 int sldns_str2wire_cert_alg_buf(const char* str, uint8_t* rd, size_t* len)
2101 sldns_write_uint16(rd, (uint16_t)lt->id);
2103 int s = sldns_str2wire_int16_buf(str, rd, len);
2105 if(sldns_read_uint16(rd) == 0)
2114 int sldns_str2wire_alg_buf(const char* str, uint8_t* rd, size_t* len)
2120 rd[0] = (uint8_t)lt->id;
2124 return sldns_str2wire_int8_buf(str, rd, len);
2129 int sldns_str2wire_tsigerror_buf(const char* str, uint8_t* rd, size_t* len)
2135 sldns_write_uint16(rd, (uint16_t)lt->id);
2139 return sldns_str2wire_int16_buf(str, rd, len);
2144 int sldns_str2wire_time_buf(const char* str, uint8_t* rd, size_t* len)
2172 sldns_write_uint32(rd, (uint32_t)sldns_mktime_from_utc(&tm));
2180 sldns_write_uint32(rd, l);
2186 int sldns_str2wire_tsigtime_buf(const char* str, uint8_t* rd, size_t* len)
2198 sldns_write_uint16(rd, high);
2199 sldns_write_uint32(rd+2, low);
2204 int sldns_str2wire_period_buf(const char* str, uint8_t* rd, size_t* len)
2216 sldns_write_uint32(rd, p);
2260 int sldns_str2wire_loc_buf(const char* str, uint8_t* rd, size_t* len)
2418 rd[0] = 0;
2419 rd[1] = ((size_b << 4) & 0xf0) | (size_e & 0x0f);
2420 rd[2] = ((horiz_pre_b << 4) & 0xf0) | (horiz_pre_e & 0x0f);
2421 rd[3] = ((vert_pre_b << 4) & 0xf0) | (vert_pre_e & 0x0f);
2422 sldns_write_uint32(rd + 4, latitude);
2423 sldns_write_uint32(rd + 8, longitude);
2424 sldns_write_uint32(rd + 12, altitude);
2440 int sldns_str2wire_wks_buf(const char* str, uint8_t* rd, size_t* len)
2458 if(p) rd[0] = (uint8_t)p->p_proto;
2459 else if(strcasecmp(token, "tcp")==0) rd[0]=6;
2460 else if(strcasecmp(token, "udp")==0) rd[0]=17;
2461 else rd[0] = (uint8_t)atoi(token);
2505 memset(rd+rd_len, 0, 1+(size_t)serv_port/8+1-rd_len);
2508 rd[1+ serv_port/8] |= (1 << (7 - serv_port % 8));
2522 int sldns_str2wire_nsap_buf(const char* str, uint8_t* rd, size_t* len)
2546 rd[dlen/2] = (uint8_t)sldns_hexdigit_to_int(*s++) * 16;
2547 else rd[dlen/2] += sldns_hexdigit_to_int(*s++);
2556 int sldns_str2wire_atma_buf(const char* str, uint8_t* rd, size_t* len)
2569 rd[0] = 0;
2574 rd[0] = 1; /* E.164 format */
2587 rd[dlen+1] = *s++;
2594 rd[0] = 0; /* AESA format */
2607 rd[dlen/2 + 1] = (uint8_t)sldns_hexdigit_to_int(*s++) * 16;
2608 else rd[dlen/2 + 1] += sldns_hexdigit_to_int(*s++);
2617 int sldns_str2wire_ipseckey_buf(const char* str, uint8_t* rd, size_t* len)
2632 rd[0] = (uint8_t)atoi(token);
2637 rd[1] = (uint8_t)atoi(token);
2638 gwtype = rd[1];
2643 rd[2] = (uint8_t)atoi(token);
2658 s = sldns_str2wire_a_buf(token, rd+3, &gwlen);
2663 s = sldns_str2wire_aaaa_buf(token, rd+3, &gwlen);
2668 s = sldns_str2wire_dname_buf(token, rd+3, &gwlen);
2683 rd+3+gwlen, &keylen);
2690 int sldns_str2wire_nsec3_salt_buf(const char* str, uint8_t* rd, size_t* len)
2702 rd[0] = (uint8_t) (salt_length_str / 2);
2706 rd[1+i/2] = (uint8_t)(sldns_hexdigit_to_int(str[i])*16
2712 *len = 1 + (size_t)rd[0];
2716 int sldns_str2wire_ilnp64_buf(const char* str, uint8_t* rd, size_t* len)
2733 memmove(rd, &shorts, sizeof(shorts));
2738 int sldns_str2wire_eui48_buf(const char* str, uint8_t* rd, size_t* len)
2749 rd[0] = a;
2750 rd[1] = b;
2751 rd[2] = c;
2752 rd[3] = d;
2753 rd[4] = e;
2754 rd[5] = f;
2759 int sldns_str2wire_eui64_buf(const char* str, uint8_t* rd, size_t* len)
2770 rd[0] = a;
2771 rd[1] = b;
2772 rd[2] = c;
2773 rd[3] = d;
2774 rd[4] = e;
2775 rd[5] = f;
2776 rd[6] = g;
2777 rd[7] = h;
2782 int sldns_str2wire_unquoted_buf(const char* str, uint8_t* rd, size_t* len)
2784 return sldns_str2wire_str_buf(str, rd, len);
2787 int sldns_str2wire_tag_buf(const char* str, uint8_t* rd, size_t* len)
2800 rd[0] = (uint8_t)slen;
2801 memmove(rd+1, str, slen);
2806 int sldns_str2wire_long_str_buf(const char* str, uint8_t* rd, size_t* len)
2816 rd[length++] = ch;
2824 int sldns_str2wire_hip_buf(const char* str, uint8_t* rd, size_t* len)
2837 rd[1] = (uint8_t)strtol((char*)str, &s, 10);
2850 if((e = sldns_str2wire_hex_buf(s, rd+4, &hitlen)) != 0) {
2858 rd[0] = (uint8_t)hitlen;
2864 if((e = sldns_str2wire_b64_buf(s, rd+4+hitlen, &pklen)) != 0)
2868 sldns_write_uint16(rd+2, (uint16_t)pklen);
2874 int sldns_str2wire_int16_data_buf(const char* str, uint8_t* rd, size_t* len)
2887 sldns_write_uint16(rd, 0);
2897 n = sldns_b64_pton(s, rd+2, (*len)-2);
2900 sldns_write_uint16(rd, (uint16_t)n);