mirror of
				https://github.com/Alfresco/alfresco-community-repo.git
				synced 2025-10-29 15:21:53 +00:00 
			
		
		
		
	Compare commits
	
		
			12 Commits
		
	
	
		
			release/23
			...
			23.7.0.3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | e779057f23 | ||
|  | 49ee9f8f29 | ||
|  | 213886cedd | ||
|  | eceb7c0eb3 | ||
|  | 8cd46d4585 | ||
|  | 11d71e1941 | ||
|  | 353d50a35c | ||
|  | 2daafc711d | ||
|  | dfa94fbe21 | ||
|  | 4a93aec66b | ||
|  | 3f0bbc9844 | ||
|  | cb9ad42101 | 
| @@ -7,7 +7,7 @@ | |||||||
|    <parent> |    <parent> | ||||||
|       <groupId>org.alfresco</groupId> |       <groupId>org.alfresco</groupId> | ||||||
|       <artifactId>alfresco-community-repo-amps</artifactId> |       <artifactId>alfresco-community-repo-amps</artifactId> | ||||||
|       <version>23.6.0.33</version> |       <version>23.7.0.3</version> | ||||||
|    </parent> |    </parent> | ||||||
|  |  | ||||||
|    <modules> |    <modules> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|    <parent> |    <parent> | ||||||
|       <groupId>org.alfresco</groupId> |       <groupId>org.alfresco</groupId> | ||||||
|       <artifactId>alfresco-governance-services-community-parent</artifactId> |       <artifactId>alfresco-governance-services-community-parent</artifactId> | ||||||
|       <version>23.6.0.33</version> |       <version>23.7.0.3</version> | ||||||
|    </parent> |    </parent> | ||||||
|  |  | ||||||
|    <modules> |    <modules> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|    <parent> |    <parent> | ||||||
|       <groupId>org.alfresco</groupId> |       <groupId>org.alfresco</groupId> | ||||||
|       <artifactId>alfresco-governance-services-automation-community-repo</artifactId> |       <artifactId>alfresco-governance-services-automation-community-repo</artifactId> | ||||||
|       <version>23.6.0.33</version> |       <version>23.7.0.3</version> | ||||||
|    </parent> |    </parent> | ||||||
|  |  | ||||||
|    <build> |    <build> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|    <parent> |    <parent> | ||||||
|       <groupId>org.alfresco</groupId> |       <groupId>org.alfresco</groupId> | ||||||
|       <artifactId>alfresco-governance-services-community-parent</artifactId> |       <artifactId>alfresco-governance-services-community-parent</artifactId> | ||||||
|       <version>23.6.0.33</version> |       <version>23.7.0.3</version> | ||||||
|    </parent> |    </parent> | ||||||
|  |  | ||||||
|    <modules> |    <modules> | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ | |||||||
|    <parent> |    <parent> | ||||||
|       <groupId>org.alfresco</groupId> |       <groupId>org.alfresco</groupId> | ||||||
|       <artifactId>alfresco-governance-services-community-repo-parent</artifactId> |       <artifactId>alfresco-governance-services-community-repo-parent</artifactId> | ||||||
|       <version>23.6.0.33</version> |       <version>23.7.0.3</version> | ||||||
|    </parent> |    </parent> | ||||||
|  |  | ||||||
|    <properties> |    <properties> | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|  |  | ||||||
| # Version label | # Version label | ||||||
| version.major=23 | version.major=23 | ||||||
| version.minor=6 | version.minor=7 | ||||||
| version.revision=0 | version.revision=0 | ||||||
| version.label= | version.label= | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-governance-services-community-repo-parent</artifactId> |         <artifactId>alfresco-governance-services-community-repo-parent</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <build> |     <build> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo</artifactId> |         <artifactId>alfresco-community-repo</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <modules> |     <modules> | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-amps</artifactId> |         <artifactId>alfresco-community-repo-amps</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <properties> |     <properties> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|    <parent> |    <parent> | ||||||
|       <groupId>org.alfresco</groupId> |       <groupId>org.alfresco</groupId> | ||||||
|       <artifactId>alfresco-community-repo</artifactId> |       <artifactId>alfresco-community-repo</artifactId> | ||||||
|       <version>23.6.0.33</version> |       <version>23.7.0.3</version> | ||||||
|    </parent> |    </parent> | ||||||
|  |  | ||||||
|    <dependencies> |    <dependencies> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo</artifactId> |         <artifactId>alfresco-community-repo</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <properties> |     <properties> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo</artifactId> |         <artifactId>alfresco-community-repo</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <dependencies> |     <dependencies> | ||||||
|   | |||||||
| @@ -9,6 +9,6 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-packaging</artifactId> |         <artifactId>alfresco-community-repo-packaging</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
| </project> | </project> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-packaging</artifactId> |         <artifactId>alfresco-community-repo-packaging</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <properties> |     <properties> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo</artifactId> |         <artifactId>alfresco-community-repo</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <modules> |     <modules> | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-packaging</artifactId> |         <artifactId>alfresco-community-repo-packaging</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <modules> |     <modules> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-tests</artifactId> |         <artifactId>alfresco-community-repo-tests</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <organization> |     <organization> | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-tests</artifactId> |         <artifactId>alfresco-community-repo-tests</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <developers> |     <developers> | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-tests</artifactId> |         <artifactId>alfresco-community-repo-tests</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <developers> |     <developers> | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-tests</artifactId> |         <artifactId>alfresco-community-repo-tests</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <properties> |     <properties> | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-tests</artifactId> |         <artifactId>alfresco-community-repo-tests</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <developers> |     <developers> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo-packaging</artifactId> |         <artifactId>alfresco-community-repo-packaging</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <properties> |     <properties> | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								pom.xml
									
									
									
									
									
								
							| @@ -2,7 +2,7 @@ | |||||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|     <modelVersion>4.0.0</modelVersion> |     <modelVersion>4.0.0</modelVersion> | ||||||
|     <artifactId>alfresco-community-repo</artifactId> |     <artifactId>alfresco-community-repo</artifactId> | ||||||
|     <version>23.6.0.33</version> |     <version>23.7.0.3</version> | ||||||
|     <packaging>pom</packaging> |     <packaging>pom</packaging> | ||||||
|     <name>Alfresco Community Repo Parent</name> |     <name>Alfresco Community Repo Parent</name> | ||||||
|  |  | ||||||
| @@ -24,7 +24,7 @@ | |||||||
|  |  | ||||||
|     <properties> |     <properties> | ||||||
|         <acs.version.major>23</acs.version.major> |         <acs.version.major>23</acs.version.major> | ||||||
|         <acs.version.minor>6</acs.version.minor> |         <acs.version.minor>7</acs.version.minor> | ||||||
|         <acs.version.revision>0</acs.version.revision> |         <acs.version.revision>0</acs.version.revision> | ||||||
|         <acs.version.label /> |         <acs.version.label /> | ||||||
|         <amp.min.version>${acs.version.major}.0.0</amp.min.version> |         <amp.min.version>${acs.version.major}.0.0</amp.min.version> | ||||||
| @@ -154,7 +154,7 @@ | |||||||
|         <connection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</connection> |         <connection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</connection> | ||||||
|         <developerConnection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</developerConnection> |         <developerConnection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</developerConnection> | ||||||
|         <url>https://github.com/Alfresco/alfresco-community-repo</url> |         <url>https://github.com/Alfresco/alfresco-community-repo</url> | ||||||
|         <tag>23.6.0.33</tag> |         <tag>23.7.0.3</tag> | ||||||
|     </scm> |     </scm> | ||||||
|  |  | ||||||
|     <distributionManagement> |     <distributionManagement> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo</artifactId> |         <artifactId>alfresco-community-repo</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <dependencies> |     <dependencies> | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
|  * #%L |  * #%L | ||||||
|  * Alfresco Remote API |  * Alfresco Remote API | ||||||
|  * %% |  * %% | ||||||
|  * Copyright (C) 2005 - 2016 Alfresco Software Limited |  * Copyright (C) 2005 - 2025 Alfresco Software Limited | ||||||
|  * %% |  * %% | ||||||
|  * This file is part of the Alfresco software.  |  * This file is part of the Alfresco software.  | ||||||
|  * If the software was purchased under a paid Alfresco license, the terms of  |  * If the software was purchased under a paid Alfresco license, the terms of  | ||||||
| @@ -31,6 +31,14 @@ import java.util.HashMap; | |||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
|  |  | ||||||
|  | import org.apache.commons.lang3.StringUtils; | ||||||
|  | import org.json.simple.JSONObject; | ||||||
|  | import org.owasp.html.PolicyFactory; | ||||||
|  | import org.owasp.html.Sanitizers; | ||||||
|  | import org.springframework.extensions.webscripts.Cache; | ||||||
|  | import org.springframework.extensions.webscripts.Status; | ||||||
|  | import org.springframework.extensions.webscripts.WebScriptRequest; | ||||||
|  |  | ||||||
| import org.alfresco.model.ContentModel; | import org.alfresco.model.ContentModel; | ||||||
| import org.alfresco.model.ForumModel; | import org.alfresco.model.ForumModel; | ||||||
| import org.alfresco.repo.content.MimetypeMap; | import org.alfresco.repo.content.MimetypeMap; | ||||||
| @@ -44,10 +52,6 @@ import org.alfresco.service.cmr.security.PermissionService; | |||||||
| import org.alfresco.service.namespace.NamespaceService; | import org.alfresco.service.namespace.NamespaceService; | ||||||
| import org.alfresco.service.namespace.QName; | import org.alfresco.service.namespace.QName; | ||||||
| import org.alfresco.service.namespace.RegexQNamePattern; | import org.alfresco.service.namespace.RegexQNamePattern; | ||||||
| import org.json.simple.JSONObject; |  | ||||||
| import org.springframework.extensions.webscripts.Cache; |  | ||||||
| import org.springframework.extensions.webscripts.Status; |  | ||||||
| import org.springframework.extensions.webscripts.WebScriptRequest; |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * This class is the controller for the comments.post web script. |  * This class is the controller for the comments.post web script. | ||||||
| @@ -58,7 +62,7 @@ import org.springframework.extensions.webscripts.WebScriptRequest; | |||||||
| public class CommentsPost extends AbstractCommentsWebScript | public class CommentsPost extends AbstractCommentsWebScript | ||||||
| { | { | ||||||
|     /** |     /** | ||||||
|      *  Overrides AbstractCommentsWebScript to add comment |      * Overrides AbstractCommentsWebScript to add comment | ||||||
|      */ |      */ | ||||||
|     @Override |     @Override | ||||||
|     protected Map<String, Object> executeImpl(NodeRef nodeRef, WebScriptRequest req, Status status, Cache cache) |     protected Map<String, Object> executeImpl(NodeRef nodeRef, WebScriptRequest req, Status status, Cache cache) | ||||||
| @@ -66,6 +70,19 @@ public class CommentsPost extends AbstractCommentsWebScript | |||||||
|         // get json object from request |         // get json object from request | ||||||
|         JSONObject json = parseJSON(req); |         JSONObject json = parseJSON(req); | ||||||
|  |  | ||||||
|  |         // Validating and Sanitizing comment content to prevent XSS | ||||||
|  |         String commentContent = getOrNull(json, "content"); | ||||||
|  |         if (StringUtils.isBlank(commentContent)) | ||||||
|  |         { | ||||||
|  |             throw new IllegalArgumentException("Comment content must not be empty"); | ||||||
|  |         } | ||||||
|  |         else | ||||||
|  |         { | ||||||
|  |             PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS); | ||||||
|  |             String safeContent = policy.sanitize(commentContent); | ||||||
|  |             json.replace("content", safeContent); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         /* MNT-10231, MNT-9771 fix */ |         /* MNT-10231, MNT-9771 fix */ | ||||||
|         this.behaviourFilter.disableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE); |         this.behaviourFilter.disableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE); | ||||||
|  |  | ||||||
| @@ -135,7 +152,7 @@ public class CommentsPost extends AbstractCommentsWebScript | |||||||
|     { |     { | ||||||
|         Map<String, Object> result = new HashMap<String, Object>(4, 1.0f); |         Map<String, Object> result = new HashMap<String, Object>(4, 1.0f); | ||||||
|  |  | ||||||
|         String creator = (String)this.nodeService.getProperty(commentNodeRef, ContentModel.PROP_CREATOR); |         String creator = (String) this.nodeService.getProperty(commentNodeRef, ContentModel.PROP_CREATOR); | ||||||
|  |  | ||||||
|         Serializable created = this.nodeService.getProperty(commentNodeRef, ContentModel.PROP_CREATED); |         Serializable created = this.nodeService.getProperty(commentNodeRef, ContentModel.PROP_CREATED); | ||||||
|         Serializable modified = this.nodeService.getProperty(commentNodeRef, ContentModel.PROP_MODIFIED); |         Serializable modified = this.nodeService.getProperty(commentNodeRef, ContentModel.PROP_MODIFIED); | ||||||
| @@ -143,7 +160,7 @@ public class CommentsPost extends AbstractCommentsWebScript | |||||||
|         boolean isUpdated = false; |         boolean isUpdated = false; | ||||||
|         if (created instanceof Date && modified instanceof Date) |         if (created instanceof Date && modified instanceof Date) | ||||||
|         { |         { | ||||||
|            isUpdated = ((Date)modified).getTime() - ((Date)created).getTime() > 5000; |             isUpdated = ((Date) modified).getTime() - ((Date) created).getTime() > 5000; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // TODO refactor v0 Comments API to use CommentService (see ACE-5437) |         // TODO refactor v0 Comments API to use CommentService (see ACE-5437) | ||||||
| @@ -229,8 +246,7 @@ public class CommentsPost extends AbstractCommentsWebScript | |||||||
|      */ |      */ | ||||||
|     private NodeRef createCommentsFolder(final NodeRef nodeRef) |     private NodeRef createCommentsFolder(final NodeRef nodeRef) | ||||||
|     { |     { | ||||||
|         NodeRef commentsFolder = AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<NodeRef>() |         NodeRef commentsFolder = AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<NodeRef>() { | ||||||
|         { |  | ||||||
|             public NodeRef doWork() throws Exception |             public NodeRef doWork() throws Exception | ||||||
|             { |             { | ||||||
|                 NodeRef commentsFolder = null; |                 NodeRef commentsFolder = null; | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|     <parent> |     <parent> | ||||||
|         <groupId>org.alfresco</groupId> |         <groupId>org.alfresco</groupId> | ||||||
|         <artifactId>alfresco-community-repo</artifactId> |         <artifactId>alfresco-community-repo</artifactId> | ||||||
|         <version>23.6.0.33</version> |         <version>23.7.0.3</version> | ||||||
|     </parent> |     </parent> | ||||||
|  |  | ||||||
|     <dependencies> |     <dependencies> | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| repository.name=Main Repository | repository.name=Main Repository | ||||||
|  |  | ||||||
| # Schema number | # Schema number | ||||||
| version.schema=19500 | version.schema=19600 | ||||||
|  |  | ||||||
| # Directory configuration | # Directory configuration | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user