Skip to content
Snippets Groups Projects
Commit dd54c4db authored by srosse's avatar srosse
Browse files

OO-3415: cut long uri (longer than 1024 characters)

parent 4fc8e506
No related branches found
No related tags found
No related merge requests found
...@@ -49,22 +49,22 @@ public class CSPManagerImpl implements CSPManager { ...@@ -49,22 +49,22 @@ public class CSPManagerImpl implements CSPManager {
public CSPLog log(CSPReport report, Identity identity) { public CSPLog log(CSPReport report, Identity identity) {
CSPLogImpl log = new CSPLogImpl(); CSPLogImpl log = new CSPLogImpl();
log.setCreationDate(new Date()); log.setCreationDate(new Date());
log.setBlockedUri(report.getBlockedUri()); log.setBlockedUri(cut(report.getBlockedUri(), 1024));
if(StringHelper.isLong(report.getColumnNumber())) { if(StringHelper.isLong(report.getColumnNumber())) {
log.setColumnNumber(Long.parseLong(report.getColumnNumber())); log.setColumnNumber(Long.parseLong(report.getColumnNumber()));
} }
log.setDisposition(report.getDisposition()); log.setDisposition(report.getDisposition());
log.setDocumentUri(report.getDocumentUri()); log.setDocumentUri(cut(report.getDocumentUri(), 1024));
log.setEffectiveDirective(report.getEffectiveDirective()); log.setEffectiveDirective(report.getEffectiveDirective());
if(StringHelper.isLong(report.getLineNumber())) { if(StringHelper.isLong(report.getLineNumber())) {
log.setLineNumber(Long.parseLong(report.getLineNumber())); log.setLineNumber(Long.parseLong(report.getLineNumber()));
} }
log.setOriginalPolicy(report.getOriginalPolicy()); log.setOriginalPolicy(report.getOriginalPolicy());
log.setReferrer(report.getReferrer()); log.setReferrer(cut(report.getReferrer(), 1024));
log.setScriptSample(report.getScriptSample()); log.setScriptSample(report.getScriptSample());
log.setSourceFile(report.getSourceFile()); log.setSourceFile(cut(report.getSourceFile(), 1024));
log.setStatusCode(report.getStatusCode()); log.setStatusCode(cut(report.getStatusCode(), 1024));
log.setViolatedDirective(report.getViolatedDirective()); log.setViolatedDirective(cut(report.getViolatedDirective(), 1024));
if(identity != null) { if(identity != null) {
log.setIdentityKey(identity.getKey()); log.setIdentityKey(identity.getKey());
} }
...@@ -72,6 +72,13 @@ public class CSPManagerImpl implements CSPManager { ...@@ -72,6 +72,13 @@ public class CSPManagerImpl implements CSPManager {
dbInstance.getCurrentEntityManager().persist(log); dbInstance.getCurrentEntityManager().persist(log);
return log; return log;
} }
private String cut(String value, int length) {
if(StringHelper.containsNonWhitespace(value) && value.length() > length) {
value = value.substring(0, length - 10);
}
return value;
}
@Override @Override
public int countLog() { public int countLog() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment