Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit 6119feb

Browse files
authored
Merge pull request #324 from skyhit/sanitize_project_name_and_description
sanitize project name and description before saving
2 parents 78b1148 + 88877a5 commit 6119feb

File tree

5 files changed

+11
-3
lines changed

5 files changed

+11
-3
lines changed

build-dependencies.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,7 @@
399399
<property name="ejb3-persistence.jar" value="${ext_libdir}/ejb-api/ejb3-persistence.jar"/>
400400
<property name="javaee.jar" value="${ext_libdir}/j2ee/1.5/javaee.jar"/>
401401
<property name="jaxb.jar" value="${ext_libdir}/jaxb/2.1.7/jaxb-api.jar"/>
402+
<property name="encoder.jar" value="${ext_libdir}/owasp/encoder-1.2.1.jar" />
402403
<property name="jsr311.jar" value="${ext_libdir}/j2ee/jsr311-api-1.1.1.jar"/>
403404

404405
<property name="jai_codec-1.1.3.jar" value="${ext_libdir}/jai/jai_codec-1.1.3.jar"/>
@@ -643,6 +644,7 @@
643644
<pathelement location="${jira-soapclient-all.jar}"/>
644645
<pathelement location="${servlet-api.jar}"/>
645646
<pathelement location="${jaxb.jar}"/>
647+
<pathelement location="${encoder.jar}"/>
646648
<pathelement location="${javaee.jar}"/>
647649
<pathelement location="${aws-java-sdk.jar}"/>
648650
<pathelement location="${jrss.jar}"/>

build.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,7 @@
316316
<copy file="${jackson-annotations-2.3.0.jar}" todir="${ear_shared_libdir}" overwrite="true"/>
317317
<copy file="${jackson-core-2.3.2.jar}" todir="${ear_shared_libdir}" overwrite="true"/>
318318
<copy file="${jackson-databind-2.3.2.jar}" todir="${ear_shared_libdir}" overwrite="true"/>
319+
<copy file="${encoder.jar}" todir="${ear_shared_libdir}" overwrite="true" />
319320

320321
<copy file="${yuicompressor.jar}" todir="${ear_shared_libdir}" overwrite="true"/>
321322
<copy file="${java-jwt-1.0.0.jar}" todir="${ear_shared_libdir}" overwrite="true"/>
35.8 KB
Binary file not shown.

services/project_service/build-dependencies.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
<property name="jboss-jaxws.jar" value="${jboss_home}/server/${jboss_config_name}/lib/jboss-jaxws.jar" />
5050
<property name="log4j.jar" value="${jboss_home}/server/${jboss_config_name}/lib/log4j.jar" />
5151
<property name="jaxb-api.jar" value="${ext_libdir}/jaxb/2.1.7/jaxb-api.jar" />
52+
<property name="encoder.jar" value="${ext_libdir}/owasp/encoder-1.2.1.jar" />
5253

5354
<property name="jboss-ejb3x.jar" value="${jboss_home}/client/jboss-ejb3x.jar" />
5455
<property name="ejb3-persistence.jar" value="${jboss_home}/client/ejb3-persistence.jar" />
@@ -80,6 +81,7 @@
8081
<pathelement location="${jbossall-client.jar}" />
8182
<pathelement location="${jboss-jaxws.jar}" />
8283
<pathelement location="${jaxb-api.jar}" />
84+
<pathelement location="${encoder.jar}" />
8385
</path>
8486

8587
<path id="component.test.3rdParty-dependencies">

services/project_service/src/java/main/com/topcoder/service/project/impl/ProjectServiceBean.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import com.topcoder.util.log.Level;
6262
import com.topcoder.util.log.Log;
6363
import com.topcoder.util.log.LogManager;
64+
import org.owasp.encoder.Encode;
6465

6566
/**
6667
* <p>
@@ -870,10 +871,12 @@ public ProjectData createProject(TCSubject tcSubject, ProjectData projectData) t
870871
// Validate
871872
checkProjectData(projectData, true);
872873

873-
// Create a new Project, copy name and description
874+
// Create a new Project, copy name and description, and sanitize them
874875
Project project = new Project();
875-
project.setName(projectData.getName());
876-
project.setDescription(projectData.getDescription());
876+
String projectName = Encode.forHtml(projectData.getName());
877+
project.setName(projectName);
878+
String description = Encode.forHtml(projectData.getDescription());
879+
project.setDescription(description);
877880
if (projectData.getProjectBillingAccountId() > 0) {
878881
// if there is billing account, activate the project
879882
project.setProjectStatusId(PROJECT_STATUS_ACTIVE);

0 commit comments

Comments
 (0)