View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005351 | SOGo | Web Mail | public | 2021-07-05 14:59 | 2022-03-29 14:43 |
Reporter | atsawin | Assigned To | francis | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Linux | OS | Ubuntu | OS Version | 20.04 |
Product Version | nightly master | ||||
Fixed in Version | 5.6.0 | ||||
Summary | 0005351: JSON encode break with particular text in mail subject | ||||
Description | When mail subject contain double quote follow by some Thai vowel, result JSON won't escape double quote. For example, following subjects are encode correctly: This is a "TEST" --> encoded as "This is a \"TEST\"" Test in "ภาษาไทย" --> encoded as "Test in \"ภาษาไทย\"" However if the double quote character is followed by upper/lower Thai vowel, encode will broken. It won't escape double quote. For example: Broken "ีกุ้งปิ้ง" bar --> encoded as "Broken "ีกุ้งปิ้ง\" bar" Note that there is character U+0E35 after first double quote. This cause sogo won't escape double quote in JSON. This error will cause main page goes blank because JavaScript error while parsing JSON. | ||||
Steps To Reproduce |
| ||||
Additional Information |
Example JSON is in attached file.
| ||||
Tags | json, webmail | ||||
sogo-correct.json (712 bytes)
{"headers": [["To", "hasAttachment", "isFlagged", "Subject", "From", "isRead", "Priority", "RelativeDate", "Size", "Flags", "uid", "isAnswered", "isForwarded"], [[{"name": "it", "email": "it1@test.com"}, {"email": "it2@test.com"}, {"email": "it3@test.com"}], 0, 0, "test31", [{"name": "John Doe", "email": "joke.a@ppteam.net"}], 0, {"name": "Normal", "level": 3}, "13-Aug-20", "7.6 KiB", [], 2, 0, 0], [[{"name": "it3", "email": "it3@test.com"}], 0, 0, "ทดสอบ \"ีกุ้งปิ้ง\" กิ้งปุ้ง", [{"name": "it2", "email": "it2@test.com"}], 0, {"name": "Normal", "level": 3}, "21:42", "2.8 KiB", [], 3, 0, 0]], "threaded": 0, "syncToken": "4-5", "unseenCount": 2, "uids": [3, 2]} sogo-wrong.json (711 bytes)
{"headers": [["To", "hasAttachment", "isFlagged", "Subject", "From", "isRead", "Priority", "RelativeDate", "Size", "Flags", "uid", "isAnswered", "isForwarded"], [[{"name": "it", "email": "it1@test.com"}, {"email": "it2@test.com"}, {"email": "it3@test.com"}], 0, 0, "test31", [{"name": "John Doe", "email": "joke.a@ppteam.net"}], 0, {"name": "Normal", "level": 3}, "13-Aug-20", "7.6 KiB", [], 2, 0, 0], [[{"name": "it3", "email": "it3@test.com"}], 0, 0, "ทดสอบ "ีกุ้งปิ้ง\" กิ้งปุ้ง", [{"name": "it2", "email": "it2@test.com"}], 0, {"name": "Normal", "level": 3}, "21:42", "2.8 KiB", [], 3, 0, 0]], "threaded": 0, "syncToken": "4-5", "unseenCount": 2, "uids": [3, 2]} |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2021-07-05 14:59 | atsawin | New Issue | |
2021-07-05 14:59 | atsawin | Tag Attached: json | |
2021-07-05 14:59 | atsawin | Tag Attached: webmail | |
2021-07-05 14:59 | atsawin | File Added: sogo-correct.json | |
2021-07-05 14:59 | atsawin | File Added: sogo-wrong.json | |
2022-02-11 15:50 | francis | Description Updated | |
2022-02-11 15:50 | francis | Steps to Reproduce Updated | |
2022-03-29 14:40 | francis | Changeset attached | => sogo master a5d18bfc |
2022-03-29 14:40 | francis | Assigned To | => francis |
2022-03-29 14:40 | francis | Resolution | open => fixed |
2022-03-29 14:43 | francis | Status | new => resolved |
2022-03-29 14:43 | francis | Fixed in Version | => 5.6.0 |