Lenient parameters parsing

pull/213/head
M66B 1 year ago
parent ed56b9be57
commit 2d4d5b579c

@ -234,12 +234,19 @@ public class ParameterList {
if (type == HeaderTokenizer.Token.EOF) // done
break;
if ((char)type == ';') {
if ((char)type == ';' || type == HeaderTokenizer.Token.ATOM) {
// expect parameter name
tk = h.next();
// tolerate trailing semicolon, even though it violates the spec
if (tk.getType() == HeaderTokenizer.Token.EOF)
break;
if (type == HeaderTokenizer.Token.ATOM)
eu.faircode.email.Log.e("In parameter list <" + s + ">" +
", at " + h.getNextPos() +
", expected ';', allowing \"" +
tk.getValue() + "\"");
else {
tk = h.next();
// tolerate trailing semicolon, even though it violates the spec
if (tk.getType() == HeaderTokenizer.Token.EOF)
break;
}
// parameter name must be a MIME Atom
if (tk.getType() != HeaderTokenizer.Token.ATOM) {
if (!recovered && !eu.faircode.email.BuildConfig.PLAY_STORE_RELEASE)

Loading…
Cancel
Save