mirror of
https://github.com/moparisthebest/davmail
synced 2024-12-13 19:22:22 -05:00
Caldav: additional fix for CRLF in urlcompname
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1771 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
9b6c21de92
commit
1569081efe
@ -1000,7 +1000,7 @@ public class EwsExchangeSession extends ExchangeSession {
|
||||
permanentUrl = response.get(Field.get("permanenturl").getResponseName());
|
||||
etag = response.get(Field.get("etag").getResponseName());
|
||||
displayName = response.get(Field.get("displayname").getResponseName());
|
||||
itemName = response.get(Field.get("urlcompname").getResponseName());
|
||||
itemName = StringUtil.decodeUrlcompname(response.get(Field.get("urlcompname").getResponseName()));
|
||||
// workaround for missing urlcompname in Exchange 2010
|
||||
if (itemName == null) {
|
||||
itemName = StringUtil.base64ToUrl(itemId.id) + ".EML";
|
||||
@ -1182,9 +1182,6 @@ public class EwsExchangeSession extends ExchangeSession {
|
||||
// workaround for missing urlcompname in Exchange 2010
|
||||
if (itemName == null) {
|
||||
itemName = StringUtil.base64ToUrl(itemId.id) + ".EML";
|
||||
} else if (itemName.indexOf('\n') >= 0) {
|
||||
// encode line feed
|
||||
itemName = itemName.replaceAll("\n", "_x000D__x000A_");
|
||||
}
|
||||
String instancetype = response.get(Field.get("instancetype").getResponseName());
|
||||
boolean isrecurring = "true".equals(response.get(Field.get("isrecurring").getResponseName()));
|
||||
|
@ -144,7 +144,7 @@ public final class StringUtil {
|
||||
private static final Pattern URLENCODED_LT_PATTERN = Pattern.compile("%3C");
|
||||
private static final Pattern URLENCODED_GT_PATTERN = Pattern.compile("%3E");
|
||||
private static final Pattern URLENCODED_QUOTE_PATTERN = Pattern.compile("%22");
|
||||
private static final Pattern URLENCODED_X0D0A_PATTERN = Pattern.compile("\r\n");
|
||||
private static final Pattern URLENCODED_X0D0A_PATTERN = Pattern.compile("\n");
|
||||
private static final Pattern URLENCODED_PERCENT_PATTERN = Pattern.compile("%25");
|
||||
|
||||
private static final Pattern ENCODED_AMP_PATTERN = Pattern.compile("&");
|
||||
@ -351,7 +351,8 @@ public final class StringUtil {
|
||||
if (result.indexOf("%22") >= 0) {
|
||||
result = URLENCODED_QUOTE_PATTERN.matcher(result).replaceAll("\"");
|
||||
}
|
||||
if (result.indexOf("\r\n") >= 0) {
|
||||
// CRLF is replaced with LF in response
|
||||
if (result.indexOf('\n') >= 0) {
|
||||
result = URLENCODED_X0D0A_PATTERN.matcher(result).replaceAll("_x000D__x000A_");
|
||||
}
|
||||
if (result.indexOf("%25") >= 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user