Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong charset used in creating search terms when server supports UTF8 #607

Conversation

ZhongXiaoHong
Copy link

@ZhongXiaoHong ZhongXiaoHong commented Apr 15, 2022

there is a bug ,when i search subject with Chinese character such as “OA系统”. The log print :https://github.com/ZhongXiaoHong/mail/blob/master/bad_comand.txt
The reason for this is that the Chinese character “OA系统” is regarded as ASSCII when the program get the byte array.
see the source code: com.sun.mail.imap.protocol.SearchSequence#subject(SubjectTerm term, String charset)
protected Argument subject(SubjectTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("SUBJECT"); result.writeString(term.getPattern(), charset); return result; }

com.sun.mail.iap.Argument#writeString(java.lang.String, java.lang.String)

public Argument writeString(String s, String charset) throws UnsupportedEncodingException { if (charset == null) { this.writeString(s); } else { this.items.add(new AString(s.getBytes(charset))); } return this; }

com.sun.mail.iap.Argument#writeString(java.lang.String)

public Argument writeString(String s) { this.items.add(new AString(ASCIIUtility.getBytes(s))); return this; }

@jmehrens jmehrens changed the title fix Wrong charset used in creating search terms when server supports UTF8 Jan 23, 2024
@jmehrens
Copy link
Contributor

jmehrens commented Feb 15, 2024

This PR quotes UTF8 strings in SEARCH which, if I'm reading the RFC 3501 and RFC 6855 correctly is not allowed. If I modify the IMAPSearchTest I see:

B3 SEARCH SUBJECT "’系统" ALL

Author doesn't pass the Git ECA Validation Status. The branch is incorrect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Wrong charset used in creating search terms when server supports UTF8
2 participants