Browse Source

[Fix] Understand utf8 in content-disposition parser

tags/2.6
Vsevolod Stakhov 3 years ago
parent
commit
e0202bf46c
2 changed files with 6 additions and 1 deletions
  1. 1
    1
      src/ragel/content_disposition.rl
  2. 5
    0
      src/ragel/smtp_base.rl

+ 1
- 1
src/ragel/content_disposition.rl View File

@@ -7,7 +7,7 @@
balanced_ccontent := ccontent* ')' @{ fret; };
comment = "(" (FWS? ccontent)* FWS? ")";
CFWS = ((FWS? comment)+ FWS?) | FWS;
qcontent = qtextSMTP | quoted_pairSMTP;
qcontent = qtextSMTP | quoted_pairSMTP | textUTF8;
quoted_string = CFWS?
(DQUOTE
(((FWS? qcontent)* FWS?) >Quoted_Str_Start %Quoted_Str_End)

+ 5
- 0
src/ragel/smtp_base.rl View File

@@ -24,6 +24,11 @@

quoted_pairSMTP = "\\" 32..126;
qtextSMTP = 32..33 | 35..91 | 93..126;
utf8_cont = 0x80..0xbf;
utf8_2c = 0xc0..0xdf utf8_cont;
utf8_3c = 0xe0..0xef utf8_cont utf8_cont;
utf8_4c = 0xf0..0xf7 utf8_cont utf8_cont utf8_cont;
textUTF8 = qtextSMTP | utf8_2c | utf8_3c | utf8_4c;
Atom = atext+;
Dot_string = Atom ("." Atom)*;
dot_atom_text = atext+ ("." atext+)*;

Loading…
Cancel
Save