mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged V4.1-BUG-FIX to HEAD
38321: Removing unused installer resource file 38322: ALF-14652: Installation: Friendly message about busy Tomcat SSL port should be more exact - Translations from Gloria 38336: Merged DEV to V4.1-BUG-FIX 38212: ALF-13650: Double byte code white spaces in front and at the end of a file name should be removed as the same behaviour of Single byte code white space. Altered Alfresco.util.trim() in order to support double byte code white spaces. 38337: Fixed ALF-14117 "Unable to load 'old version' wiki page if the title is in Japanese" - Regression: The fixes for ALF-6737 & ALF-8427 provided 2 different solutions for the same problem resulting in a double encoding of the page title 38344: ALF-14674: Deployment installer still doesn't work - Use ${installdir.escape_backslashes} instead of ${installdir} 38345: ALF-14824 - About Share - animation on about dialog corrupts screen on iPad 38400: ALF-14438: Accepted patch from BRANCHES/DEV/BELARUS/... with some modifications and using activiti-naming-conventions 38415: ALF-14808 - patched YUI2.9.0 to handle 'touchend' event to correctly hide pop-up menus when a click/touch occurs outside the menu area. 38417: Fix for ALF-14812 and ALF-14813 - evaluator config for Edit Online and Edit Offline actions. 38421: Fix for ALF-14814 - correct height of previewer area when no preview is available. Also improved the handling of Previewer for iOS - skip the WebPreviewer plugin altogether - this removes the unhelpful message about Installing Adobe Flash etc. 38471: ALF-14674: Deployment installer still doesn't work - Correction to use of ${installdir.escape_backslashes} 38540: Corrected use of ?html and ?js_string operators for element ID 38548: ALF-14829 - Removed delay added iPad specific CSS to increase hit area of actions in main and more menus. 38549: ALF-11861: Maintain the same defuault root of WebDav for Alfresco 4.0 as was in pre-4.0 Removed overriding protocols.rootPath property from installer and enterprise overlay versions of alfresco-global.properties so that correct setting in repository.properties is used. 38575: ALF-14504: PostgreSQL: Schema differences upgrading from 3.4.8 to 4.0.2 Allow for primary key alf_node_assoc_pkey to have an optional '1' at the end of its name (PostgreSQL) - for upgrade path 3.4.8 to 4.0.2 38582: ALF-14504: PostgreSQL: Schema differences upgrading from 3.4.8 to 4.0.2 Ignore avm_child_entries PK name differences. 38585: ALF-14599 ftp.ipv6.enabled is configured in alfresco-global by default, but is not injected nor implemented for FTP 38586: Merged V3.4-BUG-FIX to V4.1-BUG-FIX 38354: ALF-14738: Add information to manifests in all war files 38393: ALF-10804: WCM - Using multiple instances of the same TinyMCE plugin in the same form causes configuration inheritance issues - TinyMCE initialization and configuration moved into _createTinyMCE:function() - TinyMCE initialization moved to onLoadContent event callback - TinyMCE settings application uses init() now 38406: ALF-14738: use correct property for build number 38438: ALF-14856: Documents uploaded via WebDAV mount from Windows 7, and copied by a jscript rule are zero-length - Simplified fix. Don't fire on-create-node-trigger if on-content-create-trigger would fire, so that policy.content.update.ignoreEmpty=true is respected - policy.content.update.ignoreEmpty=true now the default as it is required by OSX and Windows 7 38459: ALF-13567: "manager-osx" should be called "Application Manager" inside the installation folder - Fix from Bitrock 38460: ALF-11817: No versioning when modify/save file content via mapped Webdav network drive - parseRequestHeader() now trys harder to parse the "Microsoft-WebDAV-MiniRedir" client's buggy "Lock-Token" header. 38476: Merged DEV to V3.4-BUG-FIX 38475: ALF-14868:CLONE - 'Error 0x80070057: The parameter is incorrect' occurs often during upload of documents via WebDAV Port fix from ALF-14636: Make XML-streaming WebDAV Methods buffer their response in case of transaction retries 38502: ALF-14876: awe.log and share.log were left after uninstalling Alfresco - Fix by Bitrock 38561: Merged V3.4 to V3.4-BUG-FIX 38414: ALF-14402: Merged PATCHES/V3.4.6 to V3.4 38028: ALF-13827: Prevent excessive cache chatter by avoiding replicating the aspects, properties and parent associations caches 38416: (RECORD ONLY) ALF-14852: Merged V3.4-BUG-FIX to V3.4 37835: Fix for ALF-14429 - Recently Modified dashlet takes up to 30 seconds to load after upgrade to Alfresco 3.4.6.23 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@38587 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -23,6 +23,7 @@ import java.util.Set;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationException;
|
||||
import org.alfresco.service.cmr.model.FileInfo;
|
||||
import org.alfresco.service.cmr.model.FileNotFoundException;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
@@ -77,20 +78,47 @@ public class UnlockMethod extends WebDAVMethod
|
||||
strLockTokenHeader = "<" + strLockTokenHeader + ">";
|
||||
}
|
||||
if (strLockTokenHeader.startsWith("<" + WebDAV.OPAQUE_LOCK_TOKEN) && strLockTokenHeader.endsWith(">"))
|
||||
{
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
m_strLockToken = strLockTokenHeader.substring(
|
||||
WebDAV.OPAQUE_LOCK_TOKEN.length() + 1,
|
||||
strLockTokenHeader.length() - 1);
|
||||
}
|
||||
catch (IndexOutOfBoundsException e)
|
||||
{
|
||||
logger.warn("Failed to parse If header: " + strLockTokenHeader);
|
||||
}
|
||||
m_strLockToken = strLockTokenHeader.substring(
|
||||
WebDAV.OPAQUE_LOCK_TOKEN.length() + 1,
|
||||
strLockTokenHeader.length() - 1);
|
||||
}
|
||||
}
|
||||
catch (IndexOutOfBoundsException e)
|
||||
{
|
||||
logger.warn("Failed to parse If header: " + strLockTokenHeader);
|
||||
}
|
||||
}
|
||||
}
|
||||
// ALF-11817 If the header Lock-Token is incorrect (without < and >).
|
||||
else
|
||||
{
|
||||
// Build the lock token.
|
||||
FileInfo lockNodeInfo = null;
|
||||
String userName = null;
|
||||
try
|
||||
{
|
||||
userName = getDAVHelper().getAuthenticationService().getCurrentUserName();
|
||||
lockNodeInfo = getNodeForPath(getRootNodeRef(), getPath(), getServletPath());
|
||||
}
|
||||
catch (AuthenticationException ex)
|
||||
{
|
||||
throw new WebDAVServerException(HttpServletResponse.SC_UNAUTHORIZED);
|
||||
}
|
||||
catch (FileNotFoundException e)
|
||||
{
|
||||
throw new WebDAVServerException(HttpServletResponse.SC_NOT_FOUND);
|
||||
}
|
||||
String buildLockToken = WebDAV.makeLockToken(lockNodeInfo.getNodeRef(), userName);
|
||||
// End build.
|
||||
|
||||
if (strLockTokenHeader.equalsIgnoreCase(buildLockToken))
|
||||
{
|
||||
m_strLockToken = strLockTokenHeader;
|
||||
}
|
||||
}
|
||||
}
|
||||
// If there is no token this is a bad request so send an error back
|
||||
if (m_strLockToken == null)
|
||||
{
|
||||
|
Reference in New Issue
Block a user