mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V4.1-BUG-FIX to HEAD
43196: Merged DEV to V4.1-BUG-FIX 39849: ALF-13301: The value of bpm_reassignable is not converted by JBPM to boolean when we use timer. Flush session before closing JbpmContext. 43199: Temp fix for: ALF-16558 SOLR tracking does not do incremental updates but one single chunk 43201: Fixed ALF-11457 "Send email to user rule can't be created if the User name starts with number" 43210: Fixed ALF-16317 "Labels not displaying full text when creating a rule on a folder with IE8" 43219: Merged DEV to V4.1-BUG-FIX 43213: ALF-13277: CLONE - IMAP: User home space is opened when browsing through Content Folder URL org.alfresco.repo.model.filefolder.FileFolderServiceImpl.getNamePath(NodeRef, NodeRef) method was updated with fix that return an empty list if the root node path is requested. 43226: ALF-15755: Merged DEV to V4.1-BUG-FIX (modified) 43088: If the WebDAV path of a document exceeds 255 characters, documents opened in MSOffice cannot be saved back 1. parseRequestHeaders() method was overrode in AbstractMoveOrCopyMethod class. 2. unlockNodeIfLocked() method was added In MoveMethod. 43232: Fix for ALF-16254 - 'Leave Site' behaviour for group based site membership 43236: Fix for ALF-15236 - JSF - Edit online of html files does not keep the formatting 43239: Removed tabs 43251: ALF-16419: Content uploaded through webdav in win7 adds a write lock, resulting in rules not triggering - Use LockUtils.isLockedAndReadOnly in ActionExecuterAbstractBase 43310: Fix for ALF-16469 *** Solr Indexing - Index for 5M docs, 2M txns, 2TB content, 50k users, 10k groups grows up to 300GB with FTS disabled. Is it expected? - first pass at reducing stored fields in the SOLR index - PATH and secondary parent info 43314: ALF-16575 - Email server does not accept email where Subject ends with a period 43357: ALF-16573: LDAP synchronization fails when a child group has more than one parent - Because AbstractNodeDAOImpl was wrongly recognizing a deadlock as a DuplicateChildNodeNameException - Now it correctly recognizes the PostgreSQL "40P01" SQLSTATE 43359: Merged DEV to V4.1-BUG-FIX 43338: ALF-16515: Error 403 when authenticating against an Active Directory Transaction type for login Web script has been modified to 'readwrite' to introduce a possibility creating missing people in the context of the regular '/api/login' 'LoginBean'. This is necessary for some authentication mechanisms. For example, for Kerberos authentication without SSO git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@43362 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -458,23 +458,52 @@ public abstract class AbstractEmailMessageHandler implements EmailMessageHandler
|
||||
}
|
||||
}
|
||||
|
||||
// Lookup Table for dubious characters.
|
||||
final static String[][] dubiousChars = new String[][] { { "\\", "%5c" },
|
||||
{ "/", "%2f" },
|
||||
{ "*", "%2a" },
|
||||
{ "|", "%7c" },
|
||||
{ ":", "%3a" },
|
||||
{ "\"", "%22" },
|
||||
{ "<", "%3c" },
|
||||
{ ">", "%3e" },
|
||||
{ "?", "%3f" }};
|
||||
|
||||
/**
|
||||
* Replaces characters \/*|:"<>?. on their hex values. Subject field is used as name of the content, so we need to replace characters that are forbidden in content names.
|
||||
*
|
||||
* @param subject String representing subject
|
||||
* @return Encoded string
|
||||
* Subject field is used as name of the content, so we need to replace characters that are forbidden in file names.
|
||||
*
|
||||
* Trims whitespace
|
||||
*
|
||||
* Replaces characters \/*|:"<>? with their hex values.
|
||||
*
|
||||
* @param subject the string of the email subject
|
||||
*
|
||||
** @return filename
|
||||
*/
|
||||
// MER Removed . * , { ".", "%2e" }
|
||||
public static String encodeSubject(String subject)
|
||||
{
|
||||
String result = subject.trim();
|
||||
String[][] s = new String[][] { { "\\", "%5c" }, { "/", "%2f" }, { "*", "%2a" }, { "|", "%7c" }, { ":", "%3a" }, { "\"", "%22" }, { "<", "%3c" }, { ">", "%3e" },
|
||||
{ "?", "%3f" }};
|
||||
|
||||
for (int i = 0; i < s.length; i++)
|
||||
|
||||
public static String encodeSubject(String subject)
|
||||
{
|
||||
|
||||
// MER Removed . * , { ".", "%2e" }
|
||||
|
||||
// Filename regex from model is (.*[\"\*\\\>\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)
|
||||
//Strip whitespace
|
||||
String result = subject.trim();
|
||||
|
||||
// replace dubious chars
|
||||
for (int i = 0; i < dubiousChars.length; i++)
|
||||
{
|
||||
result = result.replace(s[i][0], s[i][1]);
|
||||
result = result.replace(dubiousChars[i][0], dubiousChars[i][1]);
|
||||
}
|
||||
|
||||
// Replace trailing "." with %2e
|
||||
if(result.endsWith("."))
|
||||
{
|
||||
result = result.substring(0, result.length() -1) + "%2e";
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
Reference in New Issue
Block a user