*/
static int
sldns_parse_rdf_token(sldns_buffer* strbuf, char* token, size_t token_len,
- int* quoted, int* parens, int* tokquote, size_t* pre_data_pos,
+ int* quoted, int* parens, size_t* pre_data_pos,
const char* delimiters, sldns_rdf_type rdftype, size_t* token_strlen)
{
size_t slen;
token[slen-2] = 0;
slen -= 2;
*quoted = 1;
- *tokquote = 1; /* do not read endquotechar from buffer */
} else if(!*quoted && sldns_rdf_type_maybe_quoted(rdftype) &&
slen >= 2 &&
(token[0] == '"' || token[0] == '\'')) {
token[slen-1] = 0;
slen -= 1;
*quoted = 1;
- *tokquote = 0;
/* rewind buffer over skipped whitespace */
while(sldns_buffer_position(strbuf) > 0 &&
(sldns_buffer_current(strbuf)[-1] == ' ' ||
return 0;
}
slen = strlen(token);
- } else *tokquote = 0;
+ }
*token_strlen = slen;
return 1;
}
/** Add space and one more rdf token onto the existing token string. */
static int
sldns_affix_token(sldns_buffer* strbuf, char* token, size_t* token_len,
- int* quoted, int* parens, int* tokquote, size_t* pre_data_pos,
+ int* quoted, int* parens, size_t* pre_data_pos,
const char* delimiters, sldns_rdf_type rdftype, size_t* token_strlen)
{
size_t addlen = *token_len - *token_strlen;
/* read another token */
addlen = *token_len - *token_strlen;
if(!sldns_parse_rdf_token(strbuf, token+*token_strlen, addlen, quoted,
- parens, tokquote, pre_data_pos, delimiters, rdftype,
- &addstrlen))
+ parens, pre_data_pos, delimiters, rdftype, &addstrlen))
return 0;
(*token_strlen) += addstrlen;
return 1;
const sldns_rr_descriptor *desc = sldns_rr_descript((uint16_t)rr_type);
uint16_t r_cnt, r_min, r_max;
size_t rr_cur_len = dname_len + 10, pre_data_pos, token_strlen;
- int was_unknown_rr_format = 0, parens = 0, status, quoted, tokquote;
+ int was_unknown_rr_format = 0, parens = 0, status, quoted;
const char* delimiters;
sldns_rdf_type rdftype;
/* a desc is always returned */
quoted = rrinternal_get_quoted(strbuf, &delimiters, rdftype);
if(!sldns_parse_rdf_token(strbuf, token, token_len, "ed,
- &parens, &tokquote, &pre_data_pos, delimiters, rdftype,
+ &parens, &pre_data_pos, delimiters, rdftype,
&token_strlen))
break;
/* affix the HIT and PK fields, with a space */
if(!sldns_affix_token(strbuf, token,
&token_len, "ed, &parens,
- &tokquote, &pre_data_pos, delimiters,
+ &pre_data_pos, delimiters,
rdftype, &token_strlen))
break;
if(!sldns_affix_token(strbuf, token,
&token_len, "ed, &parens,
- &tokquote, &pre_data_pos, delimiters,
+ &pre_data_pos, delimiters,
rdftype, &token_strlen))
break;
}
return status;
}
}
- if(quoted && !tokquote) {
- if(sldns_buffer_available(strbuf, 1))
- sldns_buffer_skip(strbuf, 1);
- else break;
- }
}
if(!was_unknown_rr_format && r_cnt+1 < r_min) {
return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_MISSING_VALUE,
txt3. 3600 IN TXT "a b" "bb" " cc c " " "
0474787434000010000100000E10001003612062026262062063632063200120
txt4. 3600 IN TXT "a b" "bb" " cc c " " "
-0474787435000010000100000E10001918546573742D537472696E6722546573742D537472696E6722
-txt5. 3600 IN TXT "Test-String\"Test-String\""
056162626579076578616D706C6503636F6D00001D000100000E1000100067251288B2F08C69741F56009A6E60
abbey.example.com. 3600 IN LOC 40 32 24.716 N 105 04 25.770 W 1208m 600000m 2000m 1m
05616272616D076578616D706C6503636F6D00001D000100000E1000100015572588B2F08C69741F56FFFFFFFB
nosec.example.com. 3600 IN LOC 40 32 00.000 N 105 04 00.000 W 1208m 1m 10000m 1m
086E6F737A68707670076578616D706C6503636F6D00001D000100000E1000100012161288B2F08C69741F56009A6E60
noszhpvp.example.com. 3600 IN LOC 40 32 24.716 N 105 04 25.770 W 1208m 1m 10000m 1m
+0474787435000010000100000E10001918546573742D537472696E6722546573742D537472696E6722
+txt5. 3600 IN TXT "Test-String\"Test-String\""
+0474787436000010000100000E100108FF763D444B494D313B206B3D7273613B20673D2A3B20733D656D61696C3B20683D736861313B20743D733B20703D4D4947664D413047435371475349623344514542415155414134474E4144434269514B42675143333365774B78425A4152534150625439364970572F6B334467644E7546456238393665496638304863567857772B7732472B31735163556A785755534770367954544D456C73366E3774746869786964795269452F61574F793369632F4B2B39323750754379304D315A583251593867566D4F484A6259543371425138746F5172764749657238665171714A497A4F2F4154566248785838422F7A3050736D4749327878714379586B4F77074944415141423B
+txt6. 3600 IN TXT "v=DKIM1; k=rsa; g=*; s=email; h=sha1; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC33ewKxBZARSAPbT96IpW/k3DgdNuFEb896eIf80HcVxWw+w2G+1sQcUjxWUSGp6yTTMEls6n7tthixidyRiE/aWOy3ic/K+927PuCy0M1ZX2QY8gVmOHJbYT3qBQ8toQrvGIer8fQqqJIzO/ATVbHxX8B/z0PsmGI2xxqCyXkOw" "IDAQAB;"