Lines Matching refs:str

41 static int sldns_str2wire_dname_buf_rel(const char* str, uint8_t* buf,
50 len = strlen((char*)str);
60 if (1 == len && *str == '.') {
81 for (s = str; *s; s++, q++) {
140 int sldns_str2wire_dname_buf(const char* str, uint8_t* buf, size_t* len)
142 return sldns_str2wire_dname_buf_rel(str, buf, len, NULL);
145 int sldns_str2wire_dname_buf_origin(const char* str, uint8_t* buf, size_t* len,
150 int s = sldns_str2wire_dname_buf_rel(str, buf, &dlen, &rel);
171 uint8_t* sldns_str2wire_dname(const char* str, size_t* len)
175 if(sldns_str2wire_dname_buf(str, dname, len) == 0) {
456 /* copy hex chars into hex str (2 chars per byte) */
897 sldns_str2wire_rr_buf_internal(const char* str, uint8_t* rr, size_t* len,
910 sldns_buffer_init_frm_data(&strbuf, (uint8_t*)str, strlen(str));
946 int sldns_str2wire_rr_buf(const char* str, uint8_t* rr, size_t* len,
950 return sldns_str2wire_rr_buf_internal(str, rr, len, dname_len,
954 int sldns_str2wire_rr_question_buf(const char* str, uint8_t* rr, size_t* len,
958 return sldns_str2wire_rr_buf_internal(str, rr, len, dname_len,
1618 static int sldns_str2wire_svcparam_buf(const char* str, uint8_t* rd, size_t* rd_len)
1625 eq_pos = strchr(str, '=');
1647 return sldns_str2wire_svcparam_value(str, eq_pos - str,
1652 return sldns_str2wire_svcparam_value(str, eq_pos - str, NULL, rd, rd_len);
1656 return sldns_str2wire_svcparam_value(str, strlen(str), NULL, rd, rd_len);
1660 int sldns_str2wire_rdf_buf(const char* str, uint8_t* rd, size_t* len,
1665 return sldns_str2wire_dname_buf(str, rd, len);
1667 return sldns_str2wire_int8_buf(str, rd, len);
1669 return sldns_str2wire_int16_buf(str, rd, len);
1671 return sldns_str2wire_int32_buf(str, rd, len);
1673 return sldns_str2wire_a_buf(str, rd, len);
1675 return sldns_str2wire_aaaa_buf(str, rd, len);
1677 return sldns_str2wire_str_buf(str, rd, len);
1679 return sldns_str2wire_apl_buf(str, rd, len);
1681 return sldns_str2wire_b64_buf(str, rd, len);
1683 return sldns_str2wire_b32_ext_buf(str, rd, len);
1685 return sldns_str2wire_hex_buf(str, rd, len);
1687 return sldns_str2wire_nsec_buf(str, rd, len);
1689 return sldns_str2wire_type_buf(str, rd, len);
1691 return sldns_str2wire_class_buf(str, rd, len);
1693 return sldns_str2wire_cert_alg_buf(str, rd, len);
1695 return sldns_str2wire_alg_buf(str, rd, len);
1697 return sldns_str2wire_time_buf(str, rd, len);
1699 return sldns_str2wire_period_buf(str, rd, len);
1701 return sldns_str2wire_tsigtime_buf(str, rd, len);
1703 return sldns_str2wire_loc_buf(str, rd, len);
1705 return sldns_str2wire_wks_buf(str, rd, len);
1707 return sldns_str2wire_nsap_buf(str, rd, len);
1709 return sldns_str2wire_atma_buf(str, rd, len);
1711 return sldns_str2wire_ipseckey_buf(str, rd, len);
1713 return sldns_str2wire_nsec3_salt_buf(str, rd, len);
1715 return sldns_str2wire_b32_ext_buf(str, rd, len);
1717 return sldns_str2wire_ilnp64_buf(str, rd, len);
1719 return sldns_str2wire_eui48_buf(str, rd, len);
1721 return sldns_str2wire_eui64_buf(str, rd, len);
1723 return sldns_str2wire_tag_buf(str, rd, len);
1725 return sldns_str2wire_long_str_buf(str, rd, len);
1727 return sldns_str2wire_tsigerror_buf(str, rd, len);
1729 return sldns_str2wire_hip_buf(str, rd, len);
1731 return sldns_str2wire_int16_data_buf(str, rd, len);
1733 return sldns_str2wire_svcparam_buf(str, rd, len);
1744 int sldns_str2wire_int8_buf(const char* str, uint8_t* rd, size_t* len)
1747 uint8_t r = (uint8_t)strtol((char*)str, &end, 10);
1749 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_INT, end-(char*)str);
1757 int sldns_str2wire_int16_buf(const char* str, uint8_t* rd, size_t* len)
1760 uint16_t r = (uint16_t)strtol((char*)str, &end, 10);
1762 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_INT, end-(char*)str);
1770 int sldns_str2wire_int32_buf(const char* str, uint8_t* rd, size_t* len)
1776 if(*str == '-')
1777 r = (uint32_t)strtol((char*)str, &end, 10);
1778 else r = (uint32_t)strtoul((char*)str, &end, 10);
1780 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_INT, end-(char*)str);
1790 int sldns_str2wire_a_buf(const char* str, uint8_t* rd, size_t* len)
1793 if(inet_pton(AF_INET, (char*)str, &address) != 1)
1802 int sldns_str2wire_aaaa_buf(const char* str, uint8_t* rd, size_t* len)
1806 if(inet_pton(AF_INET6, (char*)str, address) != 1)
1818 int sldns_str2wire_str_buf(const char* str, uint8_t* rd, size_t* len)
1822 const char* s = str;
1830 return RET_ERR(LDNS_WIREPARSE_ERR_INVALID_STR, s-str);
1833 s-str);
1843 int sldns_str2wire_apl_buf(const char* str, uint8_t* rd, size_t* len)
1845 const char *my_str = str;
1930 int sldns_str2wire_b64_buf(const char* str, uint8_t* rd, size_t* len)
1932 size_t sz = sldns_b64_pton_calculate_size(strlen(str));
1934 if(strcmp(str, "0") == 0) {
1940 n = sldns_b64_pton(str, rd, *len);
1947 int sldns_str2wire_b32_ext_buf(const char* str, uint8_t* rd, size_t* len)
1949 size_t slen = strlen(str);
1955 n = sldns_b32_pton_extended_hex(str, slen, rd+1, *len-1);
1964 sldns_is_last_of_string(const char* str)
1966 if(*str == 0) return 1;
1967 while(isspace((unsigned char)*str))
1968 str++;
1969 if(*str == 0) return 1;
1973 int sldns_str2wire_hex_buf(const char* str, uint8_t* rd, size_t* len)
1975 const char* s = str;
1987 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_HEX, s-str);
1990 s-str);
1997 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_HEX, s-str);
2002 int sldns_str2wire_nsec_buf(const char* str, uint8_t* rd, size_t* len)
2015 sldns_buffer_init_frm_data(&strbuf, (uint8_t*)str, strlen(str));
2065 int sldns_str2wire_type_buf(const char* str, uint8_t* rd, size_t* len)
2067 uint16_t t = sldns_get_rr_type_by_name(str);
2068 if(t == 0 && strcmp(str, "TYPE0") != 0)
2077 int sldns_str2wire_class_buf(const char* str, uint8_t* rd, size_t* len)
2079 uint16_t c = sldns_get_rr_class_by_name(str);
2080 if(c == 0 && strcmp(str, "CLASS0") != 0)
2091 int sldns_str2wire_cert_alg_buf(const char* str, uint8_t* rd, size_t* len)
2094 str);
2100 int s = sldns_str2wire_int16_buf(str, rd, len);
2111 int sldns_str2wire_alg_buf(const char* str, uint8_t* rd, size_t* len)
2113 sldns_lookup_table *lt = sldns_lookup_by_name(sldns_algorithms, str);
2121 return sldns_str2wire_int8_buf(str, rd, len);
2126 int sldns_str2wire_tsigerror_buf(const char* str, uint8_t* rd, size_t* len)
2128 sldns_lookup_table *lt = sldns_lookup_by_name(sldns_tsig_errors, str);
2136 return sldns_str2wire_int16_buf(str, rd, len);
2141 int sldns_str2wire_time_buf(const char* str, uint8_t* rd, size_t* len)
2150 if (strlen(str) == 14 && sscanf(str, "%4d%2d%2d%2d%2d%2d",
2173 uint32_t l = (uint32_t)strtol((char*)str, &end, 10);
2176 end-(char*)str);
2183 int sldns_str2wire_tsigtime_buf(const char* str, uint8_t* rd, size_t* len)
2186 uint64_t t = (uint64_t)strtol((char*)str, &end, 10);
2190 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_TIME, end-str);
2201 int sldns_str2wire_period_buf(const char* str, uint8_t* rd, size_t* len)
2205 uint32_t p = sldns_str2period(str, &end, &overflow);
2207 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_PERIOD, end-str);
2210 end-str);
2257 int sldns_str2wire_loc_buf(const char* str, uint8_t* rd, size_t* len)
2276 char *my_str = (char *) str;
2437 int sldns_str2wire_wks_buf(const char* str, uint8_t* rd, size_t* len)
2443 sldns_buffer_init_frm_data(&strbuf, (uint8_t*)str, strlen(str));
2519 int sldns_str2wire_nsap_buf(const char* str, uint8_t* rd, size_t* len)
2521 const char* s = str;
2538 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_HEX, s-str);
2541 s-str);
2548 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_HEX, s-str);
2553 int sldns_str2wire_atma_buf(const char* str, uint8_t* rd, size_t* len)
2555 const char* s = str;
2556 size_t slen = strlen(str);
2569 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_HEX, s-str);
2572 s-str);
2579 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_HEX, s-str);
2584 int sldns_str2wire_ipseckey_buf(const char* str, uint8_t* rd, size_t* len)
2591 sldns_buffer_init_frm_data(&strbuf, (uint8_t*)str, strlen(str));
2657 int sldns_str2wire_nsec3_salt_buf(const char* str, uint8_t* rd, size_t* len)
2659 int i, salt_length_str = (int)strlen(str);
2660 if (salt_length_str == 1 && str[0] == '-') {
2671 if (isxdigit((unsigned char)str[i]) &&
2672 isxdigit((unsigned char)str[i+1])) {
2673 rd[1+i/2] = (uint8_t)(sldns_hexdigit_to_int(str[i])*16
2674 + sldns_hexdigit_to_int(str[i+1]));
2683 int sldns_str2wire_ilnp64_buf(const char* str, uint8_t* rd, size_t* len)
2691 if (sscanf(str, "%4x:%4x:%4x:%4x%n", &a, &b, &c, &d, &l) != 4 ||
2692 l != (int)strlen(str) || /* more data to read */
2693 strpbrk(str, "+-") /* signed hexes */
2705 int sldns_str2wire_eui48_buf(const char* str, uint8_t* rd, size_t* len)
2712 if (sscanf(str, "%2x-%2x-%2x-%2x-%2x-%2x%n",
2714 l != (int)strlen(str))
2726 int sldns_str2wire_eui64_buf(const char* str, uint8_t* rd, size_t* len)
2733 if (sscanf(str, "%2x-%2x-%2x-%2x-%2x-%2x-%2x-%2x%n",
2735 l != (int)strlen(str))
2749 int sldns_str2wire_tag_buf(const char* str, uint8_t* rd, size_t* len)
2751 size_t slen = strlen(str);
2758 for (ptr = str; *ptr; ptr++) {
2760 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_TAG, ptr-str);
2763 memmove(rd+1, str, slen);
2768 int sldns_str2wire_long_str_buf(const char* str, uint8_t* rd, size_t* len)
2771 const char* pstr = str;
2786 int sldns_str2wire_hip_buf(const char* str, uint8_t* rd, size_t* len)
2799 rd[1] = (uint8_t)strtol((char*)str, &s, 10);
2801 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_INT, s-(char*)str);
2809 if(!end) return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX, s-(char*)str);
2814 return RET_ERR_SHIFT(e, s-(char*)str);
2818 return RET_ERR(LDNS_WIREPARSE_ERR_LABEL_OVERFLOW, s-(char*)str+255*2);
2827 return RET_ERR_SHIFT(e, s-(char*)str);
2829 return RET_ERR(LDNS_WIREPARSE_ERR_LABEL_OVERFLOW, s-(char*)str+65535);
2836 int sldns_str2wire_int16_data_buf(const char* str, uint8_t* rd, size_t* len)
2840 n = strtol(str, &s, 10);
2854 return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_INT, s-(char*)str);