-
-
File: 185,
- Errors: 0,
+ File: 182,
+ Errors: 4,
Warnings: 0,
Infos: 0
@@ -113,20 +113,6 @@ under the License.
0
-
-
-
- dependency-check-maven/target/generated-classes/cobertura/mojo.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -183,20 +169,6 @@ under the License.
0
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -307,7 +279,7 @@ under the License.
0
- 0
+ 1
@@ -351,20 +323,6 @@ under the License.
0
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/task.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -592,7 +550,7 @@ under the License.
- dependency-check-maven/target/generated-classes/cobertura/log.properties
+ org/owasp/dependencycheck/analyzer/NuspecAnalyzer.java
0
@@ -601,7 +559,7 @@ under the License.
0
- 0
+ 1
@@ -676,7 +634,7 @@ under the License.
- org/owasp/dependencycheck/data/nvdcve/CorruptDatabaseException.java
+ org/owasp/dependencycheck/jaxb/pom/generated/Exclusion.java
0
@@ -690,7 +648,7 @@ under the License.
- org/owasp/dependencycheck/jaxb/pom/generated/Exclusion.java
+ org/owasp/dependencycheck/data/nvdcve/CorruptDatabaseException.java
0
@@ -799,20 +757,6 @@ under the License.
0
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/taskdefs.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1037,6 +981,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/nuget/XPathNuspecParser.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1082,7 +1040,7 @@ under the License.
- org/owasp/dependencycheck/dependency/VulnerabilityComparator.java
+ org/owasp/dependencycheck/jaxb/pom/generated/DeploymentRepository.java
0
@@ -1096,7 +1054,21 @@ under the License.
- org/owasp/dependencycheck/jaxb/pom/generated/DeploymentRepository.java
+ org/owasp/dependencycheck/data/nuget/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/dependency/VulnerabilityComparator.java
0
@@ -1303,20 +1275,6 @@ under the License.
0
-
-
-
- dependency-check-cli/target/generated-classes/cobertura/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1737,20 +1695,6 @@ under the License.
0
-
-
-
- dependency-check-maven/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1950,7 +1894,7 @@ under the License.
- org/owasp/dependencycheck/analyzer/VulnerabilitySuppressionAnalyzer.java
+ org/owasp/dependencycheck/jaxb/pom/generated/Extension.java
0
@@ -1964,7 +1908,7 @@ under the License.
- org/owasp/dependencycheck/jaxb/pom/generated/Extension.java
+ org/owasp/dependencycheck/analyzer/VulnerabilitySuppressionAnalyzer.java
0
@@ -1992,7 +1936,7 @@ under the License.
- org/owasp/dependencycheck/data/nvdcve/CveDB.java
+ org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.java
0
@@ -2006,7 +1950,7 @@ under the License.
- org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.java
+ org/owasp/dependencycheck/data/nvdcve/CveDB.java
0
@@ -2087,20 +2031,6 @@ under the License.
0
-
-
-
- dependency-check-cli/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -2129,20 +2059,6 @@ under the License.
0
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -2171,6 +2087,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/nuget/NuspecParseException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2185,6 +2115,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/nuget/NuspecParser.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2560,6 +2504,20 @@ under the License.
0
+
+ 2
+
+
+
+
+ org/owasp/dependencycheck/data/nuget/NugetPackage.java
+
+
+ 0
+
+
+ 0
+
0
diff --git a/dependency-check-core/cobertura/frame-packages.html b/dependency-check-core/cobertura/frame-packages.html
index 6cc714928..a505a43c2 100644
--- a/dependency-check-core/cobertura/frame-packages.html
+++ b/dependency-check-core/cobertura/frame-packages.html
@@ -31,6 +31,9 @@
org.owasp.dependencycheck.data.nexus
+org.owasp.dependencycheck.data.nuget
+
+
org.owasp.dependencycheck.data.nvdcve
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.html
index a1edacd86..1cacd99a9 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.html
@@ -48,7 +48,7 @@ org.owasp.dependencycheck.analyzer
DependencyBundlingAnalyzer (48%)
-FalsePositiveAnalyzer (73%)
+FalsePositiveAnalyzer (70%)
FileNameAnalyzer (95%)
@@ -60,10 +60,13 @@ org.owasp.dependencycheck.analyzer
JarAnalyzer (59%)
-JavaScriptAnalyzer (0%)
+JavaScriptAnalyzer (28%)
-NexusAnalyzer (73%)
+NexusAnalyzer (39%)
+
+
+NuspecAnalyzer (32%)
NvdCveAnalyzer (75%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nexus.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nexus.html
index f8f7f9205..a6ca45214 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nexus.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nexus.html
@@ -15,10 +15,10 @@ org.owasp.dependencycheck.data.nexus
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nuget.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nuget.html
new file mode 100644
index 000000000..2915eaff1
--- /dev/null
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nuget.html
@@ -0,0 +1,32 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+org.owasp.dependencycheck.data.nuget
+
+
+Classes
+
+
+
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.dependency.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.dependency.html
index 2a9934e00..10c729a5a 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.dependency.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.dependency.html
@@ -18,7 +18,7 @@ org.owasp.dependencycheck.dependency
Confidence (100%)
-Dependency (64%)
+Dependency (61%)
Evidence (48%)
@@ -39,7 +39,7 @@ org.owasp.dependencycheck.dependency
VulnerabilityComparator (100%)
-VulnerableSoftware (76%)
+VulnerableSoftware (73%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles.html b/dependency-check-core/cobertura/frame-sourcefiles.html
index 077113790..85f12ee0b 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles.html
@@ -114,7 +114,7 @@ All Packages
DatabaseProperties (84%)
-Dependency (64%)
+Dependency (61%)
Dependency (9%)
@@ -177,7 +177,7 @@ All Packages
ExtractionException (0%)
-FalsePositiveAnalyzer (73%)
+FalsePositiveAnalyzer (70%)
FieldAnalyzer (100%)
@@ -219,7 +219,7 @@ All Packages
JarAnalyzer (59%)
-JavaScriptAnalyzer (0%)
+JavaScriptAnalyzer (28%)
License (23%)
@@ -237,7 +237,7 @@ All Packages
MailingList (0%)
-MavenArtifact (73%)
+MavenArtifact (0%)
MavenNamespaceFilter (15%)
@@ -246,10 +246,10 @@ All Packages
Model (13%)
-NexusAnalyzer (73%)
+NexusAnalyzer (39%)
-NexusSearch (83%)
+NexusSearch (25%)
NoDataException (0%)
@@ -261,6 +261,18 @@ All Packages
Notifier (0%)
+NugetPackage (58%)
+
+
+NuspecAnalyzer (32%)
+
+
+NuspecParseException (66%)
+
+
+NuspecParser (N/A)
+
+
NvdCve12Handler (93%)
@@ -402,7 +414,10 @@ All Packages
VulnerabilitySuppressionAnalyzer (60%)
-VulnerableSoftware (76%)
+VulnerableSoftware (73%)
+
+
+XPathNuspecParser (94%)
package-info (N/A)
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html
index 769fe1662..608f2e9b1 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html
index c3070efba..d064accdc 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html
@@ -43,6 +43,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cwe.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cwe.html
index 46c8071b9..9497c5a18 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cwe.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cwe.html
@@ -39,6 +39,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.lucene.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.lucene.html
index aa674c1db..9bddbc038 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.lucene.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.lucene.html
@@ -57,6 +57,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nexus.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nexus.html
index 2b3a13063..d0830580d 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nexus.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nexus.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nuget.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nuget.html
new file mode 100644
index 000000000..584ed7234
--- /dev/null
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nuget.html
@@ -0,0 +1,48 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.nuget
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html
index a22746439..b2dcae137 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html
@@ -52,6 +52,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html
index 7b662a0f7..86509d46f 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html
@@ -39,6 +39,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html
index b97c77aae..bf1264373 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html
@@ -50,6 +50,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.task.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.task.html
index e06e8cf4e..0fd8cdfd4 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.task.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.task.html
@@ -39,6 +39,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.xml.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.xml.html
index 8bc9fc284..39b79e53a 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.xml.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.xml.html
@@ -41,6 +41,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html
index 0af7492a4..6068e060f 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html
index e299cdc84..abf92bfb3 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html
@@ -37,6 +37,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
index 0bab4ec82..d55b4995d 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
@@ -17,21 +17,22 @@
Package # Classes Line Coverage Branch Coverage Complexity
org.owasp.dependencycheck 1 4.0; 4
- org.owasp.dependencycheck.analyzer 22 4.564417177914111; 4.564
+ org.owasp.dependencycheck.analyzer 23 4.538922155688622; 4.539
org.owasp.dependencycheck.data.cpe 4 2.566666666666667; 2.567
org.owasp.dependencycheck.data.cwe 2 2.8; 2.8
org.owasp.dependencycheck.data.lucene 11 2.5; 2.5
- org.owasp.dependencycheck.data.nexus 2 1.5714285714285714; 1.571
+ org.owasp.dependencycheck.data.nexus 2 1.5714285714285714; 1.571
+ org.owasp.dependencycheck.data.nuget 4 2.238095238095238; 2.238
org.owasp.dependencycheck.data.nvdcve 9 3.2033898305084745; 3.203
org.owasp.dependencycheck.data.update 6 2.5428571428571427; 2.543
org.owasp.dependencycheck.data.update.exception 2 1.0; 1
org.owasp.dependencycheck.data.update.task 2 2.823529411764706; 2.824
org.owasp.dependencycheck.data.update.xml 4 2.914285714285714; 2.914
- org.owasp.dependencycheck.dependency 14 2.382716049382716; 2.383
+ org.owasp.dependencycheck.dependency 14 2.374233128834356; 2.374
org.owasp.dependencycheck.exception 1 1.0; 1
org.owasp.dependencycheck.jaxb.pom 1 1.25; 1.25
org.owasp.dependencycheck.jaxb.pom.generated 87 1.0907407407407408; 1.091
- org.owasp.dependencycheck.reporting 3 4.2727272727272725; 4.273
+ org.owasp.dependencycheck.reporting 3 4.2727272727272725; 4.273
org.owasp.dependencycheck.suppression 6 2.7916666666666665; 2.792
org.owasp.dependencycheck.utils 19 3.0240963855421685; 3.024
@@ -54,6 +55,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html
index ab87dbf43..dda95e0e2 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html
@@ -160,6 +160,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.html
index 5df8c30f8..5ae38ceda 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.html
@@ -38,6 +38,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html
index c20f3c350..a553656c9 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html
index 0ad504435..598b4f27d 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html
@@ -47,6 +47,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.utils.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.utils.html
index b096178d4..7ff721983 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.utils.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.utils.html
@@ -69,6 +69,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary.html b/dependency-check-core/cobertura/frame-summary.html
index 355f340c8..96f22d4d6 100644
--- a/dependency-check-core/cobertura/frame-summary.html
+++ b/dependency-check-core/cobertura/frame-summary.html
@@ -16,23 +16,24 @@
Package # Classes Line Coverage Branch Coverage Complexity
- All Packages 196 2.2565320665083135; 2.257
+ All Packages 201 2.2591155934833203; 2.259
org.owasp.dependencycheck 1 4.0; 4
- org.owasp.dependencycheck.analyzer 22 4.564417177914111; 4.564
+ org.owasp.dependencycheck.analyzer 23 4.538922155688622; 4.539
org.owasp.dependencycheck.data.cpe 4 2.566666666666667; 2.567
org.owasp.dependencycheck.data.cwe 2 2.8; 2.8
org.owasp.dependencycheck.data.lucene 11 2.5; 2.5
- org.owasp.dependencycheck.data.nexus 2 1.5714285714285714; 1.571
+ org.owasp.dependencycheck.data.nexus 2 1.5714285714285714; 1.571
+ org.owasp.dependencycheck.data.nuget 4 2.238095238095238; 2.238
org.owasp.dependencycheck.data.nvdcve 9 3.2033898305084745; 3.203
org.owasp.dependencycheck.data.update 6 2.5428571428571427; 2.543
org.owasp.dependencycheck.data.update.exception 2 1.0; 1
org.owasp.dependencycheck.data.update.task 2 2.823529411764706; 2.824
org.owasp.dependencycheck.data.update.xml 4 2.914285714285714; 2.914
- org.owasp.dependencycheck.dependency 14 2.382716049382716; 2.383
+ org.owasp.dependencycheck.dependency 14 2.374233128834356; 2.374
org.owasp.dependencycheck.exception 1 1.0; 1
org.owasp.dependencycheck.jaxb.pom 1 1.25; 1.25
org.owasp.dependencycheck.jaxb.pom.generated 87 1.0907407407407408; 1.091
- org.owasp.dependencycheck.reporting 3 4.2727272727272725; 4.273
+ org.owasp.dependencycheck.reporting 3 4.2727272727272725; 4.273
org.owasp.dependencycheck.suppression 6 2.7916666666666665; 2.792
org.owasp.dependencycheck.utils 19 3.0240963855421685; 3.024
@@ -42,6 +43,6 @@ var packageTable = new SortableTable(document.getElementById("packageResults"),
["String", "Number", "Percentage", "Percentage", "FormattedNumber"]);
packageTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
index dc7b472e0..7117d02b5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
@@ -157,25 +157,25 @@
70
- 71 12 public Engine() {
- 72 12 this .extensions = new HashSet<String>();
- 73 12 this .dependencies = new ArrayList<Dependency>();
- 74 12 this .analyzers = new EnumMap<AnalysisPhase, List<Analyzer>>(AnalysisPhase.class );
+ 71 6 public Engine() {
+ 72 6 this .extensions = new HashSet<String>();
+ 73 6 this .dependencies = new ArrayList<Dependency>();
+ 74 6 this .analyzers = new EnumMap<AnalysisPhase, List<Analyzer>>(AnalysisPhase.class );
75
- 76 12 boolean autoUpdate = true ;
+ 76 6 boolean autoUpdate = true ;
77
try {
- 78 12 autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE);
+ 78 6 autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE);
79 0 } catch (InvalidSettingException ex) {
80 0 Logger.getLogger(Engine.class .getName()).log(Level.FINE, "Invalid setting for auto-update; using true." );
- 81 12 }
- 82 12 if (autoUpdate) {
+ 81 6 }
+ 82 6 if (autoUpdate) {
83 0 doUpdates();
84
}
- 85 12 loadAnalyzers();
- 86 12 }
+ 85 6 loadAnalyzers();
+ 86 6 }
87
88
@@ -188,23 +188,23 @@
private void loadAnalyzers() {
92
- 93 120 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 94 108 analyzers.put(phase, new ArrayList<Analyzer>());
+ 93 60 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 94 54 analyzers.put(phase, new ArrayList<Analyzer>());
95
}
96
- 97 12 final AnalyzerService service = AnalyzerService.getInstance();
- 98 12 final Iterator<Analyzer> iterator = service.getAnalyzers();
- 99 144 while (iterator.hasNext()) {
- 100 132 final Analyzer a = iterator.next();
- 101 132 analyzers.get(a.getAnalysisPhase()).add(a);
- 102 132 if (a.getSupportedExtensions() != null ) {
- 103 36 extensions.addAll(a.getSupportedExtensions());
+ 97 6 final AnalyzerService service = AnalyzerService.getInstance();
+ 98 6 final Iterator<Analyzer> iterator = service.getAnalyzers();
+ 99 78 while (iterator.hasNext()) {
+ 100 72 final Analyzer a = iterator.next();
+ 101 72 analyzers.get(a.getAnalysisPhase()).add(a);
+ 102 72 if (a.getSupportedExtensions() != null ) {
+ 103 24 extensions.addAll(a.getSupportedExtensions());
104
}
- 105 132 }
- 106 12 }
+ 105 72 }
+ 106 6 }
107
108
@@ -238,7 +238,7 @@
123
public List<Dependency> getDependencies() {
- 124 76 return dependencies;
+ 124 38 return dependencies;
125
}
126
@@ -379,17 +379,17 @@
203
public void scan(File file) {
- 204 26 if (file.exists()) {
- 205 26 if (file.isDirectory()) {
- 206 16 scanDirectory(file);
+ 204 13 if (file.exists()) {
+ 205 13 if (file.isDirectory()) {
+ 206 8 scanDirectory(file);
207
} else {
- 208 10 scanFile(file);
+ 208 5 scanFile(file);
209
}
210
}
- 211 26 }
+ 211 13 }
212
213
@@ -404,21 +404,21 @@
218
protected void scanDirectory(File dir) {
- 219 70 final File[] files = dir.listFiles();
- 220 70 if (files != null ) {
- 221 162 for (File f : files) {
- 222 92 if (f.isDirectory()) {
- 223 54 scanDirectory(f);
+ 219 35 final File[] files = dir.listFiles();
+ 220 35 if (files != null ) {
+ 221 81 for (File f : files) {
+ 222 46 if (f.isDirectory()) {
+ 223 27 scanDirectory(f);
224
} else {
- 225 38 scanFile(f);
+ 225 19 scanFile(f);
226
}
227
}
228
}
- 229 70 }
+ 229 35 }
230
231
@@ -433,19 +433,19 @@
236
protected void scanFile(File file) {
- 237 48 if (!file.isFile()) {
+ 237 24 if (!file.isFile()) {
238 0 final String msg = String.format("Path passed to scanFile(File) is not a file: %s. Skipping the file." , file.toString());
239 0 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msg);
240 0 return ;
241
}
- 242 48 final String fileName = file.getName();
- 243 48 final String extension = FileUtils.getFileExtension(fileName);
- 244 48 if (extension != null ) {
- 245 48 if (extensions.contains(extension)) {
- 246 48 final Dependency dependency = new Dependency(file);
- 247 48 dependencies.add(dependency);
- 248 48 }
+ 242 24 final String fileName = file.getName();
+ 243 24 final String extension = FileUtils.getFileExtension(fileName);
+ 244 24 if (extension != null ) {
+ 245 24 if (extensions.contains(extension)) {
+ 246 24 final Dependency dependency = new Dependency(file);
+ 247 24 dependencies.add(dependency);
+ 248 24 }
249
} else {
250 0 final String msg = String.format("No file extension found on file '%s'. The file was not analyzed." ,
@@ -454,7 +454,7 @@
252 0 Logger.getLogger(Engine.class .getName()).log(Level.FINEST, msg);
253
}
- 254 48 }
+ 254 24 }
255
256
@@ -469,7 +469,7 @@
261
try {
- 262 6 ensureDataExists();
+ 262 3 ensureDataExists();
263 0 } catch (NoDataException ex) {
264 0 final String msg = String.format("%s%n%nUnable to continue dependency-check analysis." , ex.getMessage());
265 0 Logger.getLogger(Engine.class .getName()).log(Level.SEVERE, msg);
@@ -482,30 +482,30 @@
272 0 return ;
273
- 274 6 }
+ 274 3 }
275
- 276 6 final String logHeader = String.format("%n"
+ 276 3 final String logHeader = String.format("%n"
277
+ "----------------------------------------------------%n"
278
+ "BEGIN ANALYSIS%n"
279
+ "----------------------------------------------------" );
- 280 6 Logger.getLogger(Engine.class .getName()).log(Level.FINE, logHeader);
- 281 6 Logger.getLogger(Engine.class .getName()).log(Level.INFO, "Analysis Starting" );
+ 280 3 Logger.getLogger(Engine.class .getName()).log(Level.FINE, logHeader);
+ 281 3 Logger.getLogger(Engine.class .getName()).log(Level.INFO, "Analysis Starting" );
282
283
- 284 60 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 285 54 final List<Analyzer> analyzerList = analyzers.get(phase);
- 286 54 for (Analyzer a : analyzerList) {
+ 284 30 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 285 27 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 286 27 for (Analyzer a : analyzerList) {
287
try {
- 288 66 final String msg = String.format("Initializing %s" , a.getName());
- 289 66 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msg);
- 290 66 a.initialize();
+ 288 36 final String msg = String.format("Initializing %s" , a.getName());
+ 289 36 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msg);
+ 290 36 a.initialize();
291 0 } catch (Exception ex) {
292 0 final String msg = String.format("Exception occurred initializing %s." , a.getName());
293 0 Logger.getLogger(Engine.class .getName()).log(Level.SEVERE, msg);
@@ -516,19 +516,19 @@
297 0 } catch (Exception ex1) {
298 0 Logger.getLogger(Engine.class .getName()).log(Level.FINEST, null , ex1);
299 0 }
- 300 66 }
- 301 66 }
+ 300 36 }
+ 301 36 }
302
}
303
304
- 305 60 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 306 54 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 305 30 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 306 27 final List<Analyzer> analyzerList = analyzers.get(phase);
307
- 308 54 for (Analyzer a : analyzerList) {
+ 308 27 for (Analyzer a : analyzerList) {
309
310
@@ -537,17 +537,17 @@
312
- 313 66 final String msg = String.format("Begin Analyzer '%s'" , a.getName());
- 314 66 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msg);
- 315 66 final Set<Dependency> dependencySet = new HashSet<Dependency>();
- 316 66 dependencySet.addAll(dependencies);
- 317 66 for (Dependency d : dependencySet) {
- 318 190 if (a.supportsExtension(d.getFileExtension())) {
- 319 168 final String msgFile = String.format("Begin Analysis of '%s'" , d.getActualFilePath());
- 320 168 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msgFile);
+ 313 36 final String msg = String.format("Begin Analyzer '%s'" , a.getName());
+ 314 36 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msg);
+ 315 36 final Set<Dependency> dependencySet = new HashSet<Dependency>();
+ 316 36 dependencySet.addAll(dependencies);
+ 317 36 for (Dependency d : dependencySet) {
+ 318 104 if (a.supportsExtension(d.getFileExtension())) {
+ 319 84 final String msgFile = String.format("Begin Analysis of '%s'" , d.getActualFilePath());
+ 320 84 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msgFile);
321
try {
- 322 168 a.analyze(d, this );
+ 322 84 a.analyze(d, this );
323 0 } catch (AnalysisException ex) {
324 0 d.addAnalysisException(ex);
325 0 } catch (Throwable ex) {
@@ -556,43 +556,43 @@
328 0 d.addAnalysisException(ax);
329 0 Logger.getLogger(Engine.class .getName()).log(Level.SEVERE, axMsg);
330 0 Logger.getLogger(Engine.class .getName()).log(Level.FINE, axMsg, ex);
- 331 168 }
+ 331 84 }
332
}
- 333 190 }
- 334 66 }
+ 333 104 }
+ 334 36 }
335
}
336
337
- 338 60 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 339 54 final List<Analyzer> analyzerList = analyzers.get(phase);
- 340 54 for (Analyzer a : analyzerList) {
- 341 66 final String msg = String.format("Closing Analyzer '%s'" , a.getName());
- 342 66 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msg);
+ 338 30 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 339 27 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 340 27 for (Analyzer a : analyzerList) {
+ 341 36 final String msg = String.format("Closing Analyzer '%s'" , a.getName());
+ 342 36 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msg);
343
try {
- 344 66 a.close();
+ 344 36 a.close();
345 0 } catch (Exception ex) {
346 0 Logger.getLogger(Engine.class .getName()).log(Level.FINEST, null , ex);
- 347 66 }
- 348 66 }
+ 347 36 }
+ 348 36 }
349
}
350
- 351 6 final String logFooter = String.format("%n"
+ 351 3 final String logFooter = String.format("%n"
352
+ "----------------------------------------------------%n"
353
+ "END ANALYSIS%n"
354
+ "----------------------------------------------------" );
- 355 6 Logger.getLogger(Engine.class .getName()).log(Level.FINE, logFooter);
- 356 6 Logger.getLogger(Engine.class .getName()).log(Level.INFO, "Analysis Complete" );
- 357 6 }
+ 355 3 Logger.getLogger(Engine.class .getName()).log(Level.FINE, logFooter);
+ 356 3 Logger.getLogger(Engine.class .getName()).log(Level.INFO, "Analysis Complete" );
+ 357 3 }
358
359
@@ -634,13 +634,13 @@
383
public List<Analyzer> getAnalyzers() {
- 384 2 final List<Analyzer> ret = new ArrayList<Analyzer>();
- 385 20 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 386 18 final List<Analyzer> analyzerList = analyzers.get(phase);
- 387 18 ret.addAll(analyzerList);
+ 384 1 final List<Analyzer> ret = new ArrayList<Analyzer>();
+ 385 10 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 386 9 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 387 9 ret.addAll(analyzerList);
388
}
- 389 2 return ret;
+ 389 1 return ret;
390
}
391
@@ -659,21 +659,21 @@
398
public boolean supportsExtension(String ext) {
- 399 304 if (ext == null ) {
- 400 16 return false ;
+ 399 152 if (ext == null ) {
+ 400 8 return false ;
401
}
- 402 2570 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 403 2320 final List<Analyzer> analyzerList = analyzers.get(phase);
- 404 2320 for (Analyzer a : analyzerList) {
- 405 2852 if (a.getSupportedExtensions() != null && a.supportsExtension(ext)) {
- 406 38 return true ;
+ 402 1285 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 403 1160 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 404 1160 for (Analyzer a : analyzerList) {
+ 405 1551 if (a.getSupportedExtensions() != null && a.supportsExtension(ext)) {
+ 406 19 return true ;
407
}
- 408 2814 }
+ 408 1532 }
409
}
- 410 250 return false ;
+ 410 125 return false ;
411
}
412
@@ -692,32 +692,32 @@
419
private void ensureDataExists() throws NoDataException, DatabaseException {
- 420 6 final CpeMemoryIndex cpe = CpeMemoryIndex.getInstance();
- 421 6 final CveDB cve = new CveDB();
+ 420 3 final CpeMemoryIndex cpe = CpeMemoryIndex.getInstance();
+ 421 3 final CveDB cve = new CveDB();
422
423
try {
- 424 6 cve.open();
- 425 6 cpe.open(cve);
+ 424 3 cve.open();
+ 425 3 cpe.open(cve);
426 0 } catch (IndexException ex) {
427 0 throw new NoDataException(ex.getMessage(), ex);
428 0 } catch (DatabaseException ex) {
429 0 throw new NoDataException(ex.getMessage(), ex);
430
} finally {
- 431 6 cve.close();
- 432 6 }
- 433 6 if (cpe.numDocs() <= 0) {
+ 431 3 cve.close();
+ 432 3 }
+ 433 3 if (cpe.numDocs() <= 0) {
434 0 cpe.close();
435 0 throw new NoDataException("No documents exist" );
436
}
- 437 6 }
+ 437 3 }
438
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
index a240aafc5..7119bec6a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
@@ -71,7 +71,7 @@
27
- 28 134 public abstract class AbstractAnalyzer implements Analyzer {
+ 28 77 public abstract class AbstractAnalyzer implements Analyzer {
29
30
@@ -96,11 +96,11 @@
40
protected static Set<String> newHashSet(String... strings) {
- 41 12 final Set<String> set = new HashSet<String>();
+ 41 9 final Set<String> set = new HashSet<String>();
42
- 43 12 Collections.addAll(set, strings);
- 44 12 return set;
+ 43 9 Collections.addAll(set, strings);
+ 44 9 return set;
45
}
46
@@ -121,7 +121,7 @@
public void initialize() throws Exception {
54
- 55 38 }
+ 55 19 }
56
57
@@ -140,11 +140,11 @@
public void close() throws Exception {
64
- 65 44 }
+ 65 25 }
66
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html
index d56df135e..7d52fe8f8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html
@@ -85,7 +85,7 @@
34
- 35 4 public abstract class AbstractSuppressionAnalyzer extends AbstractAnalyzer {
+ 35 2 public abstract class AbstractSuppressionAnalyzer extends AbstractAnalyzer {
36
37
@@ -102,7 +102,7 @@
43
public Set<String> getSupportedExtensions() {
- 44 528 return null ;
+ 44 264 return null ;
45
}
46
@@ -123,7 +123,7 @@
@Override
54
public boolean supportsExtension(String extension) {
- 55 36 return true ;
+ 55 18 return true ;
56
}
57
@@ -144,9 +144,9 @@
@Override
65
public void initialize() throws Exception {
- 66 12 super .initialize();
- 67 12 loadSuppressionData();
- 68 12 }
+ 66 6 super .initialize();
+ 67 6 loadSuppressionData();
+ 68 6 }
69
70
@@ -169,7 +169,7 @@
79
public List<SuppressionRule> getRules() {
- 80 36 return rules;
+ 80 18 return rules;
81
}
82
@@ -202,8 +202,8 @@
97
private void loadSuppressionData() throws SuppressionParseException {
- 98 12 final File file = Settings.getFile(Settings.KEYS.SUPPRESSION_FILE);
- 99 12 if (file != null ) {
+ 98 6 final File file = Settings.getFile(Settings.KEYS.SUPPRESSION_FILE);
+ 99 6 if (file != null ) {
100 0 final SuppressionParser parser = new SuppressionParser();
101
try {
@@ -217,11 +217,11 @@
109 0 }
110
}
- 111 12 }
+ 111 6 }
112
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisException.html
index f9bef835e..ae0765e7d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisException.html
@@ -143,6 +143,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html
index c44422050..95215bcea 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html
@@ -65,7 +65,7 @@
24
- 25 342 public enum AnalysisPhase {
+ 25 171 public enum AnalysisPhase {
26
27
@@ -74,67 +74,67 @@
29
- 30 2 INITIAL,
+ 30 1 INITIAL,
31
32
33
- 34 2 INFORMATION_COLLECTION,
+ 34 1 INFORMATION_COLLECTION,
35
36
37
- 38 2 PRE_IDENTIFIER_ANALYSIS,
+ 38 1 PRE_IDENTIFIER_ANALYSIS,
39
40
41
- 42 2 IDENTIFIER_ANALYSIS,
+ 42 1 IDENTIFIER_ANALYSIS,
43
44
45
- 46 2 POST_IDENTIFIER_ANALYSIS,
+ 46 1 POST_IDENTIFIER_ANALYSIS,
47
48
49
- 50 2 PRE_FINDING_ANALYSIS,
+ 50 1 PRE_FINDING_ANALYSIS,
51
52
53
- 54 2 FINDING_ANALYSIS,
+ 54 1 FINDING_ANALYSIS,
55
56
57
- 58 2 POST_FINDING_ANALYSIS,
+ 58 1 POST_FINDING_ANALYSIS,
59
60
61
- 62 2 FINAL
+ 62 1 FINAL
63
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
index 934f0b760..154f07876 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
@@ -209,6 +209,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
index b1fceb125..11c6799a3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
@@ -97,9 +97,9 @@
40
- 41 2 private AnalyzerService() {
- 42 2 loader = ServiceLoader.load(Analyzer.class );
- 43 2 }
+ 41 1 private AnalyzerService() {
+ 42 1 loader = ServiceLoader.load(Analyzer.class );
+ 43 1 }
44
45
@@ -114,11 +114,11 @@
50
public static synchronized AnalyzerService getInstance() {
- 51 14 if (service == null ) {
- 52 2 service = new AnalyzerService();
+ 51 7 if (service == null ) {
+ 52 1 service = new AnalyzerService();
53
}
- 54 14 return service;
+ 54 7 return service;
55
}
56
@@ -135,13 +135,13 @@
62
public Iterator<Analyzer> getAnalyzers() {
- 63 14 return loader.iterator();
+ 63 7 return loader.iterator();
64
}
65
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html
index 1d1aaa2be..bc0f07fc9 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html
@@ -12,7 +12,7 @@
@@ -121,7 +121,7 @@
52
- 53 22 public class ArchiveAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 53 11 public class ArchiveAnalyzer extends AbstractAnalyzer implements Analyzer {
54
55
@@ -138,28 +138,28 @@
61
- 62 2 private static int dirCount = 0;
+ 62 1 private static int dirCount = 0;
63
64
65
- 66 22 private File tempFileLocation = null ;
+ 66 11 private File tempFileLocation = null ;
67
68
69
- 70 2 private static final int MAX_SCAN_DEPTH = Settings.getInt("archive.scan.depth" , 3);
+ 70 1 private static final int MAX_SCAN_DEPTH = Settings.getInt("archive.scan.depth" , 3);
71
72
73
- 74 22 private int scanDepth = 0;
+ 74 11 private int scanDepth = 0;
75
76
@@ -176,482 +176,493 @@
82
- 83 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
+ 83 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
84
85
-
+
86
- 87 2 private static final Set<String> EXTENSIONS = newHashSet("zip" , "ear" , "war" , "tar" , "gz" , "tgz" );
+ 87 1 private static final Set<String> ZIPPABLES = newHashSet("zip" , "ear" , "war" , "nupkg" );
88
-
+
89
-
+
90
-
- 91
-
+
+ 91 1 private static final Set<String> EXTENSIONS = newHashSet("tar" , "gz" , "tgz" );
92
-
- 93
-
- 94
- public Set<String> getSupportedExtensions() {
- 95 316 return EXTENSIONS;
+ static {
+ 93 1 EXTENSIONS.addAll(ZIPPABLES);
+ 94 1 }
+ 95
+
96
- }
+
97
-
+
98
-
+
99
-
+
100
-
+
101
-
- 102
-
+ public Set<String> getSupportedExtensions() {
+ 102 158 return EXTENSIONS;
103
- public String getName() {
- 104 20 return ANALYZER_NAME;
+ }
+ 104
+
105
- }
+
106
-
+
107
-
+
108
-
+
109
-
+
110
-
- 111
-
+ public String getName() {
+ 111 10 return ANALYZER_NAME;
112
-
+ }
113
- public boolean supportsExtension(String extension) {
- 114 344 return EXTENSIONS.contains(extension);
+
+ 114
+
115
- }
+
116
-
+
117
-
+
118
-
+
119
-
+
120
-
- 121
-
+ public boolean supportsExtension(String extension) {
+ 121 173 return EXTENSIONS.contains(extension);
122
- public AnalysisPhase getAnalysisPhase() {
- 123 14 return ANALYSIS_PHASE;
+ }
+ 123
+
124
- }
+
125
-
+
126
-
+
127
-
+
128
-
+
129
-
- 130
-
+ public AnalysisPhase getAnalysisPhase() {
+ 130 7 return ANALYSIS_PHASE;
131
-
- 132
- @Override
- 133
- public void initialize() throws Exception {
- 134 18 final File baseDir = Settings.getTempDirectory();
- 135 18 if (!baseDir.exists()) {
- 136 0 if (!baseDir.mkdirs()) {
- 137 0 final String msg = String.format("Unable to make a temporary folder '%s'" , baseDir.getPath());
- 138 0 throw new AnalysisException(msg);
- 139
- }
- 140
- }
- 141 18 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
- 142 18 if (!tempFileLocation.delete()) {
- 143 0 final String msg = String.format("Unable to delete temporary file '%s'." , tempFileLocation.getAbsolutePath());
- 144 0 throw new AnalysisException(msg);
- 145
- }
- 146 18 if (!tempFileLocation.mkdirs()) {
- 147 0 final String msg = String.format("Unable to create directory '%s'." , tempFileLocation.getAbsolutePath());
- 148 0 throw new AnalysisException(msg);
- 149
- }
- 150 18 }
- 151
-
- 152
-
- 153
-
- 154
-
- 155
-
- 156
-
- 157
- @Override
- 158
- public void close() throws Exception {
- 159 18 if (tempFileLocation != null && tempFileLocation.exists()) {
- 160 18 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
- 161
- }
- 162 18 }
- 163
-
- 164
-
- 165
-
- 166
-
- 167
-
- 168
-
- 169
-
- 170
-
- 171
-
- 172
- @Override
- 173
- public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 174 16 final File f = new File(dependency.getActualFilePath());
- 175 16 final File tmpDir = getNextTempDirectory();
- 176 16 extractFiles(f, tmpDir, engine);
- 177
-
- 178
-
- 179 16 final List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
- 180 16 engine.scan(tmpDir);
- 181 16 final List<Dependency> newDependencies = engine.getDependencies();
- 182 16 if (dependencies.size() != newDependencies.size()) {
- 183
-
- 184 12 final Set<Dependency> dependencySet = new HashSet<Dependency>();
- 185 12 dependencySet.addAll(newDependencies);
- 186 12 dependencySet.removeAll(dependencies);
- 187
-
- 188 12 for (Dependency d : dependencySet) {
- 189
-
- 190 38 final String displayPath = String.format("%s%s" ,
- 191
- dependency.getFilePath(),
- 192
- d.getActualFilePath().substring(tmpDir.getAbsolutePath().length()));
- 193 38 final String displayName = String.format("%s%s%s" ,
- 194
- dependency.getFileName(),
- 195
- File.separator,
- 196
- d.getFileName());
- 197 38 d.setFilePath(displayPath);
- 198 38 d.setFileName(displayName);
- 199
-
- 200
-
- 201
-
- 202 38 if (this .supportsExtension(d.getFileExtension()) && scanDepth < MAX_SCAN_DEPTH) {
- 203 6 scanDepth += 1;
- 204 6 analyze(d, engine);
- 205 6 scanDepth -= 1;
- 206
- }
- 207 38 }
- 208
- }
- 209 16 Collections.sort(engine.getDependencies());
- 210 16 }
- 211
-
- 212
-
- 213
-
- 214
-
- 215
-
- 216
-
- 217
-
- 218
- private File getNextTempDirectory() throws AnalysisException {
- 219 16 dirCount += 1;
- 220 16 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
- 221
-
- 222 16 if (directory.exists()) {
- 223 0 return getNextTempDirectory();
- 224
- }
- 225 16 if (!directory.mkdirs()) {
- 226 0 final String msg = String.format("Unable to create temp directory '%s'." , directory.getAbsolutePath());
- 227 0 throw new AnalysisException(msg);
- 228
- }
- 229 16 return directory;
- 230
}
- 231
+ 132
+
+ 133
- 232
+ 134
- 233
-
- 234
+ 135
+
+ 136
- 235
-
- 236
-
- 237
-
- 238
-
- 239
+ 137
+
+ 138
- 240
- private void extractFiles(File archive, File destination, Engine engine) throws AnalysisException {
- 241 16 if (archive == null || destination == null ) {
- 242 0 return ;
- 243
+ 139
+ @Override
+ 140
+ public void initialize() throws Exception {
+ 141 9 final File baseDir = Settings.getTempDirectory();
+ 142 9 if (!baseDir.exists()) {
+ 143 0 if (!baseDir.mkdirs()) {
+ 144 0 final String msg = String.format("Unable to make a temporary folder '%s'" , baseDir.getPath());
+ 145 0 throw new AnalysisException(msg);
+ 146
+ }
+ 147
}
- 244
+ 148 9 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
+ 149 9 if (!tempFileLocation.delete()) {
+ 150 0 final String msg = String.format("Unable to delete temporary file '%s'." , tempFileLocation.getAbsolutePath());
+ 151 0 throw new AnalysisException(msg);
+ 152
+ }
+ 153 9 if (!tempFileLocation.mkdirs()) {
+ 154 0 final String msg = String.format("Unable to create directory '%s'." , tempFileLocation.getAbsolutePath());
+ 155 0 throw new AnalysisException(msg);
+ 156
+ }
+ 157 9 }
+ 158
- 245 16 FileInputStream fis = null ;
+ 159
+
+ 160
+
+ 161
+
+ 162
+
+ 163
+
+ 164
+ @Override
+ 165
+ public void close() throws Exception {
+ 166 9 if (tempFileLocation != null && tempFileLocation.exists()) {
+ 167 9 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
+ 168
+ }
+ 169 9 }
+ 170
+
+ 171
+
+ 172
+
+ 173
+
+ 174
+
+ 175
+
+ 176
+
+ 177
+
+ 178
+
+ 179
+ @Override
+ 180
+ public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+ 181 8 final File f = new File(dependency.getActualFilePath());
+ 182 8 final File tmpDir = getNextTempDirectory();
+ 183 8 extractFiles(f, tmpDir, engine);
+ 184
+
+ 185
+
+ 186 8 final List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
+ 187 8 engine.scan(tmpDir);
+ 188 8 final List<Dependency> newDependencies = engine.getDependencies();
+ 189 8 if (dependencies.size() != newDependencies.size()) {
+ 190
+
+ 191 6 final Set<Dependency> dependencySet = new HashSet<Dependency>();
+ 192 6 dependencySet.addAll(newDependencies);
+ 193 6 dependencySet.removeAll(dependencies);
+ 194
+
+ 195 6 for (Dependency d : dependencySet) {
+ 196
+
+ 197 19 final String displayPath = String.format("%s%s" ,
+ 198
+ dependency.getFilePath(),
+ 199
+ d.getActualFilePath().substring(tmpDir.getAbsolutePath().length()));
+ 200 19 final String displayName = String.format("%s%s%s" ,
+ 201
+ dependency.getFileName(),
+ 202
+ File.separator,
+ 203
+ d.getFileName());
+ 204 19 d.setFilePath(displayPath);
+ 205 19 d.setFileName(displayName);
+ 206
+
+ 207
+
+ 208
+
+ 209 19 if (this .supportsExtension(d.getFileExtension()) && scanDepth < MAX_SCAN_DEPTH) {
+ 210 3 scanDepth += 1;
+ 211 3 analyze(d, engine);
+ 212 3 scanDepth -= 1;
+ 213
+ }
+ 214 19 }
+ 215
+ }
+ 216 8 Collections.sort(engine.getDependencies());
+ 217 8 }
+ 218
+
+ 219
+
+ 220
+
+ 221
+
+ 222
+
+ 223
+
+ 224
+
+ 225
+ private File getNextTempDirectory() throws AnalysisException {
+ 226 8 dirCount += 1;
+ 227 8 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
+ 228
+
+ 229 8 if (directory.exists()) {
+ 230 0 return getNextTempDirectory();
+ 231
+ }
+ 232 8 if (!directory.mkdirs()) {
+ 233 0 final String msg = String.format("Unable to create temp directory '%s'." , directory.getAbsolutePath());
+ 234 0 throw new AnalysisException(msg);
+ 235
+ }
+ 236 8 return directory;
+ 237
+ }
+ 238
+
+ 239
+
+ 240
+
+ 241
+
+ 242
+
+ 243
+
+ 244
+
+ 245
+
246
- try {
- 247 16 fis = new FileInputStream(archive);
- 248 0 } catch (FileNotFoundException ex) {
- 249 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.INFO, null , ex);
- 250 0 throw new AnalysisException("Archive file was not found." , ex);
- 251 16 }
- 252 16 final String archiveExt = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(archive.getName()).toLowerCase();
+
+ 247
+ private void extractFiles(File archive, File destination, Engine engine) throws AnalysisException {
+ 248 8 if (archive == null || destination == null ) {
+ 249 0 return ;
+ 250
+ }
+ 251
+
+ 252 8 FileInputStream fis = null ;
253
try {
- 254 16 if ("zip" .equals(archiveExt) || "war" .equals(archiveExt) || "ear" .equals(archiveExt)) {
- 255 6 extractArchive(new ZipArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
- 256 10 } else if ("tar" .equals(archiveExt)) {
- 257 6 extractArchive(new TarArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
- 258 4 } else if ("gz" .equals(archiveExt) || "tgz" .equals(archiveExt)) {
- 259 4 final String uncompressedName = GzipUtils.getUncompressedFilename(archive.getName());
- 260 4 final String uncompressedExt = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(uncompressedName).toLowerCase();
- 261 4 if (engine.supportsExtension(uncompressedExt)) {
- 262 4 decompressFile(new GzipCompressorInputStream(new BufferedInputStream(fis)), new File(destination, uncompressedName));
- 263
- }
- 264
- }
- 265 0 } catch (ArchiveExtractionException ex) {
- 266 0 final String msg = String.format("Exception extracting archive '%s'." , archive.getName());
- 267 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
- 268 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
- 269 0 } catch (IOException ex) {
- 270 0 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
- 271 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
- 272 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
- 273
- } finally {
- 274 0 try {
- 275 16 fis.close();
- 276 0 } catch (IOException ex) {
- 277 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
- 278 16 }
- 279 0 }
- 280 16 }
- 281
-
- 282
-
- 283
-
- 284
-
- 285
-
- 286
-
- 287
-
- 288
-
- 289
-
- 290
- private void extractArchive(ArchiveInputStream input, File destination, Engine engine) throws ArchiveExtractionException {
- 291
- ArchiveEntry entry;
- 292
+ 254 8 fis = new FileInputStream(archive);
+ 255 0 } catch (FileNotFoundException ex) {
+ 256 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.INFO, null , ex);
+ 257 0 throw new AnalysisException("Archive file was not found." , ex);
+ 258 8 }
+ 259 8 final String archiveExt = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(archive.getName()).toLowerCase();
+ 260
try {
- 293 362 while ((entry = input.getNextEntry()) != null ) {
- 294 350 if (entry.isDirectory()) {
- 295 50 final File d = new File(destination, entry.getName());
- 296 50 if (!d.exists()) {
- 297 50 if (!d.mkdirs()) {
- 298 0 final String msg = String.format("Unable to create directory '%s'." , d.getAbsolutePath());
- 299 0 throw new AnalysisException(msg);
- 300
- }
- 301
- }
- 302 50 } else {
- 303 300 final File file = new File(destination, entry.getName());
- 304 300 final String ext = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(file.getName());
- 305 300 if (engine.supportsExtension(ext)) {
- 306 34 BufferedOutputStream bos = null ;
+ 261 8 if (ZIPPABLES.contains(archiveExt)) {
+ 262 3 extractArchive(new ZipArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
+ 263 5 } else if ("tar" .equals(archiveExt)) {
+ 264 3 extractArchive(new TarArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
+ 265 2 } else if ("gz" .equals(archiveExt) || "tgz" .equals(archiveExt)) {
+ 266 2 final String uncompressedName = GzipUtils.getUncompressedFilename(archive.getName());
+ 267 2 final String uncompressedExt = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(uncompressedName).toLowerCase();
+ 268 2 if (engine.supportsExtension(uncompressedExt)) {
+ 269 2 decompressFile(new GzipCompressorInputStream(new BufferedInputStream(fis)), new File(destination, uncompressedName));
+ 270
+ }
+ 271
+ }
+ 272 0 } catch (ArchiveExtractionException ex) {
+ 273 0 final String msg = String.format("Exception extracting archive '%s'." , archive.getName());
+ 274 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
+ 275 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 276 0 } catch (IOException ex) {
+ 277 0 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
+ 278 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
+ 279 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 280
+ } finally {
+ 281 0 try {
+ 282 8 fis.close();
+ 283 0 } catch (IOException ex) {
+ 284 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+ 285 8 }
+ 286 0 }
+ 287 8 }
+ 288
+
+ 289
+
+ 290
+
+ 291
+
+ 292
+
+ 293
+
+ 294
+
+ 295
+
+ 296
+
+ 297
+ private void extractArchive(ArchiveInputStream input, File destination, Engine engine) throws ArchiveExtractionException {
+ 298
+ ArchiveEntry entry;
+ 299
+ try {
+ 300 181 while ((entry = input.getNextEntry()) != null ) {
+ 301 175 if (entry.isDirectory()) {
+ 302 25 final File d = new File(destination, entry.getName());
+ 303 25 if (!d.exists()) {
+ 304 25 if (!d.mkdirs()) {
+ 305 0 final String msg = String.format("Unable to create directory '%s'." , d.getAbsolutePath());
+ 306 0 throw new AnalysisException(msg);
307
- FileOutputStream fos;
+ }
308
- try {
- 309 34 final File parent = file.getParentFile();
- 310 34 if (!parent.isDirectory()) {
- 311 2 if (!parent.mkdirs()) {
- 312 0 final String msg = String.format("Unable to build directory '%s'." , parent.getAbsolutePath());
- 313 0 throw new AnalysisException(msg);
+ }
+ 309 25 } else {
+ 310 150 final File file = new File(destination, entry.getName());
+ 311 150 final String ext = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(file.getName());
+ 312 150 if (engine.supportsExtension(ext)) {
+ 313 17 BufferedOutputStream bos = null ;
314
- }
+ FileOutputStream fos;
315
- }
- 316 34 fos = new FileOutputStream(file);
- 317 34 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
- 318
- int count;
- 319 34 final byte data[] = new byte [BUFFER_SIZE];
- 320 6734 while ((count = input.read(data, 0, BUFFER_SIZE)) != -1) {
- 321 6700 bos.write(data, 0, count);
+ try {
+ 316 17 final File parent = file.getParentFile();
+ 317 17 if (!parent.isDirectory()) {
+ 318 1 if (!parent.mkdirs()) {
+ 319 0 final String msg = String.format("Unable to build directory '%s'." , parent.getAbsolutePath());
+ 320 0 throw new AnalysisException(msg);
+ 321
+ }
322
}
- 323 34 bos.flush();
- 324 0 } catch (FileNotFoundException ex) {
- 325 0 Logger.getLogger(ArchiveAnalyzer.class
- 326
- .getName()).log(Level.FINE, null , ex);
- 327 0 final String msg = String.format("Unable to find file '%s'." , file.getName());
- 328 0 throw new AnalysisException(msg, ex);
- 329 0 } catch (IOException ex) {
- 330 0 Logger.getLogger(ArchiveAnalyzer.class
- 331
- .getName()).log(Level.FINE, null , ex);
- 332 0 final String msg = String.format("IO Exception while parsing file '%s'." , file.getName());
- 333 0 throw new AnalysisException(msg, ex);
- 334
- } finally {
- 335 34 if (bos != null ) {
- 336
- try {
- 337 34 bos.close();
- 338 0 } catch (IOException ex) {
- 339 0 Logger.getLogger(ArchiveAnalyzer.class
- 340
- .getName()).log(Level.FINEST, null , ex);
- 341 34 }
- 342
+ 323 17 fos = new FileOutputStream(file);
+ 324 17 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
+ 325
+ int count;
+ 326 17 final byte data[] = new byte [BUFFER_SIZE];
+ 327 3367 while ((count = input.read(data, 0, BUFFER_SIZE)) != -1) {
+ 328 3350 bos.write(data, 0, count);
+ 329
}
+ 330 17 bos.flush();
+ 331 0 } catch (FileNotFoundException ex) {
+ 332 0 Logger.getLogger(ArchiveAnalyzer.class
+ 333
+ .getName()).log(Level.FINE, null , ex);
+ 334 0 final String msg = String.format("Unable to find file '%s'." , file.getName());
+ 335 0 throw new AnalysisException(msg, ex);
+ 336 0 } catch (IOException ex) {
+ 337 0 Logger.getLogger(ArchiveAnalyzer.class
+ 338
+ .getName()).log(Level.FINE, null , ex);
+ 339 0 final String msg = String.format("IO Exception while parsing file '%s'." , file.getName());
+ 340 0 throw new AnalysisException(msg, ex);
+ 341
+ } finally {
+ 342 17 if (bos != null ) {
343
+ try {
+ 344 17 bos.close();
+ 345 0 } catch (IOException ex) {
+ 346 0 Logger.getLogger(ArchiveAnalyzer.class
+ 347
+ .getName()).log(Level.FINEST, null , ex);
+ 348 17 }
+ 349
+ }
+ 350
}
- 344
- }
- 345 300 }
- 346
- }
- 347 0 } catch (IOException ex) {
- 348 0 throw new ArchiveExtractionException(ex);
- 349 0 } catch (Throwable ex) {
- 350 0 throw new ArchiveExtractionException(ex);
351
- } finally {
- 352 12 if (input != null ) {
+ }
+ 352 150 }
353
- try {
- 354 12 input.close();
- 355 0 } catch (IOException ex) {
- 356 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
- 357 12 }
+ }
+ 354 0 } catch (IOException ex) {
+ 355 0 throw new ArchiveExtractionException(ex);
+ 356 0 } catch (Throwable ex) {
+ 357 0 throw new ArchiveExtractionException(ex);
358
- }
- 359
- }
- 360 12 }
- 361
-
- 362
-
- 363
-
- 364
-
- 365
-
- 366
-
- 367
-
- 368
-
- 369
- private void decompressFile(CompressorInputStream inputStream, File outputFile) throws ArchiveExtractionException {
- 370 4 FileOutputStream out = null ;
- 371
- try {
- 372 4 out = new FileOutputStream(outputFile);
- 373 4 final byte [] buffer = new byte [BUFFER_SIZE];
- 374 4 int n = 0;
- 375 544 while (-1 != (n = inputStream.read(buffer))) {
- 376 540 out.write(buffer, 0, n);
- 377
- }
- 378 0 } catch (FileNotFoundException ex) {
- 379 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
- 380 0 throw new ArchiveExtractionException(ex);
- 381 0 } catch (IOException ex) {
- 382 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
- 383 0 throw new ArchiveExtractionException(ex);
- 384
} finally {
- 385 4 if (out != null ) {
- 386
+ 359 6 if (input != null ) {
+ 360
try {
- 387 4 out.close();
- 388 0 } catch (IOException ex) {
- 389 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
- 390 4 }
- 391
+ 361 6 input.close();
+ 362 0 } catch (IOException ex) {
+ 363 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+ 364 6 }
+ 365
}
- 392
+ 366
}
- 393 4 }
- 394
+ 367 6 }
+ 368
+
+ 369
+
+ 370
+
+ 371
+
+ 372
+
+ 373
+
+ 374
+
+ 375
+
+ 376
+ private void decompressFile(CompressorInputStream inputStream, File outputFile) throws ArchiveExtractionException {
+ 377 2 FileOutputStream out = null ;
+ 378
+ try {
+ 379 2 out = new FileOutputStream(outputFile);
+ 380 2 final byte [] buffer = new byte [BUFFER_SIZE];
+ 381 2 int n = 0;
+ 382 272 while (-1 != (n = inputStream.read(buffer))) {
+ 383 270 out.write(buffer, 0, n);
+ 384
+ }
+ 385 0 } catch (FileNotFoundException ex) {
+ 386 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 387 0 throw new ArchiveExtractionException(ex);
+ 388 0 } catch (IOException ex) {
+ 389 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 390 0 throw new ArchiveExtractionException(ex);
+ 391
+ } finally {
+ 392 2 if (out != null ) {
+ 393
+ try {
+ 394 2 out.close();
+ 395 0 } catch (IOException ex) {
+ 396 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+ 397 2 }
+ 398
+ }
+ 399
+ }
+ 400 2 }
+ 401
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveExtractionException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveExtractionException.html
index 1432add25..77aa8dc86 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveExtractionException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveExtractionException.html
@@ -143,6 +143,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
index 1893f7656..8f39c60a8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
@@ -133,7 +133,7 @@
57
- 58 20 public class CPEAnalyzer implements Analyzer {
+ 58 10 public class CPEAnalyzer implements Analyzer {
59
60
@@ -210,19 +210,19 @@
96
public void open() throws IOException, DatabaseException {
- 97 22 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, "Opening the CVE Database" );
- 98 22 cve = new CveDB();
- 99 22 cve.open();
- 100 22 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, "Creating the Lucene CPE Index" );
- 101 22 cpe = CpeMemoryIndex.getInstance();
+ 97 11 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, "Opening the CVE Database" );
+ 98 11 cve = new CveDB();
+ 99 11 cve.open();
+ 100 11 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, "Creating the Lucene CPE Index" );
+ 101 11 cpe = CpeMemoryIndex.getInstance();
102
try {
- 103 22 cpe.open(cve);
+ 103 11 cpe.open(cve);
104 0 } catch (IndexException ex) {
105 0 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, "IndexException" , ex);
106 0 throw new DatabaseException(ex);
- 107 22 }
- 108 22 }
+ 107 11 }
+ 108 11 }
109
110
@@ -235,15 +235,15 @@
@Override
114
public void close() {
- 115 22 if (cpe != null ) {
- 116 22 cpe.close();
+ 115 11 if (cpe != null ) {
+ 116 11 cpe.close();
117
}
- 118 22 if (cve != null ) {
- 119 22 cve.close();
+ 118 11 if (cve != null ) {
+ 119 11 cve.close();
120
}
- 121 22 }
+ 121 11 }
122
123
@@ -266,56 +266,56 @@
132
protected void determineCPE(Dependency dependency) throws CorruptIndexException, IOException, ParseException {
- 133 38 Confidence confidence = Confidence.HIGHEST;
+ 133 19 Confidence confidence = Confidence.HIGHEST;
134
- 135 38 String vendors = addEvidenceWithoutDuplicateTerms("" , dependency.getVendorEvidence(), confidence);
- 136 38 String products = addEvidenceWithoutDuplicateTerms("" , dependency.getProductEvidence(), confidence);
+ 135 19 String vendors = addEvidenceWithoutDuplicateTerms("" , dependency.getVendorEvidence(), confidence);
+ 136 19 String products = addEvidenceWithoutDuplicateTerms("" , dependency.getProductEvidence(), confidence);
137
138
- 139 38 addEvidenceWithoutDuplicateTerms("" , dependency.getVersionEvidence(), confidence);
+ 139 19 addEvidenceWithoutDuplicateTerms("" , dependency.getVersionEvidence(), confidence);
140
- 141 38 int ctr = 0;
+ 141 19 int ctr = 0;
142
do {
- 143 152 if (!vendors.isEmpty() && !products.isEmpty()) {
- 144 144 final List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),
+ 143 76 if (!vendors.isEmpty() && !products.isEmpty()) {
+ 144 72 final List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),
145
dependency.getVendorEvidence().getWeighting());
146
- 147 144 for (IndexEntry e : entries) {
- 148 1458 if (verifyEntry(e, dependency)) {
- 149 142 final String vendor = e.getVendor();
- 150 142 final String product = e.getProduct();
- 151 142 determineIdentifiers(dependency, vendor, product);
+ 147 72 for (IndexEntry e : entries) {
+ 148 729 if (verifyEntry(e, dependency)) {
+ 149 71 final String vendor = e.getVendor();
+ 150 71 final String product = e.getProduct();
+ 151 71 determineIdentifiers(dependency, vendor, product);
152
}
- 153 1458 }
+ 153 729 }
154
}
- 155 152 confidence = reduceConfidence(confidence);
- 156 152 if (dependency.getVendorEvidence().contains(confidence)) {
- 157 122 vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);
+ 155 76 confidence = reduceConfidence(confidence);
+ 156 76 if (dependency.getVendorEvidence().contains(confidence)) {
+ 157 61 vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);
158
}
- 159 152 if (dependency.getProductEvidence().contains(confidence)) {
- 160 128 products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);
+ 159 76 if (dependency.getProductEvidence().contains(confidence)) {
+ 160 64 products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);
161
}
162
163
- 164 152 if (dependency.getVersionEvidence().contains(confidence)) {
- 165 74 addEvidenceWithoutDuplicateTerms("" , dependency.getVersionEvidence(), confidence);
+ 164 76 if (dependency.getVersionEvidence().contains(confidence)) {
+ 165 37 addEvidenceWithoutDuplicateTerms("" , dependency.getVersionEvidence(), confidence);
166
}
- 167 152 } while ((++ctr) < 4);
- 168 38 }
+ 167 76 } while ((++ctr) < 4);
+ 168 19 }
169
170
@@ -340,31 +340,31 @@
180
private String addEvidenceWithoutDuplicateTerms(final String text, final EvidenceCollection ec, Confidence confidenceFilter) {
- 181 438 final String txt = (text == null ) ? "" : text;
- 182 438 final StringBuilder sb = new StringBuilder(txt.length() + (20 * ec.size()));
- 183 438 sb.append(' ' ).append(txt).append(' ' );
- 184 438 for (Evidence e : ec.iterator(confidenceFilter)) {
- 185 848 String value = e.getValue();
+ 181 219 final String txt = (text == null ) ? "" : text;
+ 182 219 final StringBuilder sb = new StringBuilder(txt.length() + (20 * ec.size()));
+ 183 219 sb.append(' ' ).append(txt).append(' ' );
+ 184 219 for (Evidence e : ec.iterator(confidenceFilter)) {
+ 185 409 String value = e.getValue();
186
187
188
- 189 848 if (value.startsWith("http://" )) {
- 190 64 value = value.substring(7).replaceAll("\\." , " " );
+ 189 409 if (value.startsWith("http://" )) {
+ 190 32 value = value.substring(7).replaceAll("\\." , " " );
191
}
- 192 848 if (value.startsWith("https://" )) {
+ 192 409 if (value.startsWith("https://" )) {
193 0 value = value.substring(8).replaceAll("\\." , " " );
194
}
- 195 848 if (sb.indexOf(" " + value + " " ) < 0) {
- 196 546 sb.append(value).append(' ' );
+ 195 409 if (sb.indexOf(" " + value + " " ) < 0) {
+ 196 270 sb.append(value).append(' ' );
197
}
- 198 848 }
- 199 438 return sb.toString().trim();
+ 198 409 }
+ 199 219 return sb.toString().trim();
200
}
201
@@ -383,13 +383,13 @@
208
private Confidence reduceConfidence(final Confidence c) {
- 209 152 if (c == Confidence.HIGHEST) {
- 210 38 return Confidence.HIGH;
- 211 114 } else if (c == Confidence.HIGH) {
- 212 38 return Confidence.MEDIUM;
+ 209 76 if (c == Confidence.HIGHEST) {
+ 210 19 return Confidence.HIGH;
+ 211 57 } else if (c == Confidence.HIGH) {
+ 212 19 return Confidence.MEDIUM;
213
} else {
- 214 76 return Confidence.LOW;
+ 214 38 return Confidence.LOW;
215
}
216
@@ -438,23 +438,23 @@
Set<String> vendorWeightings, Set<String> productWeightings)
238
throws CorruptIndexException, IOException, ParseException {
- 239 146 final ArrayList<IndexEntry> ret = new ArrayList<IndexEntry>(MAX_QUERY_RESULTS);
+ 239 73 final ArrayList<IndexEntry> ret = new ArrayList<IndexEntry>(MAX_QUERY_RESULTS);
240
- 241 146 final String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);
- 242 146 if (searchString == null ) {
+ 241 73 final String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);
+ 242 73 if (searchString == null ) {
243 0 return ret;
244
}
245
- 246 146 final TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);
- 247 2444 for (ScoreDoc d : docs.scoreDocs) {
- 248 2298 if (d.score >= 0.08) {
- 249 1500 final Document doc = cpe.getDocument(d.doc);
- 250 1500 final IndexEntry entry = new IndexEntry();
- 251 1500 entry.setVendor(doc.get(Fields.VENDOR));
- 252 1500 entry.setProduct(doc.get(Fields.PRODUCT));
+ 246 73 final TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);
+ 247 1222 for (ScoreDoc d : docs.scoreDocs) {
+ 248 1149 if (d.score >= 0.08) {
+ 249 750 final Document doc = cpe.getDocument(d.doc);
+ 250 750 final IndexEntry entry = new IndexEntry();
+ 251 750 entry.setVendor(doc.get(Fields.VENDOR));
+ 252 750 entry.setProduct(doc.get(Fields.PRODUCT));
253
254
@@ -469,16 +469,16 @@
259
- 260 1500 entry.setSearchScore(d.score);
- 261 1500 if (!ret.contains(entry)) {
- 262 1500 ret.add(entry);
+ 260 750 entry.setSearchScore(d.score);
+ 261 750 if (!ret.contains(entry)) {
+ 262 750 ret.add(entry);
263
}
264
}
265
}
- 266 146 return ret;
+ 266 73 return ret;
267
}
268
@@ -515,23 +515,23 @@
protected String buildSearch(String vendor, String product,
284
Set<String> vendorWeighting, Set<String> productWeightings) {
- 285 154 final String v = vendor;
- 286 154 final String p = product;
- 287 154 final StringBuilder sb = new StringBuilder(v.length() + p.length()
+ 285 77 final String v = vendor;
+ 286 77 final String p = product;
+ 287 77 final StringBuilder sb = new StringBuilder(v.length() + p.length()
288
+ Fields.PRODUCT.length() + Fields.VENDOR.length() + STRING_BUILDER_BUFFER);
289
- 290 154 if (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {
+ 290 77 if (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {
291 0 return null ;
292
}
- 293 154 sb.append(" AND " );
- 294 154 if (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {
+ 293 77 sb.append(" AND " );
+ 294 77 if (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {
295 0 return null ;
296
}
- 297 154 return sb.toString();
+ 297 77 return sb.toString();
298
}
299
@@ -560,47 +560,47 @@
311
private boolean appendWeightedSearch(StringBuilder sb, String field, String searchText, Set<String> weightedText) {
- 312 308 sb.append(" " ).append(field).append(":( " );
+ 312 154 sb.append(" " ).append(field).append(":( " );
313
- 314 308 final String cleanText = cleanseText(searchText);
+ 314 154 final String cleanText = cleanseText(searchText);
315
- 316 308 if ("" .equals(cleanText)) {
+ 316 154 if ("" .equals(cleanText)) {
317 0 return false ;
318
}
319
- 320 308 if (weightedText == null || weightedText.isEmpty()) {
- 321 80 LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);
+ 320 154 if (weightedText == null || weightedText.isEmpty()) {
+ 321 40 LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);
322
} else {
- 323 228 final StringTokenizer tokens = new StringTokenizer(cleanText);
- 324 2434 while (tokens.hasMoreElements()) {
- 325 2206 final String word = tokens.nextToken();
- 326 2206 String temp = null ;
- 327 2206 for (String weighted : weightedText) {
- 328 4428 final String weightedStr = cleanseText(weighted);
- 329 4428 if (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {
- 330 502 temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;
- 331 502 if (!word.equalsIgnoreCase(weightedStr)) {
- 332 36 temp += " " + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;
+ 323 114 final StringTokenizer tokens = new StringTokenizer(cleanText);
+ 324 1211 while (tokens.hasMoreElements()) {
+ 325 1097 final String word = tokens.nextToken();
+ 326 1097 String temp = null ;
+ 327 1097 for (String weighted : weightedText) {
+ 328 2202 final String weightedStr = cleanseText(weighted);
+ 329 2202 if (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {
+ 330 251 temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;
+ 331 251 if (!word.equalsIgnoreCase(weightedStr)) {
+ 332 18 temp += " " + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;
333
}
334
}
- 335 4428 }
- 336 2206 if (temp == null ) {
- 337 1704 temp = LuceneUtils.escapeLuceneQuery(word);
+ 335 2202 }
+ 336 1097 if (temp == null ) {
+ 337 846 temp = LuceneUtils.escapeLuceneQuery(word);
338
}
- 339 2206 sb.append(" " ).append(temp);
- 340 2206 }
+ 339 1097 sb.append(" " ).append(temp);
+ 340 1097 }
341
}
- 342 308 sb.append(" ) " );
- 343 308 return true ;
+ 342 154 sb.append(" ) " );
+ 343 154 return true ;
344
}
345
@@ -619,7 +619,7 @@
352
private String cleanseText(String text) {
- 353 4736 return text.replaceAll(CLEANSE_CHARACTER_RX, " " );
+ 353 2356 return text.replaceAll(CLEANSE_CHARACTER_RX, " " );
354
}
355
@@ -640,15 +640,15 @@
363
private boolean equalsIgnoreCaseAndNonAlpha(String l, String r) {
- 364 4428 if (l == null || r == null ) {
+ 364 2202 if (l == null || r == null ) {
365 0 return false ;
366
}
367
- 368 4428 final String left = l.replaceAll(CLEANSE_NONALPHA_RX, "" );
- 369 4428 final String right = r.replaceAll(CLEANSE_NONALPHA_RX, "" );
- 370 4428 return left.equalsIgnoreCase(right);
+ 368 2202 final String left = l.replaceAll(CLEANSE_NONALPHA_RX, "" );
+ 369 2202 final String right = r.replaceAll(CLEANSE_NONALPHA_RX, "" );
+ 370 2202 return left.equalsIgnoreCase(right);
371
}
372
@@ -671,18 +671,18 @@
381
private boolean verifyEntry(final IndexEntry entry, final Dependency dependency) {
- 382 1458 boolean isValid = false ;
+ 382 729 boolean isValid = false ;
383
- 384 1458 if (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())
+ 384 729 if (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())
385
&& collectionContainsString(dependency.getVendorEvidence(), entry.getVendor())) {
386
- 387 142 isValid = true ;
+ 387 71 isValid = true ;
388
}
- 389 1458 return isValid;
+ 389 729 return isValid;
390
}
391
@@ -727,14 +727,14 @@
411
- 412 1612 if (text == null ) {
+ 412 806 if (text == null ) {
413 0 return false ;
414
}
- 415 1612 final String[] words = text.split("[\\s_-]" );
- 416 1612 final List<String> list = new ArrayList<String>();
- 417 1612 String tempWord = null ;
- 418 4556 for (String word : words) {
+ 415 806 final String[] words = text.split("[\\s_-]" );
+ 416 806 final List<String> list = new ArrayList<String>();
+ 417 806 String tempWord = null ;
+ 418 2270 for (String word : words) {
419
420
@@ -743,28 +743,28 @@
422
- 423 2944 if (tempWord != null ) {
- 424 34 list.add(tempWord + word);
- 425 34 tempWord = null ;
- 426 2910 } else if (word.length() <= 2) {
- 427 80 tempWord = word;
+ 423 1464 if (tempWord != null ) {
+ 424 17 list.add(tempWord + word);
+ 425 17 tempWord = null ;
+ 426 1447 } else if (word.length() <= 2) {
+ 427 40 tempWord = word;
428
} else {
- 429 2830 list.add(word);
+ 429 1407 list.add(word);
430
}
431
}
- 432 1612 if (tempWord != null && !list.isEmpty()) {
- 433 38 final String tmp = list.get(list.size() - 1) + tempWord;
- 434 38 list.add(tmp);
+ 432 806 if (tempWord != null && !list.isEmpty()) {
+ 433 19 final String tmp = list.get(list.size() - 1) + tempWord;
+ 434 19 list.add(tmp);
435
}
- 436 1612 boolean contains = true ;
- 437 1612 for (String word : list) {
- 438 2902 contains &= ec.containsUsedString(word);
- 439 2902 }
- 440 1612 return contains;
+ 436 806 boolean contains = true ;
+ 437 806 for (String word : list) {
+ 438 1443 contains &= ec.containsUsedString(word);
+ 439 1443 }
+ 440 806 return contains;
441
}
442
@@ -789,15 +789,15 @@
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
452
try {
- 453 30 determineCPE(dependency);
+ 453 15 determineCPE(dependency);
454 0 } catch (CorruptIndexException ex) {
455 0 throw new AnalysisException("CPE Index is corrupt." , ex);
456 0 } catch (IOException ex) {
457 0 throw new AnalysisException("Failure opening the CPE Index." , ex);
458 0 } catch (ParseException ex) {
459 0 throw new AnalysisException("Unable to parse the generated Lucene query for this dependency." , ex);
- 460 30 }
- 461 30 }
+ 460 15 }
+ 461 15 }
462
463
@@ -814,7 +814,7 @@
@Override
469
public Set<String> getSupportedExtensions() {
- 470 264 return null ;
+ 470 132 return null ;
471
}
472
@@ -833,7 +833,7 @@
@Override
479
public String getName() {
- 480 18 return "CPE Analyzer" ;
+ 480 9 return "CPE Analyzer" ;
481
}
482
@@ -854,7 +854,7 @@
@Override
490
public boolean supportsExtension(String extension) {
- 491 18 return true ;
+ 491 9 return true ;
492
}
493
@@ -873,7 +873,7 @@
@Override
500
public AnalysisPhase getAnalysisPhase() {
- 501 12 return AnalysisPhase.IDENTIFIER_ANALYSIS;
+ 501 6 return AnalysisPhase.IDENTIFIER_ANALYSIS;
502
}
503
@@ -892,8 +892,8 @@
@Override
510
public void initialize() throws Exception {
- 511 6 this .open();
- 512 6 }
+ 511 3 this .open();
+ 512 3 }
513
514
@@ -918,43 +918,43 @@
524
private void determineIdentifiers(Dependency dependency, String vendor, String product) throws UnsupportedEncodingException {
- 525 142 final Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);
- 526 142 DependencyVersion bestGuess = new DependencyVersion("-" );
- 527 142 Confidence bestGuessConf = null ;
- 528 142 final List<IdentifierMatch> collected = new ArrayList<IdentifierMatch>();
- 529 710 for (Confidence conf : Confidence.values()) {
- 530 568 for (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {
- 531 384 final DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());
- 532 384 if (evVer == null ) {
+ 525 71 final Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);
+ 526 71 DependencyVersion bestGuess = new DependencyVersion("-" );
+ 527 71 Confidence bestGuessConf = null ;
+ 528 71 final List<IdentifierMatch> collected = new ArrayList<IdentifierMatch>();
+ 529 355 for (Confidence conf : Confidence.values()) {
+ 530 284 for (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {
+ 531 160 final DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());
+ 532 160 if (evVer == null ) {
533 0 continue ;
534
}
- 535 384 for (VulnerableSoftware vs : cpes) {
+ 535 160 for (VulnerableSoftware vs : cpes) {
536
DependencyVersion dbVer;
- 537 22696 if (vs.getRevision() != null && !vs.getRevision().isEmpty()) {
- 538 7070 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + "." + vs.getRevision());
+ 537 9104 if (vs.getRevision() != null && !vs.getRevision().isEmpty()) {
+ 538 2855 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + "." + vs.getRevision());
539
} else {
- 540 15626 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());
+ 540 6249 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());
541
}
- 542 22696 if (dbVer == null
+ 542 9104 if (dbVer == null
543
|| evVer.equals(dbVer)) {
- 544 402 final String url = String.format("http://web.nvd.nist.gov/view/vuln/search?cpe=%s" , URLEncoder.encode(vs.getName(), "UTF-8" ));
- 545 402 final IdentifierMatch match = new IdentifierMatch("cpe" , vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);
- 546 402 collected.add(match);
- 547 402 } else {
+ 544 169 final String url = String.format("http://web.nvd.nist.gov/view/vuln/search?cpe=%s" , URLEncoder.encode(vs.getName(), "UTF-8" ));
+ 545 169 final IdentifierMatch match = new IdentifierMatch("cpe" , vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);
+ 546 169 collected.add(match);
+ 547 169 } else {
548
- 549 22294 if (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()
+ 549 8935 if (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()
550
&& evVer.matchesAtLeastThreeLevels(dbVer)) {
- 551 832 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
- 552 20 if (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {
- 553 20 bestGuess = dbVer;
- 554 20 bestGuessConf = conf;
+ 551 412 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+ 552 10 if (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {
+ 553 10 bestGuess = dbVer;
+ 554 10 bestGuessConf = conf;
555
}
556
@@ -963,48 +963,48 @@
}
558
}
- 559 22696 }
- 560 384 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
- 561 98 if (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {
- 562 98 bestGuess = evVer;
- 563 98 bestGuessConf = conf;
+ 559 9104 }
+ 560 160 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+ 561 49 if (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {
+ 562 49 bestGuess = evVer;
+ 563 49 bestGuessConf = conf;
564
}
565
}
- 566 384 }
+ 566 160 }
567
}
- 568 142 final String cpeName = String.format("cpe:/a:%s:%s:%s" , vendor, product, bestGuess.toString());
- 569 142 final String url = null ;
- 570 142 if (bestGuessConf == null ) {
- 571 24 bestGuessConf = Confidence.LOW;
+ 568 71 final String cpeName = String.format("cpe:/a:%s:%s:%s" , vendor, product, bestGuess.toString());
+ 569 71 final String url = null ;
+ 570 71 if (bestGuessConf == null ) {
+ 571 12 bestGuessConf = Confidence.LOW;
572
}
- 573 142 final IdentifierMatch match = new IdentifierMatch("cpe" , cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);
- 574 142 collected.add(match);
+ 573 71 final IdentifierMatch match = new IdentifierMatch("cpe" , cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);
+ 574 71 collected.add(match);
575
- 576 142 Collections.sort(collected);
- 577 142 final IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();
- 578 142 final Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();
- 579 142 for (IdentifierMatch m : collected) {
- 580 544 if (bestIdentifierQuality.equals(m.getConfidence())
+ 576 71 Collections.sort(collected);
+ 577 71 final IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();
+ 578 71 final Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();
+ 579 71 for (IdentifierMatch m : collected) {
+ 580 240 if (bestIdentifierQuality.equals(m.getConfidence())
581
&& bestEvidenceQuality.equals(m.getEvidenceConfidence())) {
- 582 216 final Identifier i = m.getIdentifier();
- 583 216 if (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {
- 584 46 i.setConfidence(Confidence.LOW);
+ 582 88 final Identifier i = m.getIdentifier();
+ 583 88 if (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {
+ 584 23 i.setConfidence(Confidence.LOW);
585
} else {
- 586 170 i.setConfidence(bestEvidenceQuality);
+ 586 65 i.setConfidence(bestEvidenceQuality);
587
}
- 588 216 dependency.addIdentifier(i);
+ 588 88 dependency.addIdentifier(i);
589
}
- 590 544 }
- 591 142 }
+ 590 240 }
+ 591 71 }
592
593
@@ -1013,7 +1013,7 @@
595
- 596 6 private enum IdentifierConfidence {
+ 596 3 private enum IdentifierConfidence {
597
598
@@ -1022,14 +1022,14 @@
600
- 601 2 EXACT_MATCH,
+ 601 1 EXACT_MATCH,
602
603
604
- 605 2 BEST_GUESS
+ 605 1 BEST_GUESS
606
}
607
@@ -1040,7 +1040,7 @@
610
- 611 674 private static class IdentifierMatch implements Comparable<IdentifierMatch> {
+ 611 265 private static class IdentifierMatch implements Comparable<IdentifierMatch> {
612
613
@@ -1061,11 +1061,11 @@
621
- 622 544 IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {
- 623 544 this .identifier = new Identifier(type, value, url);
- 624 544 this .confidence = identifierConfidence;
- 625 544 this .evidenceConfidence = evidenceConfidence;
- 626 544 }
+ 622 240 IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {
+ 623 240 this .identifier = new Identifier(type, value, url);
+ 624 240 this .confidence = identifierConfidence;
+ 625 240 this .evidenceConfidence = evidenceConfidence;
+ 626 240 }
627
628
@@ -1090,7 +1090,7 @@
638
public Confidence getEvidenceConfidence() {
- 639 590 return evidenceConfidence;
+ 639 263 return evidenceConfidence;
640
}
641
@@ -1131,7 +1131,7 @@
660
public IdentifierConfidence getConfidence() {
- 661 686 return confidence;
+ 661 311 return confidence;
662
}
663
@@ -1172,7 +1172,7 @@
682
public Identifier getIdentifier() {
- 683 216 return identifier;
+ 683 88 return identifier;
684
}
685
@@ -1303,16 +1303,16 @@
@Override
758
public int compareTo(IdentifierMatch o) {
- 759 674 int conf = this .confidence.compareTo(o.confidence);
- 760 674 if (conf == 0) {
- 761 522 conf = this .evidenceConfidence.compareTo(o.evidenceConfidence);
- 762 522 if (conf == 0) {
- 763 286 conf = identifier.compareTo(o.identifier);
+ 759 265 int conf = this .confidence.compareTo(o.confidence);
+ 760 265 if (conf == 0) {
+ 761 193 conf = this .evidenceConfidence.compareTo(o.evidenceConfidence);
+ 762 193 if (conf == 0) {
+ 763 83 conf = identifier.compareTo(o.identifier);
764
}
765
}
- 766 674 return conf;
+ 766 265 return conf;
767
}
768
@@ -1321,6 +1321,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html
index 834e43088..a4aacdf90 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html
@@ -75,7 +75,7 @@
29
- 30 2 public class CpeSuppressionAnalyzer extends AbstractSuppressionAnalyzer {
+ 30 1 public class CpeSuppressionAnalyzer extends AbstractSuppressionAnalyzer {
31
32
@@ -94,7 +94,7 @@
39
- 40 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
+ 40 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
41
42
@@ -111,7 +111,7 @@
@Override
48
public String getName() {
- 49 18 return ANALYZER_NAME;
+ 49 9 return ANALYZER_NAME;
50
}
51
@@ -130,7 +130,7 @@
@Override
58
public AnalysisPhase getAnalysisPhase() {
- 59 12 return ANALYSIS_PHASE;
+ 59 6 return ANALYSIS_PHASE;
60
}
61
@@ -143,8 +143,8 @@
public void analyze(final Dependency dependency, final Engine engine) throws AnalysisException {
65
- 66 18 if (getRules() == null || getRules().size() <= 0) {
- 67 18 return ;
+ 66 9 if (getRules() == null || getRules().size() <= 0) {
+ 67 9 return ;
68
}
69
@@ -157,6 +157,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
index 742bdd88a..7cbea3bdb 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
@@ -12,7 +12,7 @@
@@ -107,7 +107,7 @@
45
- 46 12 public class DependencyBundlingAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 46 6 public class DependencyBundlingAnalyzer extends AbstractAnalyzer implements Analyzer {
47
48
@@ -118,14 +118,14 @@
51
- 52 2 private static final Pattern STARTING_TEXT_PATTERN = Pattern.compile("^[a-zA-Z]*" );
+ 52 1 private static final Pattern STARTING_TEXT_PATTERN = Pattern.compile("^[a-zA-Z]*" );
53
54
55
- 56 12 private boolean analyzed = false ;
+ 56 6 private boolean analyzed = false ;
57
58
@@ -136,7 +136,7 @@
61
- 62 2 private static final Set<String> EXTENSIONS = null ;
+ 62 1 private static final Set<String> EXTENSIONS = null ;
63
64
@@ -151,7 +151,7 @@
69
- 70 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_FINDING_ANALYSIS;
+ 70 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_FINDING_ANALYSIS;
71
72
@@ -166,7 +166,7 @@
77
public Set<String> getSupportedExtensions() {
- 78 266 return EXTENSIONS;
+ 78 133 return EXTENSIONS;
79
}
80
@@ -183,7 +183,7 @@
86
public String getName() {
- 87 20 return ANALYZER_NAME;
+ 87 10 return ANALYZER_NAME;
88
}
89
@@ -202,7 +202,7 @@
96
public boolean supportsExtension(String extension) {
- 97 20 return true ;
+ 97 10 return true ;
98
}
99
@@ -219,7 +219,7 @@
105
public AnalysisPhase getAnalysisPhase() {
- 106 14 return ANALYSIS_PHASE;
+ 106 7 return ANALYSIS_PHASE;
107
}
108
@@ -246,19 +246,19 @@
@Override
119
public void analyze(Dependency ignore, Engine engine) throws AnalysisException {
- 120 18 if (!analyzed) {
- 121 2 analyzed = true ;
- 122 2 final Set<Dependency> dependenciesToRemove = new HashSet<Dependency>();
- 123 2 final ListIterator<Dependency> mainIterator = engine.getDependencies().listIterator();
+ 120 9 if (!analyzed) {
+ 121 1 analyzed = true ;
+ 122 1 final Set<Dependency> dependenciesToRemove = new HashSet<Dependency>();
+ 123 1 final ListIterator<Dependency> mainIterator = engine.getDependencies().listIterator();
124
- 125 8 while (mainIterator.hasNext()) {
- 126 6 final Dependency dependency = mainIterator.next();
- 127 6 if (mainIterator.hasNext()) {
- 128 4 final ListIterator<Dependency> subIterator = engine.getDependencies().listIterator(mainIterator.nextIndex());
- 129 10 while (subIterator.hasNext()) {
- 130 6 final Dependency nextDependency = subIterator.next();
- 131 6 if (isShadedJar(dependency, nextDependency)) {
+ 125 4 while (mainIterator.hasNext()) {
+ 126 3 final Dependency dependency = mainIterator.next();
+ 127 3 if (mainIterator.hasNext()) {
+ 128 2 final ListIterator<Dependency> subIterator = engine.getDependencies().listIterator(mainIterator.nextIndex());
+ 129 5 while (subIterator.hasNext()) {
+ 130 3 final Dependency nextDependency = subIterator.next();
+ 131 3 if (isShadedJar(dependency, nextDependency)) {
132 0 if (dependency.getFileName().toLowerCase().endsWith("pom.xml" )) {
133 0 dependenciesToRemove.add(dependency);
134
@@ -266,7 +266,7 @@
135 0 dependenciesToRemove.add(nextDependency);
136
}
- 137 6 } else if (hashesMatch(dependency, nextDependency)) {
+ 137 3 } else if (hashesMatch(dependency, nextDependency)) {
138 0 if (isCore(dependency, nextDependency)) {
139 0 mergeDependencies(dependency, nextDependency, dependenciesToRemove);
140
@@ -274,7 +274,7 @@
141 0 mergeDependencies(nextDependency, dependency, dependenciesToRemove);
142
}
- 143 6 } else if (cpeIdentifiersMatch(dependency, nextDependency)
+ 143 3 } else if (cpeIdentifiersMatch(dependency, nextDependency)
144
&& hasSameBasePath(dependency, nextDependency)
145
@@ -290,20 +290,20 @@
}
152
}
- 153 6 }
+ 153 3 }
154
}
- 155 6 }
+ 155 3 }
156
157
- 158 2 for (Dependency d : dependenciesToRemove) {
+ 158 1 for (Dependency d : dependenciesToRemove) {
159 0 engine.getDependencies().remove(d);
160 0 }
161
}
- 162 18 }
+ 162 9 }
163
164
@@ -470,43 +470,43 @@
267
private boolean cpeIdentifiersMatch(Dependency dependency1, Dependency dependency2) {
- 268 6 if (dependency1 == null || dependency1.getIdentifiers() == null
+ 268 3 if (dependency1 == null || dependency1.getIdentifiers() == null
269
|| dependency2 == null || dependency2.getIdentifiers() == null ) {
270 0 return false ;
271
}
- 272 6 boolean matches = false ;
- 273 6 int cpeCount1 = 0;
- 274 6 int cpeCount2 = 0;
- 275 6 for (Identifier i : dependency1.getIdentifiers()) {
- 276 6 if ("cpe" .equals(i.getType())) {
- 277 6 cpeCount1 += 1;
+ 272 3 boolean matches = false ;
+ 273 3 int cpeCount1 = 0;
+ 274 3 int cpeCount2 = 0;
+ 275 3 for (Identifier i : dependency1.getIdentifiers()) {
+ 276 3 if ("cpe" .equals(i.getType())) {
+ 277 3 cpeCount1 += 1;
278
}
- 279 6 }
- 280 6 for (Identifier i : dependency2.getIdentifiers()) {
- 281 10 if ("cpe" .equals(i.getType())) {
- 282 6 cpeCount2 += 1;
+ 279 3 }
+ 280 3 for (Identifier i : dependency2.getIdentifiers()) {
+ 281 3 if ("cpe" .equals(i.getType())) {
+ 282 3 cpeCount2 += 1;
283
}
- 284 10 }
- 285 6 if (cpeCount1 > 0 && cpeCount1 == cpeCount2) {
- 286 6 for (Identifier i : dependency1.getIdentifiers()) {
- 287 6 matches |= dependency2.getIdentifiers().contains(i);
- 288 6 if (!matches) {
- 289 4 break ;
+ 284 3 }
+ 285 3 if (cpeCount1 > 0 && cpeCount1 == cpeCount2) {
+ 286 3 for (Identifier i : dependency1.getIdentifiers()) {
+ 287 3 matches |= dependency2.getIdentifiers().contains(i);
+ 288 3 if (!matches) {
+ 289 2 break ;
290
}
- 291 2 }
+ 291 1 }
292
}
- 293 6 if (LogUtils.isVerboseLoggingEnabled()) {
+ 293 3 if (LogUtils.isVerboseLoggingEnabled()) {
294 0 final String msg = String.format("IdentifiersMatch=%s (%s, %s)" , matches, dependency1.getFileName(), dependency2.getFileName());
295 0 Logger.getLogger(DependencyBundlingAnalyzer.class .getName()).log(Level.FINE, msg);
296
}
- 297 6 return matches;
+ 297 3 return matches;
298
}
299
@@ -527,40 +527,40 @@
307
private boolean hasSameBasePath(Dependency dependency1, Dependency dependency2) {
- 308 2 if (dependency1 == null || dependency2 == null ) {
+ 308 1 if (dependency1 == null || dependency2 == null ) {
309 0 return false ;
310
}
- 311 2 final File lFile = new File(dependency1.getFilePath());
- 312 2 String left = lFile.getParent();
- 313 2 final File rFile = new File(dependency2.getFilePath());
- 314 2 String right = rFile.getParent();
- 315 2 if (left == null ) {
+ 311 1 final File lFile = new File(dependency1.getFilePath());
+ 312 1 String left = lFile.getParent();
+ 313 1 final File rFile = new File(dependency2.getFilePath());
+ 314 1 String right = rFile.getParent();
+ 315 1 if (left == null ) {
316 0 return right == null ;
317
}
- 318 2 if (left.equalsIgnoreCase(right)) {
+ 318 1 if (left.equalsIgnoreCase(right)) {
319 0 return true ;
320
}
- 321 2 if (left.matches(".*[/\\\\]repository[/\\\\].*" ) && right.matches(".*[/\\\\]repository[/\\\\].*" )) {
+ 321 1 if (left.matches(".*[/\\\\]repository[/\\\\].*" ) && right.matches(".*[/\\\\]repository[/\\\\].*" )) {
322 0 left = getBaseRepoPath(left);
323 0 right = getBaseRepoPath(right);
324
}
- 325 2 if (left.equalsIgnoreCase(right)) {
+ 325 1 if (left.equalsIgnoreCase(right)) {
326 0 return true ;
327
}
328
- 329 2 for (Dependency child : dependency2.getRelatedDependencies()) {
+ 329 1 for (Dependency child : dependency2.getRelatedDependencies()) {
330 0 if (hasSameBasePath(dependency1, child)) {
331 0 return true ;
332
}
333 0 }
- 334 2 return false ;
+ 334 1 return false ;
335
}
336
@@ -583,24 +583,24 @@
345
boolean isCore(Dependency left, Dependency right) {
- 346 4 final String leftName = left.getFileName().toLowerCase();
- 347 4 final String rightName = right.getFileName().toLowerCase();
+ 346 2 final String leftName = left.getFileName().toLowerCase();
+ 347 2 final String rightName = right.getFileName().toLowerCase();
348
349
final boolean returnVal;
- 350 4 if (!rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" ) && leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" )
+ 350 2 if (!rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" ) && leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" )
351
|| rightName.contains("core" ) && !leftName.contains("core" )
352
|| rightName.contains("kernel" ) && !leftName.contains("kernel" )) {
353 0 returnVal = false ;
- 354 4 } else if (rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" ) && !leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" )
+ 354 2 } else if (rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" ) && !leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" )
355
|| !rightName.contains("core" ) && leftName.contains("core" )
356
|| !rightName.contains("kernel" ) && leftName.contains("kernel" )) {
- 357 4 returnVal = true ;
+ 357 2 returnVal = true ;
358
} else {
359
@@ -624,12 +624,12 @@
368 0 returnVal = leftName.length() <= rightName.length();
369
}
- 370 4 if (LogUtils.isVerboseLoggingEnabled()) {
+ 370 2 if (LogUtils.isVerboseLoggingEnabled()) {
371 0 final String msg = String.format("IsCore=%s (%s, %s)" , returnVal, left.getFileName(), right.getFileName());
372 0 Logger.getLogger(DependencyBundlingAnalyzer.class .getName()).log(Level.FINE, msg);
373
}
- 374 4 return returnVal;
+ 374 2 return returnVal;
375
}
376
@@ -650,11 +650,11 @@
384
private boolean hashesMatch(Dependency dependency1, Dependency dependency2) {
- 385 6 if (dependency1 == null || dependency2 == null || dependency1.getSha1sum() == null || dependency2.getSha1sum() == null ) {
+ 385 3 if (dependency1 == null || dependency2 == null || dependency1.getSha1sum() == null || dependency2.getSha1sum() == null ) {
386 0 return false ;
387
}
- 388 6 return dependency1.getSha1sum().equals(dependency2.getSha1sum());
+ 388 3 return dependency1.getSha1sum().equals(dependency2.getSha1sum());
389
}
390
@@ -679,21 +679,21 @@
400
private boolean isShadedJar(Dependency dependency, Dependency nextDependency) {
- 401 6 final String mainName = dependency.getFileName().toLowerCase();
- 402 6 final String nextName = nextDependency.getFileName().toLowerCase();
- 403 6 if (mainName.endsWith(".jar" ) && nextName.endsWith("pom.xml" )) {
+ 401 3 final String mainName = dependency.getFileName().toLowerCase();
+ 402 3 final String nextName = nextDependency.getFileName().toLowerCase();
+ 403 3 if (mainName.endsWith(".jar" ) && nextName.endsWith("pom.xml" )) {
404 0 return dependency.getIdentifiers().containsAll(nextDependency.getIdentifiers());
- 405 6 } else if (nextName.endsWith(".jar" ) && mainName.endsWith("pom.xml" )) {
+ 405 3 } else if (nextName.endsWith(".jar" ) && mainName.endsWith("pom.xml" )) {
406 0 return nextDependency.getIdentifiers().containsAll(dependency.getIdentifiers());
407
}
- 408 6 return false ;
+ 408 3 return false ;
409
}
410
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html
index 8c7bb04b1..b3aa02ac5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html
@@ -12,7 +12,7 @@
@@ -99,7 +99,7 @@
41
- 42 24 public class FalsePositiveAnalyzer extends AbstractAnalyzer {
+ 42 12 public class FalsePositiveAnalyzer extends AbstractAnalyzer {
43
44
@@ -110,7 +110,7 @@
47
- 48 2 private static final Set<String> EXTENSIONS = null ;
+ 48 1 private static final Set<String> EXTENSIONS = null ;
49
50
@@ -125,7 +125,7 @@
55
- 56 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
+ 56 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
57
58
@@ -140,7 +140,7 @@
63
public Set<String> getSupportedExtensions() {
- 64 266 return EXTENSIONS;
+ 64 133 return EXTENSIONS;
65
}
66
@@ -157,7 +157,7 @@
72
public String getName() {
- 73 20 return ANALYZER_NAME;
+ 73 10 return ANALYZER_NAME;
74
}
75
@@ -176,7 +176,7 @@
82
public boolean supportsExtension(String extension) {
- 83 20 return true ;
+ 83 10 return true ;
84
}
85
@@ -193,7 +193,7 @@
91
public AnalysisPhase getAnalysisPhase() {
- 92 14 return ANALYSIS_PHASE;
+ 92 7 return ANALYSIS_PHASE;
93
}
94
@@ -218,12 +218,12 @@
@Override
104
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 105 32 removeJreEntries(dependency);
- 106 32 removeBadMatches(dependency);
- 107 32 removeWrongVersionMatches(dependency);
- 108 32 removeSpuriousCPE(dependency);
- 109 32 addFalseNegativeCPEs(dependency);
- 110 32 }
+ 105 16 removeJreEntries(dependency);
+ 106 16 removeBadMatches(dependency);
+ 107 16 removeWrongVersionMatches(dependency);
+ 108 16 removeSpuriousCPE(dependency);
+ 109 16 addFalseNegativeCPEs(dependency);
+ 110 16 }
111
112
@@ -266,41 +266,41 @@
@SuppressWarnings("null" )
131
private void removeSpuriousCPE(Dependency dependency) {
- 132 32 final List<Identifier> ids = new ArrayList<Identifier>();
- 133 32 ids.addAll(dependency.getIdentifiers());
- 134 32 Collections.sort(ids);
- 135 32 final ListIterator<Identifier> mainItr = ids.listIterator();
- 136 84 while (mainItr.hasNext()) {
- 137 52 final Identifier currentId = mainItr.next();
- 138 52 final VulnerableSoftware currentCpe = parseCpe(currentId.getType(), currentId.getValue());
- 139 52 if (currentCpe == null ) {
- 140 10 continue ;
+ 132 16 final List<Identifier> ids = new ArrayList<Identifier>();
+ 133 16 ids.addAll(dependency.getIdentifiers());
+ 134 16 Collections.sort(ids);
+ 135 16 final ListIterator<Identifier> mainItr = ids.listIterator();
+ 136 37 while (mainItr.hasNext()) {
+ 137 21 final Identifier currentId = mainItr.next();
+ 138 21 final VulnerableSoftware currentCpe = parseCpe(currentId.getType(), currentId.getValue());
+ 139 21 if (currentCpe == null ) {
+ 140 0 continue ;
141
}
- 142 42 final ListIterator<Identifier> subItr = ids.listIterator(mainItr.nextIndex());
- 143 84 while (subItr.hasNext()) {
- 144 42 final Identifier nextId = subItr.next();
- 145 42 final VulnerableSoftware nextCpe = parseCpe(nextId.getType(), nextId.getValue());
- 146 42 if (nextCpe == null ) {
- 147 20 continue ;
+ 142 21 final ListIterator<Identifier> subItr = ids.listIterator(mainItr.nextIndex());
+ 143 32 while (subItr.hasNext()) {
+ 144 11 final Identifier nextId = subItr.next();
+ 145 11 final VulnerableSoftware nextCpe = parseCpe(nextId.getType(), nextId.getValue());
+ 146 11 if (nextCpe == null ) {
+ 147 0 continue ;
148
}
149
- 150 22 if (currentCpe.getVendor().equals(nextCpe.getVendor())) {
- 151 6 if (currentCpe.getProduct().equals(nextCpe.getProduct())) {
+ 150 11 if (currentCpe.getVendor().equals(nextCpe.getVendor())) {
+ 151 3 if (currentCpe.getProduct().equals(nextCpe.getProduct())) {
152
- 153 6 final String currentVersion = currentCpe.getVersion();
- 154 6 final String nextVersion = nextCpe.getVersion();
- 155 6 if (currentVersion == null && nextVersion == null ) {
+ 153 3 final String currentVersion = currentCpe.getVersion();
+ 154 3 final String nextVersion = nextCpe.getVersion();
+ 155 3 if (currentVersion == null && nextVersion == null ) {
156
157 0 Logger.getLogger(FalsePositiveAnalyzer.class
158
.getName()).log(Level.FINE, "currentVersion and nextVersion are both null?" );
- 159 6 } else if (currentVersion == null && nextVersion != null ) {
- 160 6 dependency.getIdentifiers().remove(currentId);
+ 159 3 } else if (currentVersion == null && nextVersion != null ) {
+ 160 3 dependency.getIdentifiers().remove(currentId);
161 0 } else if (nextVersion == null && currentVersion != null ) {
162 0 dependency.getIdentifiers().remove(nextId);
163 0 } else if (currentVersion.length() < nextVersion.length()) {
@@ -320,16 +320,16 @@
}
173
}
- 174 22 }
- 175 42 }
- 176 32 }
+ 174 11 }
+ 175 21 }
+ 176 16 }
177
178
179
- 180 2 public static final Pattern CORE_JAVA = Pattern.compile("^cpe:/a:(sun|oracle|ibm):(j2[ems]e|"
+ 180 1 public static final Pattern CORE_JAVA = Pattern.compile("^cpe:/a:(sun|oracle|ibm):(j2[ems]e|"
181
+ "java(_platfrom_micro_edition|_runtime_environment|_se|virtual_machine|se_development_kit|fx)?|"
182
@@ -340,7 +340,7 @@
185
- 186 2 public static final Pattern CORE_FILES = Pattern.compile("^((alt[-])?rt|jsf[-].*|jsse|jfxrt|jfr|jce|javaws|deploy|charsets)\\.jar$" );
+ 186 1 public static final Pattern CORE_FILES = Pattern.compile("^((alt[-])?rt|jsf[-].*|jsse|jfxrt|jfr|jce|javaws|deploy|charsets)\\.jar$" );
187
188
@@ -355,13 +355,13 @@
193
private void removeJreEntries(Dependency dependency) {
- 194 32 final Set<Identifier> identifiers = dependency.getIdentifiers();
- 195 32 final Iterator<Identifier> itr = identifiers.iterator();
- 196 88 while (itr.hasNext()) {
- 197 56 final Identifier i = itr.next();
- 198 56 final Matcher coreCPE = CORE_JAVA.matcher(i.getValue());
- 199 56 final Matcher coreFiles = CORE_FILES.matcher(dependency.getFileName());
- 200 56 if (coreCPE.matches() && !coreFiles.matches()) {
+ 194 16 final Set<Identifier> identifiers = dependency.getIdentifiers();
+ 195 16 final Iterator<Identifier> itr = identifiers.iterator();
+ 196 39 while (itr.hasNext()) {
+ 197 23 final Identifier i = itr.next();
+ 198 23 final Matcher coreCPE = CORE_JAVA.matcher(i.getValue());
+ 199 23 final Matcher coreFiles = CORE_FILES.matcher(dependency.getFileName());
+ 200 23 if (coreCPE.matches() && !coreFiles.matches()) {
201 0 itr.remove();
202
}
@@ -407,8 +407,8 @@
223
- 224 56 }
- 225 32 }
+ 224 23 }
+ 225 16 }
226
227
@@ -427,19 +427,19 @@
234
private VulnerableSoftware parseCpe(String type, String value) {
- 235 94 if (!"cpe" .equals(type)) {
- 236 30 return null ;
+ 235 32 if (!"cpe" .equals(type)) {
+ 236 0 return null ;
237
}
- 238 64 final VulnerableSoftware cpe = new VulnerableSoftware();
+ 238 32 final VulnerableSoftware cpe = new VulnerableSoftware();
239
try {
- 240 64 cpe.parseName(value);
+ 240 32 cpe.parseName(value);
241 0 } catch (UnsupportedEncodingException ex) {
242 0 Logger.getLogger(FalsePositiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
243 0 return null ;
- 244 64 }
- 245 64 return cpe;
+ 244 32 }
+ 245 32 return cpe;
246
}
247
@@ -458,8 +458,8 @@
254
private void removeBadMatches(Dependency dependency) {
- 255 32 final Set<Identifier> identifiers = dependency.getIdentifiers();
- 256 32 final Iterator<Identifier> itr = identifiers.iterator();
+ 255 16 final Set<Identifier> identifiers = dependency.getIdentifiers();
+ 256 16 final Iterator<Identifier> itr = identifiers.iterator();
257
258
@@ -476,12 +476,12 @@
264
- 265 88 while (itr.hasNext()) {
- 266 56 final Identifier i = itr.next();
+ 265 39 while (itr.hasNext()) {
+ 266 23 final Identifier i = itr.next();
267
- 268 56 if ("cpe" .equals(i.getType())) {
- 269 46 if ((i.getValue().matches(".*c\\+\\+.*" )
+ 268 23 if ("cpe" .equals(i.getType())) {
+ 269 23 if ((i.getValue().matches(".*c\\+\\+.*" )
270
|| i.getValue().startsWith("cpe:/a:jquery:jquery" )
271
@@ -502,8 +502,8 @@
&& (dependency.getFileName().toLowerCase().endsWith(".jar" )
279
|| dependency.getFileName().toLowerCase().endsWith("pom.xml" ))) {
- 280 2 itr.remove();
- 281 44 } else if (i.getValue().startsWith("cpe:/a:apache:maven" )
+ 280 1 itr.remove();
+ 281 22 } else if (i.getValue().startsWith("cpe:/a:apache:maven" )
282
&& !dependency.getFileName().toLowerCase().matches("maven-core-[\\d\\.]+\\.jar" )) {
283 0 itr.remove();
@@ -511,8 +511,8 @@
}
285
}
- 286 56 }
- 287 32 }
+ 286 23 }
+ 287 16 }
288
289
@@ -527,24 +527,24 @@
294
private void removeWrongVersionMatches(Dependency dependency) {
- 295 32 final Set<Identifier> identifiers = dependency.getIdentifiers();
- 296 32 final Iterator<Identifier> itr = identifiers.iterator();
+ 295 16 final Set<Identifier> identifiers = dependency.getIdentifiers();
+ 296 16 final Iterator<Identifier> itr = identifiers.iterator();
297
- 298 32 final String fileName = dependency.getFileName();
- 299 32 if (fileName != null && fileName.contains("axis2" )) {
- 300 8 while (itr.hasNext()) {
- 301 6 final Identifier i = itr.next();
- 302 6 if ("cpe" .equals(i.getType())) {
- 303 4 final String cpe = i.getValue();
- 304 4 if (cpe != null && (cpe.startsWith("cpe:/a:apache:axis:" ) || "cpe:/a:apache:axis" .equals(cpe))) {
- 305 2 itr.remove();
+ 298 16 final String fileName = dependency.getFileName();
+ 299 16 if (fileName != null && fileName.contains("axis2" )) {
+ 300 3 while (itr.hasNext()) {
+ 301 2 final Identifier i = itr.next();
+ 302 2 if ("cpe" .equals(i.getType())) {
+ 303 2 final String cpe = i.getValue();
+ 304 2 if (cpe != null && (cpe.startsWith("cpe:/a:apache:axis:" ) || "cpe:/a:apache:axis" .equals(cpe))) {
+ 305 1 itr.remove();
306
}
307
}
- 308 6 }
- 309 30 } else if (fileName != null && fileName.contains("axis" )) {
+ 308 2 }
+ 309 15 } else if (fileName != null && fileName.contains("axis" )) {
310 0 while (itr.hasNext()) {
311 0 final Identifier i = itr.next();
312 0 if ("cpe" .equals(i.getType())) {
@@ -558,7 +558,7 @@
318 0 }
319
}
- 320 32 }
+ 320 16 }
321
322
@@ -577,10 +577,10 @@
329
private void addFalseNegativeCPEs(Dependency dependency) {
- 330 32 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
- 331 78 while (itr.hasNext()) {
- 332 46 final Identifier i = itr.next();
- 333 46 if ("cpe" .equals(i.getType()) && i.getValue() != null
+ 330 16 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
+ 331 34 while (itr.hasNext()) {
+ 332 18 final Identifier i = itr.next();
+ 333 18 if ("cpe" .equals(i.getType()) && i.getValue() != null
334
&& (i.getValue().startsWith("cpe:/a:oracle:opensso:" )
335
@@ -622,12 +622,12 @@
358 0 }
359
}
- 360 46 }
- 361 32 }
+ 360 18 }
+ 361 16 }
362
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
index a9ee97f19..a3cd4e553 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
@@ -83,7 +83,7 @@
33
- 34 30 public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 34 15 public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer {
35
36
@@ -102,14 +102,14 @@
43
- 44 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 44 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
45
46
47
- 48 2 private static final Set<String> EXTENSIONS = null ;
+ 48 1 private static final Set<String> EXTENSIONS = null ;
49
50
@@ -124,7 +124,7 @@
55
public Set<String> getSupportedExtensions() {
- 56 298 return EXTENSIONS;
+ 56 149 return EXTENSIONS;
57
}
58
@@ -141,7 +141,7 @@
64
public String getName() {
- 65 20 return ANALYZER_NAME;
+ 65 10 return ANALYZER_NAME;
66
}
67
@@ -160,7 +160,7 @@
74
public boolean supportsExtension(String extension) {
- 75 20 return true ;
+ 75 10 return true ;
76
}
77
@@ -177,7 +177,7 @@
83
public AnalysisPhase getAnalysisPhase() {
- 84 14 return ANALYSIS_PHASE;
+ 84 7 return ANALYSIS_PHASE;
85
}
86
@@ -206,41 +206,41 @@
98
- 99 36 final File f = new File(dependency.getFileName());
- 100 36 String fileName = f.getName();
+ 99 18 final File f = new File(dependency.getFileName());
+ 100 18 String fileName = f.getName();
101
102
- 103 36 final int pos = fileName.lastIndexOf("." );
- 104 36 if (pos > 0) {
- 105 36 fileName = fileName.substring(0, pos);
+ 103 18 final int pos = fileName.lastIndexOf("." );
+ 104 18 if (pos > 0) {
+ 105 18 fileName = fileName.substring(0, pos);
106
}
107
108
- 109 36 final DependencyVersion version = DependencyVersionUtil.parseVersion(fileName);
- 110 36 if (version != null ) {
+ 109 18 final DependencyVersion version = DependencyVersionUtil.parseVersion(fileName);
+ 110 18 if (version != null ) {
111
112
113
- 114 20 if (version.getVersionParts() == null || version.getVersionParts().size() < 2) {
+ 114 10 if (version.getVersionParts() == null || version.getVersionParts().size() < 2) {
115 0 dependency.getVersionEvidence().addEvidence("file" , "name" ,
116
version.toString(), Confidence.MEDIUM);
117
} else {
- 118 20 dependency.getVersionEvidence().addEvidence("file" , "name" ,
+ 118 10 dependency.getVersionEvidence().addEvidence("file" , "name" ,
119
version.toString(), Confidence.HIGHEST);
120
}
- 121 20 dependency.getVersionEvidence().addEvidence("file" , "name" ,
+ 121 10 dependency.getVersionEvidence().addEvidence("file" , "name" ,
122
fileName, Confidence.MEDIUM);
123
@@ -249,28 +249,28 @@
125
- 126 36 if (fileName.contains("-" )) {
- 127 20 dependency.getProductEvidence().addEvidence("file" , "name" ,
+ 126 18 if (fileName.contains("-" )) {
+ 127 10 dependency.getProductEvidence().addEvidence("file" , "name" ,
128
fileName, Confidence.HIGHEST);
- 129 20 dependency.getVendorEvidence().addEvidence("file" , "name" ,
+ 129 10 dependency.getVendorEvidence().addEvidence("file" , "name" ,
130
fileName, Confidence.HIGHEST);
131
} else {
- 132 16 dependency.getProductEvidence().addEvidence("file" , "name" ,
+ 132 8 dependency.getProductEvidence().addEvidence("file" , "name" ,
133
fileName, Confidence.HIGH);
- 134 16 dependency.getVendorEvidence().addEvidence("file" , "name" ,
+ 134 8 dependency.getVendorEvidence().addEvidence("file" , "name" ,
135
fileName, Confidence.HIGH);
136
}
- 137 36 }
+ 137 18 }
138
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
index 7ae41fec9..d89f90d05 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
@@ -79,7 +79,7 @@
31
- 32 14 public class HintAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 32 7 public class HintAnalyzer extends AbstractAnalyzer implements Analyzer {
33
34
@@ -98,14 +98,14 @@
41
- 42 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_IDENTIFIER_ANALYSIS;
+ 42 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_IDENTIFIER_ANALYSIS;
43
44
45
- 46 2 private static final Set<String> EXTENSIONS = null ;
+ 46 1 private static final Set<String> EXTENSIONS = null ;
47
48
@@ -120,7 +120,7 @@
53
public Set<String> getSupportedExtensions() {
- 54 264 return EXTENSIONS;
+ 54 132 return EXTENSIONS;
55
}
56
@@ -137,7 +137,7 @@
62
public String getName() {
- 63 18 return ANALYZER_NAME;
+ 63 9 return ANALYZER_NAME;
64
}
65
@@ -156,7 +156,7 @@
72
public boolean supportsExtension(String extension) {
- 73 18 return true ;
+ 73 9 return true ;
74
}
75
@@ -173,7 +173,7 @@
81
public AnalysisPhase getAnalysisPhase() {
- 82 12 return ANALYSIS_PHASE;
+ 82 6 return ANALYSIS_PHASE;
83
}
84
@@ -200,7 +200,7 @@
@Override
95
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 96 30 final Evidence springTest1 = new Evidence("Manifest" ,
+ 96 15 final Evidence springTest1 = new Evidence("Manifest" ,
97
"Implementation-Title" ,
98
@@ -209,7 +209,7 @@
Confidence.HIGH);
100
- 101 30 final Evidence springTest2 = new Evidence("Manifest" ,
+ 101 15 final Evidence springTest2 = new Evidence("Manifest" ,
102
"Implementation-Title" ,
103
@@ -218,7 +218,7 @@
Confidence.HIGH);
105
- 106 30 final Evidence springTest3 = new Evidence("Manifest" ,
+ 106 15 final Evidence springTest3 = new Evidence("Manifest" ,
107
"Bundle-Vendor" ,
108
@@ -227,44 +227,44 @@
Confidence.HIGH);
110
- 111 30 Set<Evidence> evidence = dependency.getProductEvidence().getEvidence();
- 112 30 if (evidence.contains(springTest1) || evidence.contains(springTest2)) {
- 113 4 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Confidence.HIGH);
- 114 4 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "SpringSource" , Confidence.HIGH);
- 115 4 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Confidence.HIGH);
+ 111 15 Set<Evidence> evidence = dependency.getProductEvidence().getEvidence();
+ 112 15 if (evidence.contains(springTest1) || evidence.contains(springTest2)) {
+ 113 2 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Confidence.HIGH);
+ 114 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "SpringSource" , Confidence.HIGH);
+ 115 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Confidence.HIGH);
116
}
117
- 118 30 evidence = dependency.getVendorEvidence().getEvidence();
- 119 30 if (evidence.contains(springTest3)) {
- 120 4 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Confidence.HIGH);
- 121 4 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Confidence.HIGH);
+ 118 15 evidence = dependency.getVendorEvidence().getEvidence();
+ 119 15 if (evidence.contains(springTest3)) {
+ 120 2 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Confidence.HIGH);
+ 121 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Confidence.HIGH);
122
}
- 123 30 final Iterator<Evidence> itr = dependency.getVendorEvidence().iterator();
- 124 30 final ArrayList<Evidence> newEntries = new ArrayList<Evidence>();
- 125 252 while (itr.hasNext()) {
- 126 222 final Evidence e = itr.next();
- 127 222 if ("sun" .equalsIgnoreCase(e.getValue(false ))) {
- 128 4 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)" , e.getName(), "oracle" , e.getConfidence());
- 129 4 newEntries.add(newEvidence);
- 130 4 } else if ("oracle" .equalsIgnoreCase(e.getValue(false ))) {
+ 123 15 final Iterator<Evidence> itr = dependency.getVendorEvidence().iterator();
+ 124 15 final ArrayList<Evidence> newEntries = new ArrayList<Evidence>();
+ 125 121 while (itr.hasNext()) {
+ 126 106 final Evidence e = itr.next();
+ 127 106 if ("sun" .equalsIgnoreCase(e.getValue(false ))) {
+ 128 2 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)" , e.getName(), "oracle" , e.getConfidence());
+ 129 2 newEntries.add(newEvidence);
+ 130 2 } else if ("oracle" .equalsIgnoreCase(e.getValue(false ))) {
131 0 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)" , e.getName(), "sun" , e.getConfidence());
132 0 newEntries.add(newEvidence);
133
}
- 134 222 }
- 135 30 for (Evidence e : newEntries) {
- 136 4 dependency.getVendorEvidence().addEvidence(e);
- 137 4 }
+ 134 106 }
+ 135 15 for (Evidence e : newEntries) {
+ 136 2 dependency.getVendorEvidence().addEvidence(e);
+ 137 2 }
138
- 139 30 }
+ 139 15 }
140
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
index cc34664c6..40d249e13 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
@@ -196,21 +196,21 @@
89
- 90 2 private static int dirCount = 0;
+ 90 1 private static int dirCount = 0;
91
92
93
- 94 2 private static final String NEWLINE = System.getProperty("line.separator" );
+ 94 1 private static final String NEWLINE = System.getProperty("line.separator" );
95
96
97
- 98 2 private static final Set<String> IGNORE_VALUES = newHashSet(
+ 98 1 private static final Set<String> IGNORE_VALUES = newHashSet(
99
"Sun Java System Application Server" );
100
@@ -219,7 +219,7 @@
102
- 103 2 private static final Set<String> IGNORE_KEYS = newHashSet(
+ 103 1 private static final Set<String> IGNORE_KEYS = newHashSet(
104
"built-by" ,
105
@@ -304,7 +304,7 @@
145
- 146 2 private static final Pattern HTML_DETECTION_PATTERN = Pattern.compile("\\<[a-z]+.*/?\\>" , Pattern.CASE_INSENSITIVE);
+ 146 1 private static final Pattern HTML_DETECTION_PATTERN = Pattern.compile("\\<[a-z]+.*/?\\>" , Pattern.CASE_INSENSITIVE);
147
148
@@ -323,16 +323,16 @@
155
- 156 26 public JarAnalyzer() {
+ 156 13 public JarAnalyzer() {
157
try {
- 158 26 final JAXBContext jaxbContext = JAXBContext.newInstance("org.owasp.dependencycheck.jaxb.pom.generated" );
- 159 26 pomUnmarshaller = jaxbContext.createUnmarshaller();
+ 158 13 final JAXBContext jaxbContext = JAXBContext.newInstance("org.owasp.dependencycheck.jaxb.pom.generated" );
+ 159 13 pomUnmarshaller = jaxbContext.createUnmarshaller();
160 0 } catch (JAXBException ex) {
161 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.SEVERE, "Unable to load parser. See the log for more details." );
162 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, null , ex);
- 163 26 }
- 164 26 }
+ 163 13 }
+ 164 13 }
165
166
@@ -349,14 +349,14 @@
172
- 173 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 173 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
174
175
176
- 177 2 private static final Set<String> EXTENSIONS = newHashSet("jar" , "war" );
+ 177 1 private static final Set<String> EXTENSIONS = newHashSet("jar" , "war" );
178
179
@@ -371,7 +371,7 @@
184
public Set<String> getSupportedExtensions() {
- 185 310 return EXTENSIONS;
+ 185 155 return EXTENSIONS;
186
}
187
@@ -388,7 +388,7 @@
193
public String getName() {
- 194 20 return ANALYZER_NAME;
+ 194 10 return ANALYZER_NAME;
195
}
196
@@ -407,7 +407,7 @@
203
public boolean supportsExtension(String extension) {
- 204 302 return EXTENSIONS.contains(extension);
+ 204 151 return EXTENSIONS.contains(extension);
205
}
206
@@ -424,7 +424,7 @@
212
public AnalysisPhase getAnalysisPhase() {
- 213 12 return ANALYSIS_PHASE;
+ 213 6 return ANALYSIS_PHASE;
214
}
215
@@ -453,9 +453,9 @@
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
227
try {
- 228 36 final ArrayList<ClassNameInformation> classNames = collectClassNames(dependency);
- 229 36 final String fileName = dependency.getFileName().toLowerCase();
- 230 36 if (classNames.isEmpty()
+ 228 18 final ArrayList<ClassNameInformation> classNames = collectClassNames(dependency);
+ 229 18 final String fileName = dependency.getFileName().toLowerCase();
+ 230 18 if (classNames.isEmpty()
231
&& (fileName.endsWith("-sources.jar" )
232
@@ -467,14 +467,14 @@
235 0 engine.getDependencies().remove(dependency);
236
}
- 237 36 final boolean hasManifest = parseManifest(dependency, classNames);
- 238 36 final boolean hasPOM = analyzePOM(dependency, classNames, engine);
- 239 36 final boolean addPackagesAsEvidence = !(hasManifest && hasPOM);
- 240 36 analyzePackageNames(classNames, dependency, addPackagesAsEvidence);
+ 237 18 final boolean hasManifest = parseManifest(dependency, classNames);
+ 238 18 final boolean hasPOM = analyzePOM(dependency, classNames, engine);
+ 239 18 final boolean addPackagesAsEvidence = !(hasManifest && hasPOM);
+ 240 18 analyzePackageNames(classNames, dependency, addPackagesAsEvidence);
241 0 } catch (IOException ex) {
242 0 throw new AnalysisException("Exception occurred reading the JAR file." , ex);
- 243 36 }
- 244 36 }
+ 243 18 }
+ 244 18 }
245
246
@@ -499,12 +499,12 @@
256
protected boolean analyzePOM(Dependency dependency, ArrayList<ClassNameInformation> classes, Engine engine) throws AnalysisException {
- 257 36 boolean foundSomething = false ;
+ 257 18 boolean foundSomething = false ;
258
final JarFile jar;
259
try {
- 260 36 jar = new JarFile(dependency.getActualFilePath());
+ 260 18 jar = new JarFile(dependency.getActualFilePath());
261 0 } catch (IOException ex) {
262 0 final String msg = String.format("Unable to read JarFile '%s'." , dependency.getActualFilePath());
263 0 final AnalysisException ax = new AnalysisException(msg, ex);
@@ -512,12 +512,12 @@
265 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.WARNING, msg);
266 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, null , ex);
267 0 return false ;
- 268 36 }
+ 268 18 }
269
List<String> pomEntries;
270
try {
- 271 36 pomEntries = retrievePomListing(jar);
+ 271 18 pomEntries = retrievePomListing(jar);
272 0 } catch (IOException ex) {
273 0 final String msg = String.format("Unable to read Jar file entries in '%s'." , dependency.getActualFilePath());
274 0 final AnalysisException ax = new AnalysisException(msg, ex);
@@ -525,23 +525,23 @@
276 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.WARNING, msg);
277 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.INFO, msg, ex);
278 0 return false ;
- 279 36 }
- 280 36 if (pomEntries.isEmpty()) {
- 281 22 return false ;
+ 279 18 }
+ 280 18 if (pomEntries.isEmpty()) {
+ 281 11 return false ;
282
}
- 283 14 for (String path : pomEntries) {
- 284 14 Properties pomProperties = null ;
+ 283 7 for (String path : pomEntries) {
+ 284 7 Properties pomProperties = null ;
285
try {
- 286 14 pomProperties = retrievePomProperties(path, jar);
+ 286 7 pomProperties = retrievePomProperties(path, jar);
287 0 } catch (IOException ex) {
288 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINEST, "ignore this, failed reading a non-existent pom.properties" , ex);
- 289 14 }
- 290 14 Model pom = null ;
+ 289 7 }
+ 290 7 Model pom = null ;
291
try {
- 292 14 if (pomEntries.size() > 1) {
+ 292 7 if (pomEntries.size() > 1) {
293
294 0 final Dependency newDependency = new Dependency();
@@ -570,15 +570,15 @@
309 0 engine.getDependencies().add(newDependency);
310 0 Collections.sort(engine.getDependencies());
311 0 } else {
- 312 14 pom = retrievePom(path, jar);
- 313 14 foundSomething |= setPomEvidence(dependency, pom, pomProperties, classes);
+ 312 7 pom = retrievePom(path, jar);
+ 313 7 foundSomething |= setPomEvidence(dependency, pom, pomProperties, classes);
314
}
315 0 } catch (AnalysisException ex) {
316 0 dependency.addAnalysisException(ex);
- 317 14 }
- 318 14 }
- 319 14 return foundSomething;
+ 317 7 }
+ 318 7 }
+ 319 7 return foundSomething;
320
}
321
@@ -605,16 +605,16 @@
justification = "The reader is closed by closing the zipEntry" )
332
private Properties retrievePomProperties(String path, final JarFile jar) throws IOException {
- 333 14 Properties pomProperties = null ;
- 334 14 final String propPath = path.substring(0, path.length() - 7) + "pom.properies" ;
- 335 14 final ZipEntry propEntry = jar.getEntry(propPath);
- 336 14 if (propEntry != null ) {
+ 333 7 Properties pomProperties = null ;
+ 334 7 final String propPath = path.substring(0, path.length() - 7) + "pom.properies" ;
+ 335 7 final ZipEntry propEntry = jar.getEntry(propPath);
+ 336 7 if (propEntry != null ) {
337 0 final Reader reader = new InputStreamReader(jar.getInputStream(propEntry), "UTF-8" );
338 0 pomProperties = new Properties();
339 0 pomProperties.load(reader);
340
}
- 341 14 return pomProperties;
+ 341 7 return pomProperties;
342
}
343
@@ -635,17 +635,17 @@
351
private List<String> retrievePomListing(final JarFile jar) throws IOException {
- 352 36 final List<String> pomEntries = new ArrayList<String>();
- 353 36 final Enumeration<JarEntry> entries = jar.entries();
- 354 15128 while (entries.hasMoreElements()) {
- 355 15092 final JarEntry entry = entries.nextElement();
- 356 15092 final String entryName = (new File(entry.getName())).getName().toLowerCase();
- 357 15092 if (!entry.isDirectory() && "pom.xml" .equals(entryName)) {
- 358 14 pomEntries.add(entry.getName());
+ 352 18 final List<String> pomEntries = new ArrayList<String>();
+ 353 18 final Enumeration<JarEntry> entries = jar.entries();
+ 354 7564 while (entries.hasMoreElements()) {
+ 355 7546 final JarEntry entry = entries.nextElement();
+ 356 7546 final String entryName = (new File(entry.getName())).getName().toLowerCase();
+ 357 7546 if (!entry.isDirectory() && "pom.xml" .equals(entryName)) {
+ 358 7 pomEntries.add(entry.getName());
359
}
- 360 15092 }
- 361 36 return pomEntries;
+ 360 7546 }
+ 361 18 return pomEntries;
362
}
363
@@ -764,16 +764,16 @@
445
private Model retrievePom(String path, JarFile jar) throws AnalysisException {
- 446 14 final ZipEntry entry = jar.getEntry(path);
- 447 14 Model model = null ;
- 448 14 if (entry != null ) {
+ 446 7 final ZipEntry entry = jar.getEntry(path);
+ 447 7 Model model = null ;
+ 448 7 if (entry != null ) {
449
try {
- 450 14 final NonClosingStream stream = new NonClosingStream(jar.getInputStream(entry));
- 451 14 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8" );
- 452 14 final InputSource xml = new InputSource(reader);
- 453 14 final SAXSource source = new SAXSource(xml);
- 454 14 model = readPom(source);
+ 450 7 final NonClosingStream stream = new NonClosingStream(jar.getInputStream(entry));
+ 451 7 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8" );
+ 452 7 final InputSource xml = new InputSource(reader);
+ 453 7 final SAXSource source = new SAXSource(xml);
+ 454 7 model = readPom(source);
455 0 } catch (SecurityException ex) {
456 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s'; invalid signature" , path, jar.getName());
457 0 Logger
@@ -795,10 +795,10 @@
470 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.WARNING, msg);
471 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, null , ex);
472 0 throw new AnalysisException(ex);
- 473 14 }
+ 473 7 }
474
}
- 475 14 return model;
+ 475 7 return model;
476
}
477
@@ -821,16 +821,16 @@
486
private Model readPom(SAXSource source) throws AnalysisException {
- 487 14 Model model = null ;
+ 487 7 Model model = null ;
488
try {
- 489 14 final XMLFilter filter = new MavenNamespaceFilter();
- 490 14 final SAXParserFactory spf = SAXParserFactory.newInstance();
- 491 14 final SAXParser sp = spf.newSAXParser();
- 492 14 final XMLReader xr = sp.getXMLReader();
- 493 14 filter.setParent(xr);
- 494 14 final JAXBElement<Model> el = pomUnmarshaller.unmarshal(source, Model.class );
- 495 14 model = el.getValue();
+ 489 7 final XMLFilter filter = new MavenNamespaceFilter();
+ 490 7 final SAXParserFactory spf = SAXParserFactory.newInstance();
+ 491 7 final SAXParser sp = spf.newSAXParser();
+ 492 7 final XMLReader xr = sp.getXMLReader();
+ 493 7 filter.setParent(xr);
+ 494 7 final JAXBElement<Model> el = pomUnmarshaller.unmarshal(source, Model.class );
+ 495 7 model = el.getValue();
496 0 } catch (SecurityException ex) {
497 0 throw new AnalysisException(ex);
498 0 } catch (ParserConfigurationException ex) {
@@ -841,8 +841,8 @@
503 0 throw new AnalysisException(ex);
504 0 } catch (Throwable ex) {
505 0 throw new AnalysisException(ex);
- 506 14 }
- 507 14 return model;
+ 506 7 }
+ 507 7 return model;
508
}
509
@@ -869,49 +869,49 @@
520
private boolean setPomEvidence(Dependency dependency, Model pom, Properties pomProperties, ArrayList<ClassNameInformation> classes) {
- 521 14 boolean foundSomething = false ;
- 522 14 if (pom == null ) {
+ 521 7 boolean foundSomething = false ;
+ 522 7 if (pom == null ) {
523 0 return foundSomething;
524
}
- 525 14 String groupid = interpolateString(pom.getGroupId(), pomProperties);
- 526 14 if (groupid != null && !groupid.isEmpty()) {
- 527 8 if (groupid.startsWith("org." ) || groupid.startsWith("com." )) {
- 528 6 groupid = groupid.substring(4);
+ 525 7 String groupid = interpolateString(pom.getGroupId(), pomProperties);
+ 526 7 if (groupid != null && !groupid.isEmpty()) {
+ 527 4 if (groupid.startsWith("org." ) || groupid.startsWith("com." )) {
+ 528 3 groupid = groupid.substring(4);
529
}
- 530 8 foundSomething = true ;
- 531 8 dependency.getVendorEvidence().addEvidence("pom" , "groupid" , groupid, Confidence.HIGH);
- 532 8 dependency.getProductEvidence().addEvidence("pom" , "groupid" , groupid, Confidence.LOW);
- 533 8 addMatchingValues(classes, groupid, dependency.getVendorEvidence());
- 534 8 addMatchingValues(classes, groupid, dependency.getProductEvidence());
+ 530 4 foundSomething = true ;
+ 531 4 dependency.getVendorEvidence().addEvidence("pom" , "groupid" , groupid, Confidence.HIGH);
+ 532 4 dependency.getProductEvidence().addEvidence("pom" , "groupid" , groupid, Confidence.LOW);
+ 533 4 addMatchingValues(classes, groupid, dependency.getVendorEvidence());
+ 534 4 addMatchingValues(classes, groupid, dependency.getProductEvidence());
535
}
- 536 14 String artifactid = interpolateString(pom.getArtifactId(), pomProperties);
- 537 14 if (artifactid != null && !artifactid.isEmpty()) {
- 538 14 if (artifactid.startsWith("org." ) || artifactid.startsWith("com." )) {
+ 536 7 String artifactid = interpolateString(pom.getArtifactId(), pomProperties);
+ 537 7 if (artifactid != null && !artifactid.isEmpty()) {
+ 538 7 if (artifactid.startsWith("org." ) || artifactid.startsWith("com." )) {
539 0 artifactid = artifactid.substring(4);
540
}
- 541 14 foundSomething = true ;
- 542 14 dependency.getProductEvidence().addEvidence("pom" , "artifactid" , artifactid, Confidence.HIGH);
- 543 14 dependency.getVendorEvidence().addEvidence("pom" , "artifactid" , artifactid, Confidence.LOW);
- 544 14 addMatchingValues(classes, artifactid, dependency.getVendorEvidence());
- 545 14 addMatchingValues(classes, artifactid, dependency.getProductEvidence());
+ 541 7 foundSomething = true ;
+ 542 7 dependency.getProductEvidence().addEvidence("pom" , "artifactid" , artifactid, Confidence.HIGH);
+ 543 7 dependency.getVendorEvidence().addEvidence("pom" , "artifactid" , artifactid, Confidence.LOW);
+ 544 7 addMatchingValues(classes, artifactid, dependency.getVendorEvidence());
+ 545 7 addMatchingValues(classes, artifactid, dependency.getProductEvidence());
546
}
547
- 548 14 final String version = interpolateString(pom.getVersion(), pomProperties);
- 549 14 if (version != null && !version.isEmpty()) {
- 550 4 foundSomething = true ;
- 551 4 dependency.getVersionEvidence().addEvidence("pom" , "version" , version, Confidence.HIGHEST);
+ 548 7 final String version = interpolateString(pom.getVersion(), pomProperties);
+ 549 7 if (version != null && !version.isEmpty()) {
+ 550 2 foundSomething = true ;
+ 551 2 dependency.getVersionEvidence().addEvidence("pom" , "version" , version, Confidence.HIGHEST);
552
}
553
- 554 14 final Organization org = pom.getOrganization();
- 555 14 if (org != null && org.getName() != null ) {
+ 554 7 final Organization org = pom.getOrganization();
+ 555 7 if (org != null && org.getName() != null ) {
556 0 foundSomething = true ;
557 0 final String orgName = interpolateString(org.getName(), pomProperties);
558 0 if (orgName != null && !orgName.isEmpty()) {
@@ -923,26 +923,26 @@
}
563
- 564 14 final String pomName = interpolateString(pom.getName(), pomProperties);
- 565 14 if (pomName != null && !pomName.isEmpty()) {
- 566 14 foundSomething = true ;
- 567 14 dependency.getProductEvidence().addEvidence("pom" , "name" , pomName, Confidence.HIGH);
- 568 14 dependency.getVendorEvidence().addEvidence("pom" , "name" , pomName, Confidence.HIGH);
- 569 14 addMatchingValues(classes, pomName, dependency.getVendorEvidence());
- 570 14 addMatchingValues(classes, pomName, dependency.getProductEvidence());
+ 564 7 final String pomName = interpolateString(pom.getName(), pomProperties);
+ 565 7 if (pomName != null && !pomName.isEmpty()) {
+ 566 7 foundSomething = true ;
+ 567 7 dependency.getProductEvidence().addEvidence("pom" , "name" , pomName, Confidence.HIGH);
+ 568 7 dependency.getVendorEvidence().addEvidence("pom" , "name" , pomName, Confidence.HIGH);
+ 569 7 addMatchingValues(classes, pomName, dependency.getVendorEvidence());
+ 570 7 addMatchingValues(classes, pomName, dependency.getProductEvidence());
571
}
572
573
- 574 14 if (pom.getDescription() != null ) {
- 575 6 foundSomething = true ;
- 576 6 final String description = interpolateString(pom.getDescription(), pomProperties);
- 577 6 if (description != null && !description.isEmpty()) {
- 578 6 addDescription(dependency, description, "pom" , "description" );
- 579 6 addMatchingValues(classes, description, dependency.getVendorEvidence());
- 580 6 addMatchingValues(classes, description, dependency.getProductEvidence());
+ 574 7 if (pom.getDescription() != null ) {
+ 575 3 foundSomething = true ;
+ 576 3 final String description = interpolateString(pom.getDescription(), pomProperties);
+ 577 3 if (description != null && !description.isEmpty()) {
+ 578 3 addDescription(dependency, description, "pom" , "description" );
+ 579 3 addMatchingValues(classes, description, dependency.getVendorEvidence());
+ 580 3 addMatchingValues(classes, description, dependency.getProductEvidence());
581
}
582
@@ -951,47 +951,47 @@
584
- 585 14 if (pom.getLicenses() != null ) {
- 586 2 String license = null ;
- 587 2 for (License lic : pom.getLicenses().getLicense()) {
- 588 2 String tmp = null ;
- 589 2 if (lic.getName() != null ) {
- 590 2 tmp = interpolateString(lic.getName(), pomProperties);
+ 585 7 if (pom.getLicenses() != null ) {
+ 586 1 String license = null ;
+ 587 1 for (License lic : pom.getLicenses().getLicense()) {
+ 588 1 String tmp = null ;
+ 589 1 if (lic.getName() != null ) {
+ 590 1 tmp = interpolateString(lic.getName(), pomProperties);
591
}
- 592 2 if (lic.getUrl() != null ) {
- 593 2 if (tmp == null ) {
+ 592 1 if (lic.getUrl() != null ) {
+ 593 1 if (tmp == null ) {
594 0 tmp = interpolateString(lic.getUrl(), pomProperties);
595
} else {
- 596 2 tmp += ": " + interpolateString(lic.getUrl(), pomProperties);
+ 596 1 tmp += ": " + interpolateString(lic.getUrl(), pomProperties);
597
}
598
}
- 599 2 if (tmp == null ) {
+ 599 1 if (tmp == null ) {
600 0 continue ;
601
}
- 602 2 if (HTML_DETECTION_PATTERN.matcher(tmp).find()) {
+ 602 1 if (HTML_DETECTION_PATTERN.matcher(tmp).find()) {
603 0 tmp = Jsoup.parse(tmp).text();
604
}
- 605 2 if (license == null ) {
- 606 2 license = tmp;
+ 605 1 if (license == null ) {
+ 606 1 license = tmp;
607
} else {
608 0 license += "\n" + tmp;
609
}
- 610 2 }
- 611 2 if (license != null ) {
- 612 2 dependency.setLicense(license);
+ 610 1 }
+ 611 1 if (license != null ) {
+ 612 1 dependency.setLicense(license);
613
}
614
}
- 615 14 return foundSomething;
+ 615 7 return foundSomething;
616
}
617
@@ -1016,41 +1016,41 @@
protected void analyzePackageNames(ArrayList<ClassNameInformation> classNames,
627
Dependency dependency, boolean addPackagesAsEvidence) {
- 628 36 final HashMap<String, Integer> vendorIdentifiers = new HashMap<String, Integer>();
- 629 36 final HashMap<String, Integer> productIdentifiers = new HashMap<String, Integer>();
- 630 36 analyzeFullyQualifiedClassNames(classNames, vendorIdentifiers, productIdentifiers);
+ 628 18 final HashMap<String, Integer> vendorIdentifiers = new HashMap<String, Integer>();
+ 629 18 final HashMap<String, Integer> productIdentifiers = new HashMap<String, Integer>();
+ 630 18 analyzeFullyQualifiedClassNames(classNames, vendorIdentifiers, productIdentifiers);
631
- 632 36 final int classCount = classNames.size();
- 633 36 final EvidenceCollection vendor = dependency.getVendorEvidence();
- 634 36 final EvidenceCollection product = dependency.getProductEvidence();
+ 632 18 final int classCount = classNames.size();
+ 633 18 final EvidenceCollection vendor = dependency.getVendorEvidence();
+ 634 18 final EvidenceCollection product = dependency.getProductEvidence();
635
- 636 36 for (Map.Entry<String, Integer> entry : vendorIdentifiers.entrySet()) {
- 637 364 final float ratio = entry.getValue() / (float ) classCount;
- 638 364 if (ratio > 0.5) {
+ 636 18 for (Map.Entry<String, Integer> entry : vendorIdentifiers.entrySet()) {
+ 637 182 final float ratio = entry.getValue() / (float ) classCount;
+ 638 182 if (ratio > 0.5) {
639
- 640 72 vendor.addWeighting(entry.getKey());
- 641 72 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
- 642 44 vendor.addEvidence("jar" , "package" , entry.getKey(), Confidence.LOW);
+ 640 36 vendor.addWeighting(entry.getKey());
+ 641 36 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
+ 642 22 vendor.addEvidence("jar" , "package" , entry.getKey(), Confidence.LOW);
643
}
644
}
- 645 364 }
- 646 36 for (Map.Entry<String, Integer> entry : productIdentifiers.entrySet()) {
- 647 7544 final float ratio = entry.getValue() / (float ) classCount;
- 648 7544 if (ratio > 0.5) {
- 649 42 product.addWeighting(entry.getKey());
- 650 42 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
- 651 22 product.addEvidence("jar" , "package" , entry.getKey(), Confidence.LOW);
+ 645 182 }
+ 646 18 for (Map.Entry<String, Integer> entry : productIdentifiers.entrySet()) {
+ 647 3772 final float ratio = entry.getValue() / (float ) classCount;
+ 648 3772 if (ratio > 0.5) {
+ 649 21 product.addWeighting(entry.getKey());
+ 650 21 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
+ 651 11 product.addEvidence("jar" , "package" , entry.getKey(), Confidence.LOW);
652
}
653
}
- 654 7544 }
- 655 36 }
+ 654 3772 }
+ 655 18 }
656
657
@@ -1083,17 +1083,17 @@
671
protected boolean parseManifest(Dependency dependency, ArrayList<ClassNameInformation> classInformation) throws IOException {
- 672 36 boolean foundSomething = false ;
- 673 36 JarFile jar = null ;
+ 672 18 boolean foundSomething = false ;
+ 673 18 JarFile jar = null ;
674
try {
- 675 36 jar = new JarFile(dependency.getActualFilePath());
+ 675 18 jar = new JarFile(dependency.getActualFilePath());
676
- 677 36 final Manifest manifest = jar.getManifest();
+ 677 18 final Manifest manifest = jar.getManifest();
678
- 679 36 if (manifest == null ) {
+ 679 18 if (manifest == null ) {
680
681 0 if (!dependency.getFileName().toLowerCase().endsWith("-sources.jar" )
@@ -1115,60 +1115,60 @@
690 0 return false ;
691
}
- 692 36 final Attributes atts = manifest.getMainAttributes();
+ 692 18 final Attributes atts = manifest.getMainAttributes();
693
- 694 36 final EvidenceCollection vendorEvidence = dependency.getVendorEvidence();
- 695 36 final EvidenceCollection productEvidence = dependency.getProductEvidence();
- 696 36 final EvidenceCollection versionEvidence = dependency.getVersionEvidence();
+ 694 18 final EvidenceCollection vendorEvidence = dependency.getVendorEvidence();
+ 695 18 final EvidenceCollection productEvidence = dependency.getProductEvidence();
+ 696 18 final EvidenceCollection versionEvidence = dependency.getVersionEvidence();
697
- 698 36 final String source = "Manifest" ;
+ 698 18 final String source = "Manifest" ;
699
- 700 36 for (Entry<Object, Object> entry : atts.entrySet()) {
- 701 520 String key = entry.getKey().toString();
- 702 520 String value = atts.getValue(key);
- 703 520 if (HTML_DETECTION_PATTERN.matcher(value).find()) {
+ 700 18 for (Entry<Object, Object> entry : atts.entrySet()) {
+ 701 260 String key = entry.getKey().toString();
+ 702 260 String value = atts.getValue(key);
+ 703 260 if (HTML_DETECTION_PATTERN.matcher(value).find()) {
704 0 value = Jsoup.parse(value).text();
705
}
- 706 520 if (IGNORE_VALUES.contains(value)) {
+ 706 260 if (IGNORE_VALUES.contains(value)) {
707 0 continue ;
- 708 520 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_TITLE.toString())) {
- 709 18 foundSomething = true ;
- 710 18 productEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 711 18 addMatchingValues(classInformation, value, productEvidence);
- 712 502 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VERSION.toString())) {
- 713 24 foundSomething = true ;
- 714 24 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 715 478 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR.toString())) {
- 716 16 foundSomething = true ;
- 717 16 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 718 16 addMatchingValues(classInformation, value, vendorEvidence);
- 719 462 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString())) {
- 720 10 foundSomething = true ;
- 721 10 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 722 10 addMatchingValues(classInformation, value, vendorEvidence);
- 723 452 } else if (key.equalsIgnoreCase(BUNDLE_DESCRIPTION)) {
- 724 14 foundSomething = true ;
- 725 14 addDescription(dependency, value, "manifest" , key);
+ 708 260 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_TITLE.toString())) {
+ 709 9 foundSomething = true ;
+ 710 9 productEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 711 9 addMatchingValues(classInformation, value, productEvidence);
+ 712 251 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VERSION.toString())) {
+ 713 12 foundSomething = true ;
+ 714 12 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 715 239 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR.toString())) {
+ 716 8 foundSomething = true ;
+ 717 8 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 718 8 addMatchingValues(classInformation, value, vendorEvidence);
+ 719 231 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString())) {
+ 720 5 foundSomething = true ;
+ 721 5 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 722 5 addMatchingValues(classInformation, value, vendorEvidence);
+ 723 226 } else if (key.equalsIgnoreCase(BUNDLE_DESCRIPTION)) {
+ 724 7 foundSomething = true ;
+ 725 7 addDescription(dependency, value, "manifest" , key);
726
- 727 14 addMatchingValues(classInformation, value, productEvidence);
- 728 438 } else if (key.equalsIgnoreCase(BUNDLE_NAME)) {
- 729 20 foundSomething = true ;
- 730 20 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 731 20 addMatchingValues(classInformation, value, productEvidence);
- 732 418 } else if (key.equalsIgnoreCase(BUNDLE_VENDOR)) {
- 733 16 foundSomething = true ;
- 734 16 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 735 16 addMatchingValues(classInformation, value, vendorEvidence);
- 736 402 } else if (key.equalsIgnoreCase(BUNDLE_VERSION)) {
- 737 20 foundSomething = true ;
- 738 20 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 739 382 } else if (key.equalsIgnoreCase(Attributes.Name.MAIN_CLASS.toString())) {
- 740 10 continue ;
+ 727 7 addMatchingValues(classInformation, value, productEvidence);
+ 728 219 } else if (key.equalsIgnoreCase(BUNDLE_NAME)) {
+ 729 10 foundSomething = true ;
+ 730 10 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 731 10 addMatchingValues(classInformation, value, productEvidence);
+ 732 209 } else if (key.equalsIgnoreCase(BUNDLE_VENDOR)) {
+ 733 8 foundSomething = true ;
+ 734 8 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 735 8 addMatchingValues(classInformation, value, vendorEvidence);
+ 736 201 } else if (key.equalsIgnoreCase(BUNDLE_VERSION)) {
+ 737 10 foundSomething = true ;
+ 738 10 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 739 191 } else if (key.equalsIgnoreCase(Attributes.Name.MAIN_CLASS.toString())) {
+ 740 5 continue ;
741
742
@@ -1187,10 +1187,10 @@
749
} else {
- 750 372 key = key.toLowerCase();
+ 750 186 key = key.toLowerCase();
751
- 752 372 if (!IGNORE_KEYS.contains(key)
+ 752 186 if (!IGNORE_KEYS.contains(key)
753
&& !key.endsWith("jdk" )
754
@@ -1211,55 +1211,55 @@
&& !isPackage(key, value)) {
762
- 763 118 foundSomething = true ;
- 764 118 if (key.contains("version" )) {
- 765 20 if (key.contains("specification" )) {
- 766 16 versionEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 763 59 foundSomething = true ;
+ 764 59 if (key.contains("version" )) {
+ 765 10 if (key.contains("specification" )) {
+ 766 8 versionEvidence.addEvidence(source, key, value, Confidence.LOW);
767
} else {
- 768 4 versionEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 768 2 versionEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
769
}
770
- 771 98 } else if (key.contains("title" )) {
- 772 16 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 773 16 addMatchingValues(classInformation, value, productEvidence);
- 774 82 } else if (key.contains("vendor" )) {
- 775 10 if (key.contains("specification" )) {
- 776 10 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 771 49 } else if (key.contains("title" )) {
+ 772 8 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 773 8 addMatchingValues(classInformation, value, productEvidence);
+ 774 41 } else if (key.contains("vendor" )) {
+ 775 5 if (key.contains("specification" )) {
+ 776 5 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
777
} else {
778 0 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
779 0 addMatchingValues(classInformation, value, vendorEvidence);
780
}
- 781 72 } else if (key.contains("name" )) {
- 782 26 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 783 26 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 784 26 addMatchingValues(classInformation, value, vendorEvidence);
- 785 26 addMatchingValues(classInformation, value, productEvidence);
- 786 46 } else if (key.contains("license" )) {
- 787 12 addLicense(dependency, value);
+ 781 36 } else if (key.contains("name" )) {
+ 782 13 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 783 13 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 784 13 addMatchingValues(classInformation, value, vendorEvidence);
+ 785 13 addMatchingValues(classInformation, value, productEvidence);
+ 786 23 } else if (key.contains("license" )) {
+ 787 6 addLicense(dependency, value);
788
} else {
- 789 34 if (key.contains("description" )) {
+ 789 17 if (key.contains("description" )) {
790 0 addDescription(dependency, value, "manifest" , key);
791
} else {
- 792 34 productEvidence.addEvidence(source, key, value, Confidence.LOW);
- 793 34 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
- 794 34 addMatchingValues(classInformation, value, vendorEvidence);
- 795 34 addMatchingValues(classInformation, value, productEvidence);
- 796 34 if (value.matches(".*\\d.*" )) {
- 797 12 final StringTokenizer tokenizer = new StringTokenizer(value, " " );
- 798 60 while (tokenizer.hasMoreElements()) {
- 799 48 final String s = tokenizer.nextToken();
- 800 48 if (s.matches("^[0-9.]+$" )) {
+ 792 17 productEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 793 17 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 794 17 addMatchingValues(classInformation, value, vendorEvidence);
+ 795 17 addMatchingValues(classInformation, value, productEvidence);
+ 796 17 if (value.matches(".*\\d.*" )) {
+ 797 6 final StringTokenizer tokenizer = new StringTokenizer(value, " " );
+ 798 30 while (tokenizer.hasMoreElements()) {
+ 799 24 final String s = tokenizer.nextToken();
+ 800 24 if (s.matches("^[0-9.]+$" )) {
801 0 versionEvidence.addEvidence(source, key, s, Confidence.LOW);
802
}
- 803 48 }
+ 803 24 }
804
}
805
@@ -1270,16 +1270,16 @@
}
808
}
- 809 510 }
+ 809 255 }
810
} finally {
- 811 36 if (jar != null ) {
- 812 36 jar.close();
+ 811 18 if (jar != null ) {
+ 812 18 jar.close();
813
}
814
}
- 815 36 return foundSomething;
+ 815 18 return foundSomething;
816
}
817
@@ -1302,48 +1302,48 @@
826
private void addDescription(Dependency dependency, String description, String source, String key) {
- 827 20 if (dependency.getDescription() == null ) {
- 828 18 dependency.setDescription(description);
+ 827 10 if (dependency.getDescription() == null ) {
+ 828 9 dependency.setDescription(description);
829
}
830
String desc;
- 831 20 if (HTML_DETECTION_PATTERN.matcher(description).find()) {
+ 831 10 if (HTML_DETECTION_PATTERN.matcher(description).find()) {
832 0 desc = Jsoup.parse(description).text();
833
} else {
- 834 20 desc = description;
+ 834 10 desc = description;
835
}
- 836 20 dependency.setDescription(desc);
- 837 20 if (desc.length() > 100) {
- 838 4 final int posSuchAs = desc.toLowerCase().indexOf("such as " , 100);
- 839 4 final int posLike = desc.toLowerCase().indexOf("like " , 100);
- 840 4 int pos = -1;
- 841 4 if (posLike > 0 && posSuchAs > 0) {
+ 836 10 dependency.setDescription(desc);
+ 837 10 if (desc.length() > 100) {
+ 838 2 final int posSuchAs = desc.toLowerCase().indexOf("such as " , 100);
+ 839 2 final int posLike = desc.toLowerCase().indexOf("like " , 100);
+ 840 2 int pos = -1;
+ 841 2 if (posLike > 0 && posSuchAs > 0) {
842 0 pos = posLike > posSuchAs ? posLike : posSuchAs;
- 843 4 } else if (posLike > 0) {
- 844 4 pos = posLike;
+ 843 2 } else if (posLike > 0) {
+ 844 2 pos = posLike;
845 0 } else if (posSuchAs > 0) {
846 0 pos = posSuchAs;
847
}
- 848 4 String descToUse = desc;
- 849 4 if (pos > 0) {
- 850 4 final StringBuilder sb = new StringBuilder(pos + 3);
- 851 4 sb.append(desc.substring(0, pos));
- 852 4 sb.append("..." );
- 853 4 descToUse = sb.toString();
+ 848 2 String descToUse = desc;
+ 849 2 if (pos > 0) {
+ 850 2 final StringBuilder sb = new StringBuilder(pos + 3);
+ 851 2 sb.append(desc.substring(0, pos));
+ 852 2 sb.append("..." );
+ 853 2 descToUse = sb.toString();
854
}
- 855 4 dependency.getProductEvidence().addEvidence(source, key, descToUse, Confidence.LOW);
- 856 4 dependency.getVendorEvidence().addEvidence(source, key, descToUse, Confidence.LOW);
- 857 4 } else {
- 858 16 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
- 859 16 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
+ 855 2 dependency.getProductEvidence().addEvidence(source, key, descToUse, Confidence.LOW);
+ 856 2 dependency.getVendorEvidence().addEvidence(source, key, descToUse, Confidence.LOW);
+ 857 2 } else {
+ 858 8 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
+ 859 8 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
860
}
- 861 20 }
+ 861 10 }
862
863
@@ -1360,13 +1360,13 @@
869
private void addLicense(Dependency d, String license) {
- 870 12 if (d.getLicense() == null ) {
- 871 12 d.setLicense(license);
+ 870 6 if (d.getLicense() == null ) {
+ 871 6 d.setLicense(license);
872 0 } else if (!d.getLicense().contains(license)) {
873 0 d.setLicense(d.getLicense() + NEWLINE + license);
874
}
- 875 12 }
+ 875 6 }
876
877
@@ -1375,7 +1375,7 @@
879
- 880 26 private File tempFileLocation = null ;
+ 880 13 private File tempFileLocation = null ;
881
882
@@ -1392,8 +1392,8 @@
@Override
888
public void initialize() throws Exception {
- 889 6 final File baseDir = Settings.getTempDirectory();
- 890 6 if (!baseDir.exists()) {
+ 889 3 final File baseDir = Settings.getTempDirectory();
+ 890 3 if (!baseDir.exists()) {
891 0 if (!baseDir.mkdirs()) {
892 0 final String msg = String.format("Unable to make a temporary folder '%s'" , baseDir.getPath());
893 0 throw new AnalysisException(msg);
@@ -1401,18 +1401,18 @@
}
895
}
- 896 6 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
- 897 6 if (!tempFileLocation.delete()) {
+ 896 3 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
+ 897 3 if (!tempFileLocation.delete()) {
898 0 final String msg = String.format("Unable to delete temporary file '%s'." , tempFileLocation.getAbsolutePath());
899 0 throw new AnalysisException(msg);
900
}
- 901 6 if (!tempFileLocation.mkdirs()) {
+ 901 3 if (!tempFileLocation.mkdirs()) {
902 0 final String msg = String.format("Unable to create directory '%s'." , tempFileLocation.getAbsolutePath());
903 0 throw new AnalysisException(msg);
904
}
- 905 6 }
+ 905 3 }
906
907
@@ -1425,11 +1425,11 @@
@Override
911
public void close() {
- 912 6 if (tempFileLocation != null && tempFileLocation.exists()) {
- 913 6 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
+ 912 3 if (tempFileLocation != null && tempFileLocation.exists()) {
+ 913 3 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
914
}
- 915 6 }
+ 915 3 }
916
917
@@ -1488,40 +1488,40 @@
944
protected String interpolateString(String text, Properties properties) {
- 945 80 Properties props = properties;
- 946 80 if (text == null ) {
- 947 16 return text;
+ 945 40 Properties props = properties;
+ 946 40 if (text == null ) {
+ 947 8 return text;
948
}
- 949 64 if (props == null ) {
- 950 50 props = new Properties();
+ 949 32 if (props == null ) {
+ 950 25 props = new Properties();
951
}
952
- 953 64 final int pos = text.indexOf("${" );
- 954 64 if (pos < 0) {
- 955 58 return text;
+ 953 32 final int pos = text.indexOf("${" );
+ 954 32 if (pos < 0) {
+ 955 29 return text;
956
}
- 957 6 final int end = text.indexOf("}" );
- 958 6 if (end < pos) {
+ 957 3 final int end = text.indexOf("}" );
+ 958 3 if (end < pos) {
959 0 return text;
960
}
961
- 962 6 final String propName = text.substring(pos + 2, end);
- 963 6 String propValue = interpolateString(props.getProperty(propName), props);
- 964 6 if (propValue == null ) {
+ 962 3 final String propName = text.substring(pos + 2, end);
+ 963 3 String propValue = interpolateString(props.getProperty(propName), props);
+ 964 3 if (propValue == null ) {
965 0 propValue = "" ;
966
}
- 967 6 final StringBuilder sb = new StringBuilder(propValue.length() + text.length());
- 968 6 sb.append(text.subSequence(0, pos));
- 969 6 sb.append(propValue);
- 970 6 sb.append(text.substring(end + 1));
- 971 6 return interpolateString(sb.toString(), props);
+ 967 3 final StringBuilder sb = new StringBuilder(propValue.length() + text.length());
+ 968 3 sb.append(text.subSequence(0, pos));
+ 969 3 sb.append(propValue);
+ 970 3 sb.append(text.substring(end + 1));
+ 971 3 return interpolateString(sb.toString(), props);
972
}
973
@@ -1542,12 +1542,12 @@
981
private boolean isImportPackage(String key, String value) {
- 982 122 final Pattern packageRx = Pattern.compile("^((([a-zA-Z_#\\$0-9]\\.)+)\\s*\\;\\s*)+$" );
- 983 122 if (packageRx.matcher(value).matches()) {
+ 982 61 final Pattern packageRx = Pattern.compile("^((([a-zA-Z_#\\$0-9]\\.)+)\\s*\\;\\s*)+$" );
+ 983 61 if (packageRx.matcher(value).matches()) {
984 0 return (key.contains("import" ) || key.contains("include" ));
985
}
- 986 122 return false ;
+ 986 61 return false ;
987
}
988
@@ -1568,23 +1568,23 @@
996
private ArrayList<ClassNameInformation> collectClassNames(Dependency dependency) {
- 997 36 final ArrayList<ClassNameInformation> classNames = new ArrayList<ClassNameInformation>();
- 998 36 JarFile jar = null ;
+ 997 18 final ArrayList<ClassNameInformation> classNames = new ArrayList<ClassNameInformation>();
+ 998 18 JarFile jar = null ;
999
try {
- 1000 36 jar = new JarFile(dependency.getActualFilePath());
- 1001 36 final Enumeration entries = jar.entries();
- 1002 15128 while (entries.hasMoreElements()) {
- 1003 15092 final JarEntry entry = (JarEntry) entries.nextElement();
- 1004 15092 final String name = entry.getName().toLowerCase();
+ 1000 18 jar = new JarFile(dependency.getActualFilePath());
+ 1001 18 final Enumeration entries = jar.entries();
+ 1002 7564 while (entries.hasMoreElements()) {
+ 1003 7546 final JarEntry entry = (JarEntry) entries.nextElement();
+ 1004 7546 final String name = entry.getName().toLowerCase();
1005
- 1006 15092 if (name.endsWith(".class" ) && !name.matches("^javax?\\..*$" )) {
- 1007 12750 final ClassNameInformation className = new ClassNameInformation(name.substring(0, name.length() - 6));
- 1008 12750 classNames.add(className);
+ 1006 7546 if (name.endsWith(".class" ) && !name.matches("^javax?\\..*$" )) {
+ 1007 6375 final ClassNameInformation className = new ClassNameInformation(name.substring(0, name.length() - 6));
+ 1008 6375 classNames.add(className);
1009
}
- 1010 15092 }
+ 1010 7546 }
1011 0 } catch (IOException ex) {
1012 0 final String msg = String.format("Unable to open jar file '%s'." , dependency.getFileName());
1013 0 Logger
@@ -1597,18 +1597,18 @@
.getName()).log(Level.FINE, null , ex);
1018
} finally {
- 1019 36 if (jar != null ) {
+ 1019 18 if (jar != null ) {
1020
try {
- 1021 36 jar.close();
+ 1021 18 jar.close();
1022 0 } catch (IOException ex) {
1023 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINEST, null , ex);
- 1024 36 }
+ 1024 18 }
1025
}
1026
}
- 1027 36 return classNames;
+ 1027 18 return classNames;
1028
}
1029
@@ -1633,31 +1633,31 @@
private void analyzeFullyQualifiedClassNames(ArrayList<ClassNameInformation> classNames,
1039
HashMap<String, Integer> vendor, HashMap<String, Integer> product) {
- 1040 36 for (ClassNameInformation entry : classNames) {
- 1041 12750 final ArrayList<String> list = entry.getPackageStructure();
- 1042 12750 addEntry(vendor, list.get(0));
+ 1040 18 for (ClassNameInformation entry : classNames) {
+ 1041 6375 final ArrayList<String> list = entry.getPackageStructure();
+ 1042 6375 addEntry(vendor, list.get(0));
1043
- 1044 12750 if (list.size() == 2) {
+ 1044 6375 if (list.size() == 2) {
1045 0 addEntry(product, list.get(1));
1046
}
- 1047 12750 if (list.size() == 3) {
- 1048 3982 addEntry(vendor, list.get(1));
- 1049 3982 addEntry(product, list.get(1));
- 1050 3982 addEntry(product, list.get(2));
+ 1047 6375 if (list.size() == 3) {
+ 1048 1991 addEntry(vendor, list.get(1));
+ 1049 1991 addEntry(product, list.get(1));
+ 1050 1991 addEntry(product, list.get(2));
1051
}
- 1052 12750 if (list.size() >= 4) {
- 1053 8768 addEntry(vendor, list.get(1));
- 1054 8768 addEntry(vendor, list.get(2));
- 1055 8768 addEntry(product, list.get(1));
- 1056 8768 addEntry(product, list.get(2));
- 1057 8768 addEntry(product, list.get(3));
+ 1052 6375 if (list.size() >= 4) {
+ 1053 4384 addEntry(vendor, list.get(1));
+ 1054 4384 addEntry(vendor, list.get(2));
+ 1055 4384 addEntry(product, list.get(1));
+ 1056 4384 addEntry(product, list.get(2));
+ 1057 4384 addEntry(product, list.get(3));
1058
}
- 1059 12750 }
- 1060 36 }
+ 1059 6375 }
+ 1060 18 }
1061
1062
@@ -1676,14 +1676,14 @@
1069
private void addEntry(HashMap<String, Integer> collection, String key) {
- 1070 68536 if (collection.containsKey(key)) {
- 1071 60628 collection.put(key, collection.get(key) + 1);
+ 1070 34268 if (collection.containsKey(key)) {
+ 1071 30314 collection.put(key, collection.get(key) + 1);
1072
} else {
- 1073 7908 collection.put(key, 1);
+ 1073 3954 collection.put(key, 1);
1074
}
- 1075 68536 }
+ 1075 34268 }
1076
1077
@@ -1706,20 +1706,20 @@
1086
private void addMatchingValues(ArrayList<ClassNameInformation> classes, String value, EvidenceCollection evidence) {
- 1087 314 if (value == null || value.isEmpty()) {
+ 1087 157 if (value == null || value.isEmpty()) {
1088 0 return ;
1089
}
- 1090 314 final String text = value.toLowerCase();
- 1091 314 for (ClassNameInformation cni : classes) {
- 1092 126348 for (String key : cni.getPackageStructure()) {
- 1093 463724 if (text.contains(key)) {
- 1094 141062 evidence.addEvidence("jar" , "package name" , key, Confidence.HIGHEST);
+ 1090 157 final String text = value.toLowerCase();
+ 1091 157 for (ClassNameInformation cni : classes) {
+ 1092 63174 for (String key : cni.getPackageStructure()) {
+ 1093 231862 if (text.contains(key)) {
+ 1094 70531 evidence.addEvidence("jar" , "package name" , key, Confidence.HIGHEST);
1095
}
- 1096 463724 }
- 1097 126348 }
- 1098 314 }
+ 1096 231862 }
+ 1097 63174 }
+ 1098 157 }
1099
1100
@@ -1740,7 +1740,7 @@
private boolean isPackage(String key, String value) {
1108
- 1109 122 return !key.matches(".*(version|title|vendor|name|license|description).*" )
+ 1109 61 return !key.matches(".*(version|title|vendor|name|license|description).*" )
1110
&& value.matches("^([a-zA-Z_][a-zA-Z0-9_\\$]*(\\.[a-zA-Z_][a-zA-Z0-9_\\$]*)*)?$" );
1111
@@ -1965,30 +1965,30 @@
1256
- 1257 12750 ClassNameInformation(String className) {
- 1258 12750 name = className;
- 1259 12750 if (name.contains("/" )) {
- 1260 12750 final String[] tmp = className.toLowerCase().split("/" );
- 1261 12750 int start = 0;
- 1262 12750 int end = 3;
- 1263 12750 if ("com" .equals(tmp[0]) || "org" .equals(tmp[0])) {
- 1264 11896 start = 1;
- 1265 11896 end = 4;
+ 1257 6375 ClassNameInformation(String className) {
+ 1258 6375 name = className;
+ 1259 6375 if (name.contains("/" )) {
+ 1260 6375 final String[] tmp = className.toLowerCase().split("/" );
+ 1261 6375 int start = 0;
+ 1262 6375 int end = 3;
+ 1263 6375 if ("com" .equals(tmp[0]) || "org" .equals(tmp[0])) {
+ 1264 5948 start = 1;
+ 1265 5948 end = 4;
1266
}
- 1267 12750 if (tmp.length <= end) {
- 1268 3982 end = tmp.length - 1;
+ 1267 6375 if (tmp.length <= end) {
+ 1268 1991 end = tmp.length - 1;
1269
}
- 1270 59768 for (int i = start; i <= end; i++) {
- 1271 47018 packageStructure.add(tmp[i]);
+ 1270 29884 for (int i = start; i <= end; i++) {
+ 1271 23509 packageStructure.add(tmp[i]);
1272
}
- 1273 12750 } else {
+ 1273 6375 } else {
1274 0 packageStructure.add(name);
1275
}
- 1276 12750 }
+ 1276 6375 }
1277
1278
@@ -2036,7 +2036,7 @@
1301
- 1302 12750 private final ArrayList<String> packageStructure = new ArrayList<String>();
+ 1302 6375 private final ArrayList<String> packageStructure = new ArrayList<String>();
1303
1304
@@ -2051,7 +2051,7 @@
1309
public ArrayList<String> getPackageStructure() {
- 1310 139098 return packageStructure;
+ 1310 69549 return packageStructure;
1311
}
1312
@@ -2092,6 +2092,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
index d06b3b38b..d340eba79 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
@@ -12,7 +12,7 @@
@@ -48,7 +48,7 @@
15
16
-
+
17
18
@@ -56,194 +56,206 @@
19
20
- import java.util.Set;
+ import java.io.BufferedReader;
21
- import java.util.regex.Pattern;
+ import java.io.File;
22
- import org.owasp.dependencycheck.Engine;
+ import java.io.FileNotFoundException;
23
- import org.owasp.dependencycheck.dependency.Dependency;
+ import java.io.FileReader;
24
-
+ import java.io.IOException;
25
-
+ import java.util.Set;
26
-
+ import java.util.logging.Level;
27
-
+ import java.util.logging.Logger;
28
-
+ import java.util.regex.Pattern;
29
-
+ import org.owasp.dependencycheck.Engine;
30
-
- 31 0 public class JavaScriptAnalyzer extends AbstractAnalyzer implements Analyzer {
+ import org.owasp.dependencycheck.dependency.Dependency;
+ 31
+
32
-
+
33
-
+
34
-
+
35
-
+
36
-
+
37
- private static final String ANALYZER_NAME = "JavaScript Analyzer" ;
- 38
-
+
+ 38 5 public class JavaScriptAnalyzer extends AbstractAnalyzer implements Analyzer {
39
-
- 40
-
- 41 0 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
- 42
-
- 43
-
- 44
-
- 45 0 private static final Set<String> EXTENSIONS = newHashSet("js" );
- 46
- 47
+ 40
+
+ 41
- 48
-
+ 42
+
+ 43
+
+ 44
+ private static final String ANALYZER_NAME = "JavaScript Analyzer" ;
+ 45
+
+ 46
+
+ 47
+
+ 48 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
49
-
+
50
-
+
51
- 52
- public Set<String> getSupportedExtensions() {
- 53 0 return EXTENSIONS;
+ 52 1 private static final Set<String> EXTENSIONS = newHashSet("js" );
+ 53
+
54
- }
+
55
-
+
56
-
+
57
-
+
58
-
+
59
-
+ @Override
60
-
- 61
- public String getName() {
- 62 0 return ANALYZER_NAME;
+ public Set<String> getSupportedExtensions() {
+ 61 1 return EXTENSIONS;
+ 62
+ }
63
- }
+
64
-
+
65
-
+
66
-
+
67
-
+
68
-
- 69
-
- 70
- 71
- public boolean supportsExtension(String extension) {
- 72 0 return EXTENSIONS.contains(extension);
- 73
+ 69
+ @Override
+ 70
+ public String getName() {
+ 71 1 return ANALYZER_NAME;
+ 72
}
- 74
+ 73
- 75
+ 74
+ 75
+
76
-
- 77
+ 77
+
78
-
+
79
80
- public AnalysisPhase getAnalysisPhase() {
- 81 0 return ANALYSIS_PHASE;
- 82
- }
+ @Override
+ 81
+ public boolean supportsExtension(String extension) {
+ 82 1 return EXTENSIONS.contains(extension);
83
-
+ }
84
85
86
-
+
87
-
+
88
-
+
89
-
+
90
-
+ @Override
91
-
- 92
-
+ public AnalysisPhase getAnalysisPhase() {
+ 92 1 return ANALYSIS_PHASE;
93
- @Override
+ }
94
- public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 95 0 final Pattern extractComments = Pattern.compile("(/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+/)|(//.*)" );
+
+ 95
+
96
-
- 97 0 }
+
+ 97
+
98
-
+
99
-
+
100
-
+
101
-
+
102
-
+
103
-
+ @Override
104
- @Override
- 105
- public void initialize() throws Exception {
+ public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+ 105 0 BufferedReader fin = null ;;
106
-
- 107 0 }
- 108
-
- 109
-
- 110
-
- 111
-
+ try {
+ 107
+
+ 108 0 final Pattern extractComments = Pattern.compile("(/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+/)|(//.*)" , Pattern.MULTILINE);
+ 109 0 File file = dependency.getActualFile();
+ 110 0 fin = new BufferedReader(new FileReader(file));
+ 111 0 StringBuilder sb = new StringBuilder(2000);
112
-
- 113
-
- 114
- @Override
+ String text;
+ 113 0 while ((text = fin.readLine()) != null ) {
+ 114 0 sb.append(text);
115
- public void close() throws Exception {
- 116
-
- 117 0 }
- 118
+ }
+ 116 0 } catch (FileNotFoundException ex) {
+ 117 0 final String msg = String.format("Dependency file not found: '%s'" , dependency.getActualFilePath());
+ 118 0 throw new AnalysisException(msg, ex);
+ 119 0 } catch (IOException ex) {
+ 120 0 Logger.getLogger(JavaScriptAnalyzer.class .getName()).log(Level.SEVERE, null , ex);
+ 121
+ } finally {
+ 122 0 if (fin != null ) {
+ 123
+ try {
+ 124 0 fin.close();
+ 125 0 } catch (IOException ex) {
+ 126 0 Logger.getLogger(JavaScriptAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+ 127 0 }
+ 128
+ }
+ 129
+ }
+ 130 0 }
+ 131
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html
index 76f7b5630..1102bcf77 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html
@@ -12,7 +12,7 @@
@@ -111,7 +111,7 @@
47
- 48 2 public class NexusAnalyzer extends AbstractAnalyzer {
+ 48 1 public class NexusAnalyzer extends AbstractAnalyzer {
49
50
@@ -120,7 +120,7 @@
52
- 53 2 private static final Logger LOGGER = Logger.getLogger(NexusAnalyzer.class .getName());
+ 53 1 private static final Logger LOGGER = Logger.getLogger(NexusAnalyzer.class .getName());
54
55
@@ -139,7 +139,7 @@
62
- 63 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 63 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
64
65
@@ -148,7 +148,7 @@
67
- 68 2 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("jar" );
+ 68 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("jar" );
69
70
@@ -157,7 +157,7 @@
72
- 73 2 private boolean enabled = false ;
+ 73 1 private boolean enabled = false ;
74
75
@@ -184,15 +184,15 @@
@Override
86
public void initialize() throws Exception {
- 87 6 enabled = Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED);
- 88 6 LOGGER.fine("Initializing Nexus Analyzer" );
- 89 6 LOGGER.fine(String.format("Nexus Analyzer enabled: %s" , enabled));
- 90 6 if (enabled) {
- 91 6 final String searchUrl = Settings.getString(Settings.KEYS.ANALYZER_NEXUS_URL);
- 92 6 LOGGER.fine(String.format("Nexus Analyzer URL: %s" , searchUrl));
+ 87 3 enabled = Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED);
+ 88 3 LOGGER.fine("Initializing Nexus Analyzer" );
+ 89 3 LOGGER.fine(String.format("Nexus Analyzer enabled: %s" , enabled));
+ 90 3 if (enabled) {
+ 91 0 final String searchUrl = Settings.getString(Settings.KEYS.ANALYZER_NEXUS_URL);
+ 92 0 LOGGER.fine(String.format("Nexus Analyzer URL: %s" , searchUrl));
93
try {
- 94 6 searcher = new NexusSearch(new URL(searchUrl));
+ 94 0 searcher = new NexusSearch(new URL(searchUrl));
95 0 } catch (MalformedURLException mue) {
96
@@ -200,10 +200,10 @@
98 0 LOGGER.warning(String.format("Property %s not a valid URL. Nexus Analyzer disabled" , searchUrl));
99 0 enabled = false ;
- 100 6 }
+ 100 0 }
101
}
- 102 6 }
+ 102 3 }
103
104
@@ -220,7 +220,7 @@
@Override
110
public String getName() {
- 111 18 return ANALYZER_NAME;
+ 111 9 return ANALYZER_NAME;
112
}
113
@@ -239,7 +239,7 @@
@Override
120
public AnalysisPhase getAnalysisPhase() {
- 121 12 return ANALYSIS_PHASE;
+ 121 6 return ANALYSIS_PHASE;
122
}
123
@@ -258,7 +258,7 @@
@Override
130
public Set<String> getSupportedExtensions() {
- 131 276 return SUPPORTED_EXTENSIONS;
+ 131 138 return SUPPORTED_EXTENSIONS;
132
}
133
@@ -279,7 +279,7 @@
@Override
141
public boolean supportsExtension(String extension) {
- 142 268 return SUPPORTED_EXTENSIONS.contains(extension);
+ 142 134 return SUPPORTED_EXTENSIONS.contains(extension);
143
}
144
@@ -304,29 +304,29 @@
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
154
- 155 10 if (!enabled) {
- 156 0 return ;
+ 155 5 if (!enabled) {
+ 156 5 return ;
157
}
158
159
try {
- 160 10 final MavenArtifact ma = searcher.searchSha1(dependency.getSha1sum());
- 161 10 if (ma.getGroupId() != null && !"" .equals(ma.getGroupId())) {
- 162 10 dependency.getVendorEvidence().addEvidence("nexus" , "groupid" , ma.getGroupId(), Confidence.HIGH);
+ 160 0 final MavenArtifact ma = searcher.searchSha1(dependency.getSha1sum());
+ 161 0 if (ma.getGroupId() != null && !"" .equals(ma.getGroupId())) {
+ 162 0 dependency.getVendorEvidence().addEvidence("nexus" , "groupid" , ma.getGroupId(), Confidence.HIGH);
163
}
- 164 10 if (ma.getArtifactId() != null && !"" .equals(ma.getArtifactId())) {
- 165 10 dependency.getProductEvidence().addEvidence("nexus" , "artifactid" , ma.getArtifactId(), Confidence.HIGH);
+ 164 0 if (ma.getArtifactId() != null && !"" .equals(ma.getArtifactId())) {
+ 165 0 dependency.getProductEvidence().addEvidence("nexus" , "artifactid" , ma.getArtifactId(), Confidence.HIGH);
166
}
- 167 10 if (ma.getVersion() != null && !"" .equals(ma.getVersion())) {
- 168 10 dependency.getVersionEvidence().addEvidence("nexus" , "version" , ma.getVersion(), Confidence.HIGH);
+ 167 0 if (ma.getVersion() != null && !"" .equals(ma.getVersion())) {
+ 168 0 dependency.getVersionEvidence().addEvidence("nexus" , "version" , ma.getVersion(), Confidence.HIGH);
169
}
- 170 10 if (ma.getArtifactUrl() != null && !"" .equals(ma.getArtifactUrl())) {
- 171 10 dependency.addIdentifier("maven" , ma.toString(), ma.getArtifactUrl(), Confidence.HIGHEST);
+ 170 0 if (ma.getArtifactUrl() != null && !"" .equals(ma.getArtifactUrl())) {
+ 171 0 dependency.addIdentifier("maven" , ma.toString(), ma.getArtifactUrl(), Confidence.HIGHEST);
172
}
173 0 } catch (IllegalArgumentException iae) {
@@ -342,8 +342,8 @@
181
182 0 LOGGER.log(Level.FINE, "Could not connect to nexus repository" , ioe);
- 183 10 }
- 184 10 }
+ 183 0 }
+ 184 0 }
185
}
186
@@ -352,6 +352,6 @@
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html
new file mode 100644
index 000000000..27f041d6d
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html
@@ -0,0 +1,290 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.analyzer.NuspecAnalyzer
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.analyzer;
+ 19
+
+ 20
+ import java.io.FileInputStream;
+ 21
+ import java.util.Set;
+ 22
+ import java.util.logging.Level;
+ 23
+ import java.util.logging.Logger;
+ 24
+
+ 25
+ import org.owasp.dependencycheck.Engine;
+ 26
+ import org.owasp.dependencycheck.data.nuget.NugetPackage;
+ 27
+ import org.owasp.dependencycheck.data.nuget.NuspecParser;
+ 28
+ import org.owasp.dependencycheck.data.nuget.XPathNuspecParser;
+ 29
+ import org.owasp.dependencycheck.dependency.Confidence;
+ 30
+ import org.owasp.dependencycheck.dependency.Dependency;
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37 5 public class NuspecAnalyzer extends AbstractAnalyzer {
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42 1 private static final Logger LOGGER = Logger.getLogger(NuspecAnalyzer.class .getName());
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+ private static final String ANALYZER_NAME = "Nuspec Analyzer" ;
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("nuspec" );
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+ @Override
+ 65
+ public void initialize() throws Exception {
+ 66 3 }
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+ @Override
+ 74
+ public String getName() {
+ 75 10 return ANALYZER_NAME;
+ 76
+ }
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+ @Override
+ 84
+ public AnalysisPhase getAnalysisPhase() {
+ 85 7 return ANALYSIS_PHASE;
+ 86
+ }
+ 87
+
+ 88
+
+ 89
+
+ 90
+
+ 91
+
+ 92
+
+ 93
+ @Override
+ 94
+ public Set<String> getSupportedExtensions() {
+ 95 140 return SUPPORTED_EXTENSIONS;
+ 96
+ }
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+
+ 102
+
+ 103
+
+ 104
+ @Override
+ 105
+ public boolean supportsExtension(String extension) {
+ 106 136 return SUPPORTED_EXTENSIONS.contains(extension);
+ 107
+ }
+ 108
+
+ 109
+
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+
+ 116
+ @Override
+ 117
+ public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+ 118 0 LOGGER.log(Level.INFO, "Checking Nuspec file {0}" , dependency.toString());
+ 119
+ try {
+ 120 0 final NuspecParser parser = new XPathNuspecParser();
+ 121 0 NugetPackage np = null ;
+ 122 0 FileInputStream fis = null ;
+ 123
+ try {
+ 124 0 fis = new FileInputStream(dependency.getActualFilePath());
+ 125 0 np = parser.parse(fis);
+ 126
+ } finally {
+ 127 0 if (fis != null ) {
+ 128 0 try { fis.close(); } catch (Exception e) { }
+ 129
+ }
+ 130
+ }
+ 131
+
+ 132 0 if (np.getOwners() != null ) {
+ 133 0 dependency.getVendorEvidence().addEvidence("nuspec" , "owners" , np.getOwners(), Confidence.HIGHEST);
+ 134
+ }
+ 135 0 dependency.getVendorEvidence().addEvidence("nuspec" , "authors" , np.getAuthors(), Confidence.HIGH);
+ 136 0 dependency.getVersionEvidence().addEvidence("nuspec" , "version" , np.getVersion(), Confidence.HIGHEST);
+ 137 0 dependency.getProductEvidence().addEvidence("nuspec" , "id" , np.getId(), Confidence.HIGHEST);
+ 138 0 if (np.getTitle() != null ) {
+ 139 0 dependency.getProductEvidence().addEvidence("nuspec" , "title" , np.getTitle(), Confidence.MEDIUM);
+ 140
+ }
+ 141 0 } catch (Exception e) {
+ 142 0 throw new AnalysisException(e);
+ 143 0 }
+ 144 0 }
+ 145
+ }
+ 146
+
+ 147
+
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
index c7f70c49f..10d51ff26 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
@@ -12,7 +12,7 @@
@@ -89,7 +89,7 @@
36
- 37 2 public class NvdCveAnalyzer implements Analyzer {
+ 37 1 public class NvdCveAnalyzer implements Analyzer {
38
39
@@ -128,9 +128,9 @@
56
public void open() throws SQLException, IOException, DatabaseException, ClassNotFoundException {
- 57 6 cveDB = new CveDB();
- 58 6 cveDB.open();
- 59 6 }
+ 57 3 cveDB = new CveDB();
+ 58 3 cveDB.open();
+ 59 3 }
60
61
@@ -141,9 +141,9 @@
64
public void close() {
- 65 6 cveDB.close();
- 66 6 cveDB = null ;
- 67 6 }
+ 65 3 cveDB.close();
+ 66 3 cveDB = null ;
+ 67 3 }
68
69
@@ -201,20 +201,20 @@
98
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 99 18 for (Identifier id : dependency.getIdentifiers()) {
- 100 32 if ("cpe" .equals(id.getType())) {
+ 99 9 for (Identifier id : dependency.getIdentifiers()) {
+ 100 11 if ("cpe" .equals(id.getType())) {
101
try {
- 102 22 final String value = id.getValue();
- 103 22 final List<Vulnerability> vulns = cveDB.getVulnerabilities(value);
- 104 22 dependency.getVulnerabilities().addAll(vulns);
+ 102 11 final String value = id.getValue();
+ 103 11 final List<Vulnerability> vulns = cveDB.getVulnerabilities(value);
+ 104 11 dependency.getVulnerabilities().addAll(vulns);
105 0 } catch (DatabaseException ex) {
106 0 throw new AnalysisException(ex);
- 107 22 }
+ 107 11 }
108
}
- 109 32 }
- 110 18 }
+ 109 11 }
+ 110 9 }
111
112
@@ -229,7 +229,7 @@
117
public Set<String> getSupportedExtensions() {
- 118 264 return null ;
+ 118 132 return null ;
119
}
120
@@ -246,7 +246,7 @@
126
public String getName() {
- 127 18 return "NVD CVE Analyzer" ;
+ 127 9 return "NVD CVE Analyzer" ;
128
}
129
@@ -265,7 +265,7 @@
136
public boolean supportsExtension(String extension) {
- 137 18 return true ;
+ 137 9 return true ;
138
}
139
@@ -282,7 +282,7 @@
145
public AnalysisPhase getAnalysisPhase() {
- 146 12 return AnalysisPhase.FINDING_ANALYSIS;
+ 146 6 return AnalysisPhase.FINDING_ANALYSIS;
147
}
148
@@ -299,12 +299,12 @@
154
public void initialize() throws Exception {
- 155 6 this .open();
- 156 6 }
+ 155 3 this .open();
+ 156 3 }
157
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html
index 215d20430..4aa1627e9 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html
@@ -75,7 +75,7 @@
29
- 30 2 public class VulnerabilitySuppressionAnalyzer extends AbstractSuppressionAnalyzer {
+ 30 1 public class VulnerabilitySuppressionAnalyzer extends AbstractSuppressionAnalyzer {
31
32
@@ -94,7 +94,7 @@
39
- 40 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_FINDING_ANALYSIS;
+ 40 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_FINDING_ANALYSIS;
41
42
@@ -111,7 +111,7 @@
@Override
48
public String getName() {
- 49 18 return ANALYZER_NAME;
+ 49 9 return ANALYZER_NAME;
50
}
51
@@ -130,7 +130,7 @@
@Override
58
public AnalysisPhase getAnalysisPhase() {
- 59 12 return ANALYSIS_PHASE;
+ 59 6 return ANALYSIS_PHASE;
60
}
61
@@ -143,8 +143,8 @@
public void analyze(final Dependency dependency, final Engine engine) throws AnalysisException {
65
- 66 18 if (getRules() == null || getRules().size() <= 0) {
- 67 18 return ;
+ 66 9 if (getRules() == null || getRules().size() <= 0) {
+ 67 9 return ;
68
}
69
@@ -157,6 +157,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.html
index 8eba42a9c..b62edef2a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.html
@@ -135,7 +135,7 @@
59
- 60 2 private static CpeMemoryIndex instance = new CpeMemoryIndex();
+ 60 1 private static CpeMemoryIndex instance = new CpeMemoryIndex();
61
62
@@ -144,8 +144,8 @@
64
- 65 2 private CpeMemoryIndex() {
- 66 2 }
+ 65 1 private CpeMemoryIndex() {
+ 66 1 }
67
68
@@ -160,7 +160,7 @@
73
public static CpeMemoryIndex getInstance() {
- 74 28 return instance;
+ 74 14 return instance;
75
}
76
@@ -235,29 +235,29 @@
111
public void open(CveDB cve) throws IndexException {
- 112 28 if (!openState) {
- 113 22 index = new RAMDirectory();
- 114 22 buildIndex(cve);
+ 112 14 if (!openState) {
+ 113 11 index = new RAMDirectory();
+ 114 11 buildIndex(cve);
115
try {
- 116 22 indexReader = DirectoryReader.open(index);
+ 116 11 indexReader = DirectoryReader.open(index);
117 0 } catch (IOException ex) {
118 0 throw new IndexException(ex);
- 119 22 }
- 120 22 indexSearcher = new IndexSearcher(indexReader);
- 121 22 searchingAnalyzer = createSearchingAnalyzer();
- 122 22 queryParser = new QueryParser(LuceneUtils.CURRENT_VERSION, Fields.DOCUMENT_KEY, searchingAnalyzer);
- 123 22 openState = true ;
+ 119 11 }
+ 120 11 indexSearcher = new IndexSearcher(indexReader);
+ 121 11 searchingAnalyzer = createSearchingAnalyzer();
+ 122 11 queryParser = new QueryParser(LuceneUtils.CURRENT_VERSION, Fields.DOCUMENT_KEY, searchingAnalyzer);
+ 123 11 openState = true ;
124
}
- 125 28 }
+ 125 14 }
126
127
128
- 129 2 private boolean openState = false ;
+ 129 1 private boolean openState = false ;
130
131
@@ -291,9 +291,9 @@
@SuppressWarnings("unchecked" )
146
private Analyzer createIndexingAnalyzer() {
- 147 22 final Map fieldAnalyzers = new HashMap();
- 148 22 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
- 149 22 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
+ 147 11 final Map fieldAnalyzers = new HashMap();
+ 148 11 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+ 149 11 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
150
}
151
@@ -312,15 +312,15 @@
@SuppressWarnings("unchecked" )
158
private Analyzer createSearchingAnalyzer() {
- 159 22 final Map fieldAnalyzers = new HashMap();
- 160 22 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
- 161 22 productSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
- 162 22 vendorSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
- 163 22 fieldAnalyzers.put(Fields.PRODUCT, productSearchFieldAnalyzer);
- 164 22 fieldAnalyzers.put(Fields.VENDOR, vendorSearchFieldAnalyzer);
+ 159 11 final Map fieldAnalyzers = new HashMap();
+ 160 11 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+ 161 11 productSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
+ 162 11 vendorSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
+ 163 11 fieldAnalyzers.put(Fields.PRODUCT, productSearchFieldAnalyzer);
+ 164 11 fieldAnalyzers.put(Fields.VENDOR, vendorSearchFieldAnalyzer);
165
- 166 22 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
+ 166 11 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
167
}
168
@@ -345,13 +345,13 @@
178
public void saveEntry(String vendor, String product, IndexWriter indexWriter) throws CorruptIndexException, IOException {
- 179 472868 final Document doc = new Document();
- 180 472868 final Field v = new TextField(Fields.VENDOR, vendor, Field.Store.YES);
- 181 472868 final Field p = new TextField(Fields.PRODUCT, product, Field.Store.YES);
- 182 472868 doc.add(v);
- 183 472868 doc.add(p);
- 184 472868 indexWriter.addDocument(doc);
- 185 472868 }
+ 179 236434 final Document doc = new Document();
+ 180 236434 final Field v = new TextField(Fields.VENDOR, vendor, Field.Store.YES);
+ 181 236434 final Field p = new TextField(Fields.PRODUCT, product, Field.Store.YES);
+ 182 236434 doc.add(v);
+ 183 236434 doc.add(p);
+ 184 236434 indexWriter.addDocument(doc);
+ 185 236434 }
186
187
@@ -362,30 +362,30 @@
190
public void close() {
- 191 22 if (searchingAnalyzer != null ) {
- 192 22 searchingAnalyzer.close();
- 193 22 searchingAnalyzer = null ;
+ 191 11 if (searchingAnalyzer != null ) {
+ 192 11 searchingAnalyzer.close();
+ 193 11 searchingAnalyzer = null ;
194
}
- 195 22 if (indexReader != null ) {
+ 195 11 if (indexReader != null ) {
196
try {
- 197 22 indexReader.close();
+ 197 11 indexReader.close();
198 0 } catch (IOException ex) {
199 0 Logger.getLogger(CpeMemoryIndex.class .getName()).log(Level.FINEST, null , ex);
- 200 22 }
- 201 22 indexReader = null ;
+ 200 11 }
+ 201 11 indexReader = null ;
202
}
- 203 22 queryParser = null ;
- 204 22 indexSearcher = null ;
- 205 22 if (index != null ) {
- 206 22 index.close();
- 207 22 index = null ;
+ 203 11 queryParser = null ;
+ 204 11 indexSearcher = null ;
+ 205 11 if (index != null ) {
+ 206 11 index.close();
+ 207 11 index = null ;
208
}
- 209 22 openState = false ;
- 210 22 }
+ 209 11 openState = false ;
+ 210 11 }
211
212
@@ -402,58 +402,58 @@
218
private void buildIndex(CveDB cve) throws IndexException {
- 219 22 Analyzer analyzer = null ;
- 220 22 IndexWriter indexWriter = null ;
+ 219 11 Analyzer analyzer = null ;
+ 220 11 IndexWriter indexWriter = null ;
221
try {
- 222 22 analyzer = createIndexingAnalyzer();
- 223 22 final IndexWriterConfig conf = new IndexWriterConfig(LuceneUtils.CURRENT_VERSION, analyzer);
- 224 22 indexWriter = new IndexWriter(index, conf);
- 225 22 final ResultSet rs = cve.getVendorProductList();
- 226 22 if (rs == null ) {
+ 222 11 analyzer = createIndexingAnalyzer();
+ 223 11 final IndexWriterConfig conf = new IndexWriterConfig(LuceneUtils.CURRENT_VERSION, analyzer);
+ 224 11 indexWriter = new IndexWriter(index, conf);
+ 225 11 final ResultSet rs = cve.getVendorProductList();
+ 226 11 if (rs == null ) {
227 0 throw new IndexException("No data exists" );
228
}
229
try {
- 230 472890 while (rs.next()) {
- 231 472868 saveEntry(rs.getString(1), rs.getString(2), indexWriter);
+ 230 236445 while (rs.next()) {
+ 231 236434 saveEntry(rs.getString(1), rs.getString(2), indexWriter);
232
}
233 0 } catch (SQLException ex) {
234 0 Logger.getLogger(CpeMemoryIndex.class .getName()).log(Level.FINE, null , ex);
235 0 throw new IndexException("Error reading CPE data" , ex);
- 236 22 }
+ 236 11 }
237 0 } catch (CorruptIndexException ex) {
238 0 throw new IndexException("Unable to close an in-memory index" , ex);
239 0 } catch (IOException ex) {
240 0 throw new IndexException("Unable to close an in-memory index" , ex);
241
} finally {
- 242 22 if (indexWriter != null ) {
+ 242 11 if (indexWriter != null ) {
243
try {
244
try {
- 245 22 indexWriter.commit();
+ 245 11 indexWriter.commit();
246
} finally {
- 247 22 indexWriter.close(true );
- 248 22 }
+ 247 11 indexWriter.close(true );
+ 248 11 }
249 0 } catch (CorruptIndexException ex) {
250 0 throw new IndexException("Unable to close an in-memory index" , ex);
251 0 } catch (IOException ex) {
252 0 throw new IndexException("Unable to close an in-memory index" , ex);
- 253 22 }
- 254 22 if (analyzer != null ) {
- 255 22 analyzer.close();
+ 253 11 }
+ 254 11 if (analyzer != null ) {
+ 255 11 analyzer.close();
256
}
257
}
258
}
- 259 22 }
+ 259 11 }
260
261
@@ -495,12 +495,12 @@
282
public TopDocs search(String searchString, int maxQueryResults) throws ParseException, IOException {
- 283 146 if (searchString == null || searchString.trim().isEmpty()) {
+ 283 73 if (searchString == null || searchString.trim().isEmpty()) {
284 0 throw new ParseException("Query is null or empty" );
285
}
- 286 146 final Query query = queryParser.parse(searchString);
- 287 146 return indexSearcher.search(query, maxQueryResults);
+ 286 73 final Query query = queryParser.parse(searchString);
+ 287 73 return indexSearcher.search(query, maxQueryResults);
288
}
289
@@ -547,7 +547,7 @@
311
public Document getDocument(int documentId) throws IOException {
- 312 1500 return indexSearcher.doc(documentId);
+ 312 750 return indexSearcher.doc(documentId);
313
}
314
@@ -564,17 +564,17 @@
320
public int numDocs() {
- 321 6 if (indexReader == null ) {
+ 321 3 if (indexReader == null ) {
322 0 return -1;
323
}
- 324 6 return indexReader.numDocs();
+ 324 3 return indexReader.numDocs();
325
}
326
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.Fields.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.Fields.html
index 422945862..7aaad5a64 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.Fields.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.Fields.html
@@ -102,6 +102,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexEntry.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexEntry.html
index 11c1181d0..7ab8e0a19 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexEntry.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexEntry.html
@@ -73,7 +73,7 @@
28
- 29 24082 public class IndexEntry implements Serializable {
+ 29 12043 public class IndexEntry implements Serializable {
30
31
@@ -151,7 +151,7 @@
70
public String getVendor() {
- 71 7430 return vendor;
+ 71 3715 return vendor;
72
}
73
@@ -168,8 +168,8 @@
79
public void setVendor(String vendor) {
- 80 24080 this .vendor = vendor;
- 81 24080 }
+ 80 12042 this .vendor = vendor;
+ 81 12042 }
82
83
@@ -192,7 +192,7 @@
92
public String getProduct() {
- 93 8702 return product;
+ 93 4351 return product;
94
}
95
@@ -209,8 +209,8 @@
101
public void setProduct(String product) {
- 102 24080 this .product = product;
- 103 24080 }
+ 102 12042 this .product = product;
+ 103 12042 }
104
105
@@ -250,8 +250,8 @@
123
public void setSearchScore(float searchScore) {
- 124 1500 this .searchScore = searchScore;
- 125 1500 }
+ 124 750 this .searchScore = searchScore;
+ 125 750 }
126
127
@@ -290,19 +290,19 @@
144
public void parseName(String cpeName) throws UnsupportedEncodingException {
- 145 2 if (cpeName != null && cpeName.length() > 7) {
- 146 2 final String[] data = cpeName.substring(7).split(":" );
- 147 2 if (data.length >= 1) {
- 148 2 vendor = URLDecoder.decode(data[0].replace("+" , "%2B" ), "UTF-8" );
- 149 2 if (data.length >= 2) {
- 150 2 product = URLDecoder.decode(data[1].replace("+" , "%2B" ), "UTF-8" );
+ 145 1 if (cpeName != null && cpeName.length() > 7) {
+ 146 1 final String[] data = cpeName.substring(7).split(":" );
+ 147 1 if (data.length >= 1) {
+ 148 1 vendor = URLDecoder.decode(data[0].replace("+" , "%2B" ), "UTF-8" );
+ 149 1 if (data.length >= 2) {
+ 150 1 product = URLDecoder.decode(data[1].replace("+" , "%2B" ), "UTF-8" );
151
}
152
}
153
}
- 154 2 }
+ 154 1 }
155
156
@@ -320,21 +320,21 @@
@Override
164
public boolean equals(Object obj) {
- 165 12794 if (obj == null ) {
+ 165 6397 if (obj == null ) {
166 0 return false ;
167
}
- 168 12794 if (getClass() != obj.getClass()) {
+ 168 6397 if (getClass() != obj.getClass()) {
169 0 return false ;
170
}
- 171 12794 final IndexEntry other = (IndexEntry) obj;
- 172 12794 if ((this .vendor == null ) ? (other.vendor != null ) : !this .vendor.equals(other.vendor)) {
- 173 10082 return false ;
+ 171 6397 final IndexEntry other = (IndexEntry) obj;
+ 172 6397 if ((this .vendor == null ) ? (other.vendor != null ) : !this .vendor.equals(other.vendor)) {
+ 173 5182 return false ;
174
}
- 175 2712 if ((this .product == null ) ? (other.product != null ) : !this .product.equals(other.product)) {
- 176 2712 return false ;
+ 175 1215 if ((this .product == null ) ? (other.product != null ) : !this .product.equals(other.product)) {
+ 176 1215 return false ;
177
}
178 0 return true ;
@@ -363,6 +363,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexException.html
index 85719261a..bd40cbb47 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexException.html
@@ -143,6 +143,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweDB.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweDB.html
index 1ca7d124e..1b99f75d1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweDB.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweDB.html
@@ -97,7 +97,7 @@
41
- 42 2 private static final HashMap<String, String> CWE = loadData();
+ 42 1 private static final HashMap<String, String> CWE = loadData();
43
44
@@ -112,13 +112,13 @@
49
private static HashMap<String, String> loadData() {
- 50 2 ObjectInputStream oin = null ;
+ 50 1 ObjectInputStream oin = null ;
51
try {
- 52 2 final String filePath = "data/cwe.hashmap.serialized" ;
- 53 2 final InputStream input = CweDB.class .getClassLoader().getResourceAsStream(filePath);
- 54 2 oin = new ObjectInputStream(input);
- 55 2 return (HashMap<String, String>) oin.readObject();
+ 52 1 final String filePath = "data/cwe.hashmap.serialized" ;
+ 53 1 final InputStream input = CweDB.class .getClassLoader().getResourceAsStream(filePath);
+ 54 1 oin = new ObjectInputStream(input);
+ 55 1 return (HashMap<String, String>) oin.readObject();
56 0 } catch (ClassNotFoundException ex) {
57 0 Logger.getLogger(CweDB.class .getName()).log(Level.WARNING, "Unable to load CWE data. This should not be an issue." );
58 0 Logger.getLogger(CweDB.class .getName()).log(Level.FINE, null , ex);
@@ -127,13 +127,13 @@
61 0 Logger.getLogger(CweDB.class .getName()).log(Level.FINE, null , ex);
62
} finally {
- 63 2 if (oin != null ) {
+ 63 1 if (oin != null ) {
64
try {
- 65 2 oin.close();
+ 65 1 oin.close();
66 0 } catch (IOException ex) {
67 0 Logger.getLogger(CweDB.class .getName()).log(Level.FINEST, null , ex);
- 68 4 }
+ 68 2 }
69
}
70
@@ -159,8 +159,8 @@
81
public static String getCweName(String cweId) {
- 82 102 if (cweId != null ) {
- 83 102 return CWE.get(cweId);
+ 82 51 if (cweId != null ) {
+ 83 51 return CWE.get(cweId);
84
}
85 0 return null ;
@@ -170,6 +170,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweHandler.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweHandler.html
index b7d42473d..25735c6e5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweHandler.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweHandler.html
@@ -121,6 +121,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html
index 6e7827f91..c4ef52582 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html
@@ -85,7 +85,7 @@
34
- 35 59 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
+ 35 31 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
36
37
@@ -100,7 +100,7 @@
42
protected CharTermAttribute getTermAtt() {
- 43 59792 return termAtt;
+ 43 38492 return termAtt;
44
}
45
@@ -125,7 +125,7 @@
55
protected LinkedList<String> getTokens() {
- 56 59781 return tokens;
+ 56 38488 return tokens;
57
}
58
@@ -142,9 +142,9 @@
64
public AbstractTokenizingFilter(TokenStream stream) {
- 65 59 super (stream);
- 66 59 tokens = new LinkedList<String>();
- 67 59 }
+ 65 31 super (stream);
+ 66 31 tokens = new LinkedList<String>();
+ 67 31 }
68
69
@@ -159,20 +159,20 @@
74
protected boolean addTerm() {
- 75 59660 final boolean termAdded = tokens.size() > 0;
- 76 59668 if (termAdded) {
- 77 34680 final String term = tokens.pop();
- 78 34678 clearAttributes();
- 79 34676 termAtt.append(term);
+ 75 38408 final boolean termAdded = tokens.size() > 0;
+ 76 38412 if (termAdded) {
+ 77 22989 final String term = tokens.pop();
+ 78 22984 clearAttributes();
+ 79 22979 termAtt.append(term);
80
}
- 81 59614 return termAdded;
+ 81 38406 return termAdded;
82
}
83
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html
index 89e577a41..bf0c051d7 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html
@@ -91,8 +91,8 @@
37
public AlphaNumericTokenizer(Version matchVersion, Reader in) {
- 38 94 super (matchVersion, in);
- 39 94 }
+ 38 47 super (matchVersion, in);
+ 39 47 }
40
41
@@ -131,13 +131,13 @@
@Override
59
protected boolean isTokenChar(int c) {
- 60 11016450 return Character.isLetter(c) || Character.isDigit(c);
+ 60 5508126 return Character.isLetter(c) || Character.isDigit(c);
61
}
62
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html
index 4e71588d2..140a66d9d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html
@@ -111,6 +111,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html
index 7af5ce3b1..165715465 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html
@@ -113,9 +113,9 @@
48
- 49 46 public FieldAnalyzer(Version version) {
- 50 46 this .version = version;
- 51 46 }
+ 49 23 public FieldAnalyzer(Version version) {
+ 50 23 this .version = version;
+ 51 23 }
52
53
@@ -136,13 +136,13 @@
@Override
61
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
- 62 46 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
+ 62 23 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
63
- 64 46 TokenStream stream = source;
+ 64 23 TokenStream stream = source;
65
- 66 46 stream = new WordDelimiterFilter(stream,
+ 66 23 stream = new WordDelimiterFilter(stream,
67
WordDelimiterFilter.CATENATE_WORDS
68
@@ -159,17 +159,17 @@
| WordDelimiterFilter.STEM_ENGLISH_POSSESSIVE, null );
74
- 75 46 stream = new LowerCaseFilter(version, stream);
- 76 46 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
+ 75 23 stream = new LowerCaseFilter(version, stream);
+ 76 23 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
77
- 78 46 return new TokenStreamComponents(source, stream);
+ 78 23 return new TokenStreamComponents(source, stream);
79
}
80
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.LuceneUtils.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.LuceneUtils.html
index ba1efc1be..44e0f2be1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.LuceneUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.LuceneUtils.html
@@ -83,7 +83,7 @@
33
- 34 2 public static final Version CURRENT_VERSION = Version.LUCENE_45;
+ 34 1 public static final Version CURRENT_VERSION = Version.LUCENE_45;
35
36
@@ -122,15 +122,15 @@
final CharSequence text) {
54
- 55 2328 if (text == null || buf == null ) {
- 56 2 return ;
+ 55 1158 if (text == null || buf == null ) {
+ 56 1 return ;
57
}
58
- 59 23186 for (int i = 0; i < text.length(); i++) {
- 60 20860 final char c = text.charAt(i);
- 61 20860 switch (c) {
+ 59 11488 for (int i = 0; i < text.length(); i++) {
+ 60 10331 final char c = text.charAt(i);
+ 61 10331 switch (c) {
62
case '+' :
63
@@ -167,17 +167,17 @@
case ':' :
79
case '\\' :
- 80 452 buf.append('\\' );
+ 80 226 buf.append('\\' );
81
default :
- 82 20860 buf.append(c);
+ 82 10331 buf.append(c);
83
break ;
84
}
85
}
- 86 2326 }
+ 86 1157 }
87
88
@@ -196,27 +196,27 @@
public static String escapeLuceneQuery(final CharSequence text) {
95
- 96 2246 if (text == null ) {
- 97 2 return null ;
+ 96 1117 if (text == null ) {
+ 97 1 return null ;
98
}
99
- 100 2244 int size = text.length();
- 101 2244 size = size >> 1;
- 102 2244 final StringBuilder buf = new StringBuilder(size);
+ 100 1116 int size = text.length();
+ 101 1116 size = size >> 1;
+ 102 1116 final StringBuilder buf = new StringBuilder(size);
103
- 104 2244 appendEscapedLuceneQuery(buf, text);
+ 104 1116 appendEscapedLuceneQuery(buf, text);
105
- 106 2244 return buf.toString();
+ 106 1116 return buf.toString();
107
}
108
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer.html
index ddff1214b..78d334449 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer.html
@@ -119,9 +119,9 @@
51
- 52 48 public SearchFieldAnalyzer(Version version) {
- 53 48 this .version = version;
- 54 48 }
+ 52 24 public SearchFieldAnalyzer(Version version) {
+ 53 24 this .version = version;
+ 54 24 }
55
56
@@ -142,13 +142,13 @@
@Override
64
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
- 65 48 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
+ 65 24 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
66
- 67 48 TokenStream stream = source;
+ 67 24 TokenStream stream = source;
68
- 69 48 stream = new WordDelimiterFilter(stream,
+ 69 24 stream = new WordDelimiterFilter(stream,
70
WordDelimiterFilter.GENERATE_WORD_PARTS
71
@@ -163,14 +163,14 @@
| WordDelimiterFilter.STEM_ENGLISH_POSSESSIVE, null );
76
- 77 48 stream = new LowerCaseFilter(version, stream);
- 78 48 stream = new UrlTokenizingFilter(stream);
- 79 48 concatenatingFilter = new TokenPairConcatenatingFilter(stream);
- 80 48 stream = concatenatingFilter;
- 81 48 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
+ 77 24 stream = new LowerCaseFilter(version, stream);
+ 78 24 stream = new UrlTokenizingFilter(stream);
+ 79 24 concatenatingFilter = new TokenPairConcatenatingFilter(stream);
+ 80 24 stream = concatenatingFilter;
+ 81 24 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
82
- 83 48 return new TokenStreamComponents(source, stream);
+ 83 24 return new TokenStreamComponents(source, stream);
84
}
85
@@ -191,15 +191,15 @@
93
public void clear() {
- 94 4 if (concatenatingFilter != null ) {
- 95 4 concatenatingFilter.clear();
+ 94 2 if (concatenatingFilter != null ) {
+ 95 2 concatenatingFilter.clear();
96
}
- 97 4 }
+ 97 2 }
98
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer.html
index 273439850..05b89e440 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer.html
@@ -155,6 +155,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter.html
index 51e8ac7b6..267560170 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter.html
@@ -93,7 +93,7 @@
38
- 39 52 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
+ 39 26 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
40
41
@@ -124,7 +124,7 @@
54
protected String getPreviousWord() {
- 55 4 return previousWord;
+ 55 2 return previousWord;
56
}
57
@@ -141,7 +141,7 @@
63
protected LinkedList<String> getWords() {
- 64 2 return words;
+ 64 1 return words;
65
}
66
@@ -158,9 +158,9 @@
72
public TokenPairConcatenatingFilter(TokenStream stream) {
- 73 52 super (stream);
- 74 52 words = new LinkedList<String>();
- 75 52 }
+ 73 26 super (stream);
+ 74 26 words = new LinkedList<String>();
+ 75 26 }
76
77
@@ -185,35 +185,35 @@
87
- 88 15312 while (input.incrementToken()) {
- 89 4308 final String word = new String(termAtt.buffer(), 0, termAtt.length());
- 90 4308 words.add(word);
- 91 4308 }
+ 88 7578 while (input.incrementToken()) {
+ 89 2130 final String word = new String(termAtt.buffer(), 0, termAtt.length());
+ 90 2130 words.add(word);
+ 91 2130 }
92
93
94
- 95 11004 if (previousWord != null && words.size() > 0) {
- 96 4252 final String word = words.getFirst();
- 97 4252 clearAttributes();
- 98 4252 termAtt.append(previousWord).append(word);
- 99 4252 previousWord = null ;
- 100 4252 return true ;
+ 95 5448 if (previousWord != null && words.size() > 0) {
+ 96 2102 final String word = words.getFirst();
+ 97 2102 clearAttributes();
+ 98 2102 termAtt.append(previousWord).append(word);
+ 99 2102 previousWord = null ;
+ 100 2102 return true ;
101
}
102
- 103 6752 if (words.size() > 0) {
- 104 4308 final String word = words.removeFirst();
- 105 4308 clearAttributes();
- 106 4308 termAtt.append(word);
- 107 4308 previousWord = word;
- 108 4308 return true ;
+ 103 3346 if (words.size() > 0) {
+ 104 2130 final String word = words.removeFirst();
+ 105 2130 clearAttributes();
+ 106 2130 termAtt.append(word);
+ 107 2130 previousWord = word;
+ 108 2130 return true ;
109
}
- 110 2444 return false ;
+ 110 1216 return false ;
111
}
112
@@ -234,13 +234,13 @@
120
public void clear() {
- 121 6 previousWord = null ;
- 122 6 words.clear();
- 123 6 }
+ 121 3 previousWord = null ;
+ 122 3 words.clear();
+ 123 3 }
124
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter.html
index bbf261e20..448f2ae8b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter.html
@@ -107,8 +107,8 @@
45
public UrlTokenizingFilter(TokenStream stream) {
- 46 59 super (stream);
- 47 59 }
+ 46 31 super (stream);
+ 47 31 }
48
49
@@ -129,22 +129,22 @@
@Override
57
public boolean incrementToken() throws IOException {
- 58 59772 final LinkedList<String> tokens = getTokens();
- 59 59769 final CharTermAttribute termAtt = getTermAtt();
- 60 59788 if (tokens.size() == 0 && input.incrementToken()) {
- 61 34694 final String text = new String(termAtt.buffer(), 0, termAtt.length());
- 62 34696 if (UrlStringUtils.containsUrl(text)) {
- 63 4 final String[] parts = text.split("\\s" );
- 64 8 for (String part : parts) {
- 65 4 if (UrlStringUtils.isUrl(part)) {
+ 58 38485 final LinkedList<String> tokens = getTokens();
+ 59 38491 final CharTermAttribute termAtt = getTermAtt();
+ 60 38507 if (tokens.size() == 0 && input.incrementToken()) {
+ 61 22983 final String text = new String(termAtt.buffer(), 0, termAtt.length());
+ 62 22983 if (UrlStringUtils.containsUrl(text)) {
+ 63 2 final String[] parts = text.split("\\s" );
+ 64 4 for (String part : parts) {
+ 65 2 if (UrlStringUtils.isUrl(part)) {
66
try {
- 67 4 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
- 68 4 tokens.addAll(data);
+ 67 2 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
+ 68 2 tokens.addAll(data);
69 0 } catch (MalformedURLException ex) {
70 0 Logger.getLogger(UrlTokenizingFilter.class .getName()).log(Level.INFO, "error parsing " + part, ex);
71 0 tokens.add(part);
- 72 4 }
+ 72 2 }
73
} else {
74 0 tokens.add(part);
@@ -152,19 +152,19 @@
}
76
}
- 77 4 } else {
- 78 34706 tokens.add(text);
+ 77 2 } else {
+ 78 22979 tokens.add(text);
79
}
80
}
- 81 59658 return addTerm();
+ 81 38406 return addTerm();
82
}
83
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionAnalyzer.html
index 2a7ce0bf6..b3e52755c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionAnalyzer.html
@@ -154,6 +154,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter.html
index 1e465a936..9daea3b49 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter.html
@@ -193,6 +193,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.MavenArtifact.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.MavenArtifact.html
index 6f53cdd38..4d19b47ad 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.MavenArtifact.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.MavenArtifact.html
@@ -12,7 +12,7 @@
@@ -156,12 +156,12 @@
73
- 74 10 public MavenArtifact(String groupId, String artifactId, String version, String url) {
- 75 10 setGroupId(groupId);
- 76 10 setArtifactId(artifactId);
- 77 10 setVersion(version);
- 78 10 setArtifactUrl(url);
- 79 10 }
+ 74 0 public MavenArtifact(String groupId, String artifactId, String version, String url) {
+ 75 0 setGroupId(groupId);
+ 76 0 setArtifactId(artifactId);
+ 77 0 setVersion(version);
+ 78 0 setArtifactUrl(url);
+ 79 0 }
80
81
@@ -178,7 +178,7 @@
@Override
87
public String toString() {
- 88 10 return String.format("%s:%s:%s" , groupId, artifactId, version);
+ 88 0 return String.format("%s:%s:%s" , groupId, artifactId, version);
89
}
90
@@ -195,8 +195,8 @@
96
public void setGroupId(String groupId) {
- 97 10 this .groupId = groupId;
- 98 10 }
+ 97 0 this .groupId = groupId;
+ 98 0 }
99
100
@@ -211,7 +211,7 @@
105
public String getGroupId() {
- 106 30 return groupId;
+ 106 0 return groupId;
107
}
108
@@ -228,8 +228,8 @@
114
public void setArtifactId(String artifactId) {
- 115 10 this .artifactId = artifactId;
- 116 10 }
+ 115 0 this .artifactId = artifactId;
+ 116 0 }
117
118
@@ -244,7 +244,7 @@
123
public String getArtifactId() {
- 124 30 return artifactId;
+ 124 0 return artifactId;
125
}
126
@@ -261,8 +261,8 @@
132
public void setVersion(String version) {
- 133 10 this .version = version;
- 134 10 }
+ 133 0 this .version = version;
+ 134 0 }
135
136
@@ -277,7 +277,7 @@
141
public String getVersion() {
- 142 30 return version;
+ 142 0 return version;
143
}
144
@@ -294,8 +294,8 @@
150
public void setArtifactUrl(String artifactUrl) {
- 151 10 this .artifactUrl = artifactUrl;
- 152 10 }
+ 151 0 this .artifactUrl = artifactUrl;
+ 152 0 }
153
154
@@ -310,7 +310,7 @@
159
public String getArtifactUrl() {
- 160 30 return artifactUrl;
+ 160 0 return artifactUrl;
161
}
162
@@ -321,6 +321,6 @@
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.NexusSearch.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.NexusSearch.html
index cb77c2d92..5b7587f90 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.NexusSearch.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.NexusSearch.html
@@ -12,7 +12,7 @@
@@ -107,7 +107,7 @@
45
- 46 2 private static final Logger LOGGER = Logger.getLogger(NexusSearch.class .getName());
+ 46 1 private static final Logger LOGGER = Logger.getLogger(NexusSearch.class .getName());
47
48
@@ -122,9 +122,9 @@
53
- 54 10 public NexusSearch(URL rootURL) {
- 55 10 this .rootURL = rootURL;
- 56 10 }
+ 54 2 public NexusSearch(URL rootURL) {
+ 55 2 this .rootURL = rootURL;
+ 56 2 }
57
58
@@ -147,40 +147,40 @@
67
public MavenArtifact searchSha1(String sha1) throws IOException {
- 68 14 if (null == sha1 || !sha1.matches("^[0-9A-Fa-f]{40}$" )) {
- 69 4 throw new IllegalArgumentException("Invalid SHA1 format" );
+ 68 2 if (null == sha1 || !sha1.matches("^[0-9A-Fa-f]{40}$" )) {
+ 69 2 throw new IllegalArgumentException("Invalid SHA1 format" );
70
}
71
- 72 10 final URL url = new URL(rootURL, String.format("identify/sha1/%s" , sha1.toLowerCase()));
+ 72 0 final URL url = new URL(rootURL, String.format("identify/sha1/%s" , sha1.toLowerCase()));
73
- 74 10 LOGGER.fine(String.format("Searching Nexus url %s" , url.toString()));
+ 74 0 LOGGER.fine(String.format("Searching Nexus url %s" , url.toString()));
75
- 76 10 final URLConnection conn = url.openConnection();
- 77 10 conn.setDoOutput(true );
+ 76 0 final URLConnection conn = url.openConnection();
+ 77 0 conn.setDoOutput(true );
78
79
80
- 81 10 conn.addRequestProperty("Accept" , "application/xml" );
- 82 10 conn.connect();
+ 81 0 conn.addRequestProperty("Accept" , "application/xml" );
+ 82 0 conn.connect();
83
84
try {
- 85 10 final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- 86 10 final Document doc = builder.parse(conn.getInputStream());
- 87 10 final XPath xpath = XPathFactory.newInstance().newXPath();
- 88 10 final String groupId = xpath.evaluate("/org.sonatype.nexus.rest.model.NexusArtifact/groupId" , doc);
- 89 10 final String artifactId = xpath.evaluate("/org.sonatype.nexus.rest.model.NexusArtifact/artifactId" , doc);
- 90 10 final String version = xpath.evaluate("/org.sonatype.nexus.rest.model.NexusArtifact/version" , doc);
- 91 10 final String link = xpath.evaluate("/org.sonatype.nexus.rest.model.NexusArtifact/artifactLink" , doc);
- 92 10 return new MavenArtifact(groupId, artifactId, version, link);
+ 85 0 final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ 86 0 final Document doc = builder.parse(conn.getInputStream());
+ 87 0 final XPath xpath = XPathFactory.newInstance().newXPath();
+ 88 0 final String groupId = xpath.evaluate("/org.sonatype.nexus.rest.model.NexusArtifact/groupId" , doc);
+ 89 0 final String artifactId = xpath.evaluate("/org.sonatype.nexus.rest.model.NexusArtifact/artifactId" , doc);
+ 90 0 final String version = xpath.evaluate("/org.sonatype.nexus.rest.model.NexusArtifact/version" , doc);
+ 91 0 final String link = xpath.evaluate("/org.sonatype.nexus.rest.model.NexusArtifact/artifactLink" , doc);
+ 92 0 return new MavenArtifact(groupId, artifactId, version, link);
93 0 } catch (FileNotFoundException fnfe) {
94
@@ -203,6 +203,6 @@
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html
new file mode 100644
index 000000000..2c2d9839e
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html
@@ -0,0 +1,362 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.nuget.NugetPackage
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.data.nuget;
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public class NugetPackage {
+ 26
+
+ 27
+
+ 28
+
+ 29
+ private String id;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+ private String version;
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+ private String title;
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+ private String authors;
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+ private String owners;
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+ private String licenseUrl;
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59 2 public NugetPackage() {
+ 60 2 }
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+ public void setId(String id) {
+ 67 1 this .id = id;
+ 68 1 }
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+ public String getId() {
+ 75 1 return id;
+ 76
+ }
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ public void setVersion(String version) {
+ 83 1 this .version = version;
+ 84 1 }
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90
+ public String getVersion() {
+ 91 1 return version;
+ 92
+ }
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+ public void setTitle(String title) {
+ 99 1 this .title = title;
+ 100 1 }
+ 101
+
+ 102
+
+ 103
+
+ 104
+
+ 105
+
+ 106
+ public String getTitle() {
+ 107 1 return title;
+ 108
+ }
+ 109
+
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+ public void setAuthors(String authors) {
+ 115 1 this .authors = authors;
+ 116 1 }
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+
+ 122
+ public String getAuthors() {
+ 123 1 return authors;
+ 124
+ }
+ 125
+
+ 126
+
+ 127
+
+ 128
+
+ 129
+
+ 130
+ public void setOwners(String owners) {
+ 131 1 this .owners = owners;
+ 132 1 }
+ 133
+
+ 134
+
+ 135
+
+ 136
+
+ 137
+
+ 138
+ public String getOwners() {
+ 139 1 return owners;
+ 140
+ }
+ 141
+
+ 142
+
+ 143
+
+ 144
+
+ 145
+
+ 146
+ public void setLicenseUrl(String licenseUrl) {
+ 147 1 this .licenseUrl = licenseUrl;
+ 148 1 }
+ 149
+
+ 150
+
+ 151
+
+ 152
+
+ 153
+
+ 154
+ public String getLicenseUrl() {
+ 155 1 return licenseUrl;
+ 156
+ }
+ 157
+
+ 158
+ @Override
+ 159
+ public boolean equals(Object other) {
+ 160 0 if (this == other) {
+ 161 0 return true ;
+ 162
+ }
+ 163 0 if (other == null || other.getClass() != this .getClass()) {
+ 164 0 return false ;
+ 165
+ }
+ 166 0 final NugetPackage o = (NugetPackage) other;
+ 167 0 return o.getId().equals(id)
+ 168
+ && o.getVersion().equals(version)
+ 169
+ && o.getTitle().equals(title)
+ 170
+ && o.getAuthors().equals(authors)
+ 171
+ && o.getOwners().equals(owners)
+ 172
+ && o.getLicenseUrl().equals(licenseUrl);
+ 173
+ }
+ 174
+
+ 175
+ @Override
+ 176
+ public int hashCode() {
+ 177 0 int hash = 7;
+ 178 0 hash = 31 * hash + (null == id ? 0 : id.hashCode());
+ 179 0 hash = 31 * hash + (null == version ? 0 : version.hashCode());
+ 180 0 hash = 31 * hash + (null == title ? 0 : title.hashCode());
+ 181 0 hash = 31 * hash + (null == authors ? 0 : authors.hashCode());
+ 182 0 hash = 31 * hash + (null == owners ? 0 : owners.hashCode());
+ 183 0 hash = 31 * hash + (null == licenseUrl ? 0 : licenseUrl.hashCode());
+ 184 0 return hash;
+ 185
+ }
+ 186
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html
new file mode 100644
index 000000000..716f8289d
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html
@@ -0,0 +1,154 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.nuget.NuspecParseException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.data.nuget;
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public class NuspecParseException extends Exception {
+ 26
+
+ 27
+
+ 28
+
+ 29
+ private static final long serialVersionUID = 1;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ public NuspecParseException() {
+ 38 0 super ();
+ 39 0 }
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+ public NuspecParseException(String message) {
+ 50 1 super (message);
+ 51 1 }
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ public NuspecParseException(String message, Throwable cause) {
+ 66 2 super (message, cause);
+ 67 2 }
+ 68
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html
new file mode 100644
index 000000000..5650c70c5
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html
@@ -0,0 +1,98 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.nuget.NuspecParser
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.data.nuget;
+ 19
+
+ 20
+ import java.io.InputStream;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ public interface NuspecParser {
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ NugetPackage parse(InputStream stream) throws NuspecParseException;
+ 37
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html
new file mode 100644
index 000000000..ed95f93b4
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html
@@ -0,0 +1,170 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.nuget.XPathNuspecParser
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.data.nuget;
+ 19
+
+ 20
+ import java.io.InputStream;
+ 21
+
+ 22
+ import javax.xml.parsers.DocumentBuilderFactory;
+ 23
+ import javax.xml.xpath.XPath;
+ 24
+ import javax.xml.xpath.XPathConstants;
+ 25
+ import javax.xml.xpath.XPathFactory;
+ 26
+
+ 27
+ import org.w3c.dom.Document;
+ 28
+ import org.w3c.dom.Node;
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35 3 public class XPathNuspecParser implements NuspecParser {
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+ private String getOrNull(Node n) {
+ 43 3 if (n != null ) {
+ 44 3 return n.getTextContent();
+ 45
+ } else {
+ 46 0 return null ;
+ 47
+ }
+ 48
+ }
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+ @Override
+ 58
+ public NugetPackage parse(InputStream stream) throws NuspecParseException {
+ 59
+ try {
+ 60 3 final Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(stream);
+ 61 2 final XPath xpath = XPathFactory.newInstance().newXPath();
+ 62 2 final NugetPackage nuspec = new NugetPackage();
+ 63
+
+ 64 2 if (xpath.evaluate("/package/metadata/id" , d, XPathConstants.NODE) == null
+ 65
+ || xpath.evaluate("/package/metadata/version" , d, XPathConstants.NODE) == null
+ 66
+ || xpath.evaluate("/package/metadata/authors" , d, XPathConstants.NODE) == null
+ 67
+ || xpath.evaluate("/package/metadata/description" , d, XPathConstants.NODE) == null ) {
+ 68 1 throw new NuspecParseException("Invalid Nuspec format" );
+ 69
+ }
+ 70
+
+ 71 1 nuspec.setId(xpath.evaluate("/package/metadata/id" , d));
+ 72 1 nuspec.setVersion(xpath.evaluate("/package/metadata/version" , d));
+ 73 1 nuspec.setAuthors(xpath.evaluate("/package/metadata/authors" , d));
+ 74 1 nuspec.setOwners(getOrNull((Node) xpath.evaluate("/package/metadata/owners" , d, XPathConstants.NODE)));
+ 75 1 nuspec.setLicenseUrl(getOrNull((Node) xpath.evaluate("/package/metadata/licenseUrl" , d, XPathConstants.NODE)));
+ 76 1 nuspec.setTitle(getOrNull((Node) xpath.evaluate("/package/metadata/title" , d, XPathConstants.NODE)));
+ 77 1 return nuspec;
+ 78 2 } catch (Exception e) {
+ 79 2 throw new NuspecParseException("Unable to parse nuspec" , e);
+ 80
+ }
+ 81
+ }
+ 82
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.html
index ad498c34b..dd5fe3111 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.html
@@ -149,35 +149,35 @@
67
public static Connection getConnection() throws DatabaseException {
- 68 108 Connection conn = null ;
+ 68 54 Connection conn = null ;
69
try {
- 70 108 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Loading database connection" );
+ 70 54 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Loading database connection" );
71
- 72 108 final String connStr = getConnectionString();
- 73 108 final String user = Settings.getString(Settings.KEYS.DB_USER, "dcuser" );
+ 72 54 final String connStr = getConnectionString();
+ 73 54 final String user = Settings.getString(Settings.KEYS.DB_USER, "dcuser" );
74
- 75 108 final String pass = Settings.getString(Settings.KEYS.DB_PASSWORD, "DC-Pass1337!" );
- 76 108 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Connection String: {0}" , connStr);
- 77 108 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Database User: {0}" , user);
- 78 108 boolean createTables = false ;
- 79 108 if (connStr.startsWith("jdbc:h2:file:" )) {
- 80 108 createTables = needToCreateDatabaseStructure();
- 81 108 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Need to create DB Structure: {0}" , createTables);
+ 75 54 final String pass = Settings.getString(Settings.KEYS.DB_PASSWORD, "DC-Pass1337!" );
+ 76 54 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Connection String: {0}" , connStr);
+ 77 54 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Database User: {0}" , user);
+ 78 54 boolean createTables = false ;
+ 79 54 if (connStr.startsWith("jdbc:h2:file:" )) {
+ 80 54 createTables = needToCreateDatabaseStructure();
+ 81 54 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Need to create DB Structure: {0}" , createTables);
82
}
- 83 108 final String driverName = Settings.getString(Settings.KEYS.DB_DRIVER_NAME, "" );
- 84 108 if (!driverName.isEmpty()) {
- 85 108 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Loading driver: {0}" , driverName);
- 86 108 final String driverPath = Settings.getString(Settings.KEYS.DB_DRIVER_PATH, "" );
- 87 108 if (!driverPath.isEmpty()) {
+ 83 54 final String driverName = Settings.getString(Settings.KEYS.DB_DRIVER_NAME, "" );
+ 84 54 if (!driverName.isEmpty()) {
+ 85 54 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Loading driver: {0}" , driverName);
+ 86 54 final String driverPath = Settings.getString(Settings.KEYS.DB_DRIVER_PATH, "" );
+ 87 54 if (!driverPath.isEmpty()) {
88 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Loading driver from: {0}" , driverPath);
89 0 DriverLoader.load(driverName, driverPath);
90
} else {
- 91 108 DriverLoader.load(driverName);
+ 91 54 DriverLoader.load(driverName);
92
}
93
@@ -188,8 +188,8 @@
96
- 97 108 conn = DriverManager.getConnection(connStr, user, pass);
- 98 108 if (createTables) {
+ 97 54 conn = DriverManager.getConnection(connStr, user, pass);
+ 98 54 if (createTables) {
99
try {
100 0 createTables(conn);
@@ -201,11 +201,11 @@
} else {
106
try {
- 107 108 ensureSchemaVersion(conn);
+ 107 54 ensureSchemaVersion(conn);
108 0 } catch (DatabaseException ex) {
109 0 Logger.getLogger(ConnectionFactory.class .getName()).log(Level.FINE, null , ex);
110 0 throw new DatabaseException("Database schema does not match this version of dependency-check" );
- 111 108 }
+ 111 54 }
112
}
113 0 } catch (IOException ex) {
@@ -217,8 +217,8 @@
119 0 } catch (SQLException ex) {
120 0 Logger.getLogger(ConnectionFactory.class .getName()).log(Level.FINE, null , ex);
121 0 throw new DatabaseException("Unable to connect to the database" );
- 122 108 }
- 123 108 return conn;
+ 122 54 }
+ 123 54 return conn;
124
}
125
@@ -239,12 +239,12 @@
133
private static String getConnectionString() throws IOException {
- 134 108 final String connStr = Settings.getString(Settings.KEYS.DB_CONNECTION_STRING, "jdbc:h2:file:%s;AUTO_SERVER=TRUE" );
- 135 108 if (connStr.contains("%s" )) {
- 136 108 final String directory = getDataDirectory().getCanonicalPath();
- 137 108 final File dataFile = new File(directory, "cve." + DB_SCHEMA_VERSION);
- 138 108 Logger.getLogger(ConnectionFactory.class .getName()).log(Level.FINE, String.format("File path for H2 file: '%s'" , dataFile.toString()));
- 139 108 return String.format(connStr, dataFile.getAbsolutePath());
+ 134 54 final String connStr = Settings.getString(Settings.KEYS.DB_CONNECTION_STRING, "jdbc:h2:file:%s;AUTO_SERVER=TRUE" );
+ 135 54 if (connStr.contains("%s" )) {
+ 136 54 final String directory = getDataDirectory().getCanonicalPath();
+ 137 54 final File dataFile = new File(directory, "cve." + DB_SCHEMA_VERSION);
+ 138 54 Logger.getLogger(ConnectionFactory.class .getName()).log(Level.FINE, String.format("File path for H2 file: '%s'" , dataFile.toString()));
+ 139 54 return String.format(connStr, dataFile.getAbsolutePath());
140
}
141 0 return connStr;
@@ -268,15 +268,15 @@
151
public static File getDataDirectory() throws IOException {
- 152 216 final File path = Settings.getDataFile(Settings.KEYS.DATA_DIRECTORY);
- 153 216 if (!path.exists()) {
+ 152 108 final File path = Settings.getDataFile(Settings.KEYS.DATA_DIRECTORY);
+ 153 108 if (!path.exists()) {
154 0 if (!path.mkdirs()) {
155 0 throw new IOException("Unable to create NVD CVE Data directory" );
156
}
157
}
- 158 216 return path;
+ 158 108 return path;
159
}
160
@@ -295,10 +295,10 @@
167
private static boolean needToCreateDatabaseStructure() throws IOException {
- 168 108 final File dir = getDataDirectory();
- 169 108 final String name = String.format("cve.%s.h2.db" , DB_SCHEMA_VERSION);
- 170 108 final File file = new File(dir, name);
- 171 108 return !file.exists();
+ 168 54 final File dir = getDataDirectory();
+ 169 54 final String name = String.format("cve.%s.h2.db" , DB_SCHEMA_VERSION);
+ 170 54 final File file = new File(dir, name);
+ 171 54 return !file.exists();
172
}
173
@@ -379,19 +379,19 @@
223
private static void ensureSchemaVersion(Connection conn) throws DatabaseException {
- 224 108 ResultSet rs = null ;
- 225 108 CallableStatement cs = null ;
+ 224 54 ResultSet rs = null ;
+ 225 54 CallableStatement cs = null ;
226
try {
- 227 108 cs = conn.prepareCall("SELECT value FROM properties WHERE id = 'version'" );
- 228 108 rs = cs.executeQuery();
- 229 108 if (rs.next()) {
- 230 108 final boolean isWrongSchema = !DB_SCHEMA_VERSION.equals(rs.getString(1));
- 231 108 if (isWrongSchema) {
+ 227 54 cs = conn.prepareCall("SELECT value FROM properties WHERE id = 'version'" );
+ 228 54 rs = cs.executeQuery();
+ 229 54 if (rs.next()) {
+ 230 54 final boolean isWrongSchema = !DB_SCHEMA_VERSION.equals(rs.getString(1));
+ 231 54 if (isWrongSchema) {
232 0 throw new DatabaseException("Incorrect database schema; unable to continue" );
233
}
- 234 108 } else {
+ 234 54 } else {
235 0 throw new DatabaseException("Database schema is missing" );
236
}
@@ -400,14 +400,14 @@
239 0 throw new DatabaseException("Unable to check the database schema version" );
240
} finally {
- 241 108 DBUtils.closeResultSet(rs);
- 242 108 DBUtils.closeStatement(cs);
- 243 108 }
- 244 108 }
+ 241 54 DBUtils.closeResultSet(rs);
+ 242 54 DBUtils.closeStatement(cs);
+ 243 54 }
+ 244 54 }
245
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CorruptDatabaseException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CorruptDatabaseException.html
index 218ce5aac..5c424b07d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CorruptDatabaseException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CorruptDatabaseException.html
@@ -117,6 +117,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CveDB.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CveDB.html
index fe0c66ae4..f3c59b288 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CveDB.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CveDB.html
@@ -137,15 +137,15 @@
60
public CveDB() throws DatabaseException {
- 61 54 super ();
+ 61 27 super ();
62
try {
- 63 54 open();
- 64 54 databaseProperties = new DatabaseProperties(this );
+ 63 27 open();
+ 64 27 databaseProperties = new DatabaseProperties(this );
65 0 } catch (DatabaseException ex) {
66 0 throw ex;
- 67 54 }
- 68 54 }
+ 67 27 }
+ 68 27 }
69
70
@@ -160,7 +160,7 @@
75
protected Connection getConnection() {
- 76 614 return conn;
+ 76 307 return conn;
77
}
78
@@ -177,8 +177,8 @@
84
public final void open() throws DatabaseException {
- 85 108 conn = ConnectionFactory.getConnection();
- 86 108 }
+ 85 54 conn = ConnectionFactory.getConnection();
+ 86 54 }
87
88
@@ -189,19 +189,19 @@
91
public void close() {
- 92 93 if (conn != null ) {
+ 92 44 if (conn != null ) {
93
try {
- 94 54 conn.close();
+ 94 27 conn.close();
95 0 } catch (SQLException ex) {
96 0 final String msg = "There was an error attempting to close the CveDB, see the log for more details." ;
97 0 Logger.getLogger(DBUtils.class .getName()).log(Level.SEVERE, msg);
98 0 Logger.getLogger(DBUtils.class .getName()).log(Level.FINE, null , ex);
- 99 54 }
- 100 54 conn = null ;
+ 99 27 }
+ 100 27 conn = null ;
101
}
- 102 93 }
+ 102 44 }
103
104
@@ -241,7 +241,7 @@
122
- 123 2 }
+ 123 1 }
124
125
@@ -258,9 +258,9 @@
@Override
131
protected void finalize() throws Throwable {
- 132 39 close();
- 133 39 super .finalize();
- 134 39 }
+ 132 17 close();
+ 133 17 super .finalize();
+ 134 17 }
135
136
@@ -283,7 +283,7 @@
145
public DatabaseProperties getDatabaseProperties() {
- 146 14 return databaseProperties;
+ 146 7 return databaseProperties;
147
}
148
@@ -518,32 +518,32 @@
263
public Set<VulnerableSoftware> getCPEs(String vendor, String product) {
- 264 144 final Set<VulnerableSoftware> cpe = new HashSet<VulnerableSoftware>();
- 265 144 ResultSet rs = null ;
- 266 144 PreparedStatement ps = null ;
+ 264 72 final Set<VulnerableSoftware> cpe = new HashSet<VulnerableSoftware>();
+ 265 72 ResultSet rs = null ;
+ 266 72 PreparedStatement ps = null ;
267
try {
- 268 144 ps = getConnection().prepareStatement(SELECT_CPE_ENTRIES);
- 269 144 ps.setString(1, vendor);
- 270 144 ps.setString(2, product);
- 271 144 rs = ps.executeQuery();
+ 268 72 ps = getConnection().prepareStatement(SELECT_CPE_ENTRIES);
+ 269 72 ps.setString(1, vendor);
+ 270 72 ps.setString(2, product);
+ 271 72 rs = ps.executeQuery();
272
- 273 8924 while (rs.next()) {
- 274 8780 final VulnerableSoftware vs = new VulnerableSoftware();
- 275 8780 vs.setCpe(rs.getString(1));
- 276 8780 cpe.add(vs);
- 277 8780 }
+ 273 4462 while (rs.next()) {
+ 274 4390 final VulnerableSoftware vs = new VulnerableSoftware();
+ 275 4390 vs.setCpe(rs.getString(1));
+ 276 4390 cpe.add(vs);
+ 277 4390 }
278 0 } catch (SQLException ex) {
279 0 final String msg = "An unexpected SQL Exception occurred; please see the verbose log for more details." ;
280 0 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, msg);
281 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
282
} finally {
- 283 144 DBUtils.closeResultSet(rs);
- 284 144 DBUtils.closeStatement(ps);
- 285 144 }
- 286 144 return cpe;
+ 283 72 DBUtils.closeResultSet(rs);
+ 284 72 DBUtils.closeStatement(ps);
+ 285 72 }
+ 286 72 return cpe;
287
}
288
@@ -560,17 +560,17 @@
294
public ResultSet getVendorProductList() {
- 295 22 ResultSet rs = null ;
+ 295 11 ResultSet rs = null ;
296
try {
- 297 22 final PreparedStatement ps = getConnection().prepareStatement(SELECT_VENDOR_PRODUCT_LIST);
- 298 22 rs = ps.executeQuery();
+ 297 11 final PreparedStatement ps = getConnection().prepareStatement(SELECT_VENDOR_PRODUCT_LIST);
+ 298 11 rs = ps.executeQuery();
299 0 } catch (SQLException ex) {
300 0 final String msg = "An unexpected SQL Exception occurred; please see the verbose log for more details." ;
301 0 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, msg);
302 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
- 303 22 }
- 304 22 return rs;
+ 303 11 }
+ 304 11 return rs;
305
}
306
@@ -587,15 +587,15 @@
312
Properties getProperties() {
- 313 54 final Properties prop = new Properties();
- 314 54 PreparedStatement ps = null ;
- 315 54 ResultSet rs = null ;
+ 313 27 final Properties prop = new Properties();
+ 314 27 PreparedStatement ps = null ;
+ 315 27 ResultSet rs = null ;
316
try {
- 317 54 ps = getConnection().prepareStatement(SELECT_PROPERTIES);
- 318 54 rs = ps.executeQuery();
- 319 882 while (rs.next()) {
- 320 828 prop.setProperty(rs.getString(1), rs.getString(2));
+ 317 27 ps = getConnection().prepareStatement(SELECT_PROPERTIES);
+ 318 27 rs = ps.executeQuery();
+ 319 441 while (rs.next()) {
+ 320 414 prop.setProperty(rs.getString(1), rs.getString(2));
321
}
322 0 } catch (SQLException ex) {
@@ -604,10 +604,10 @@
325 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
326
} finally {
- 327 54 DBUtils.closeStatement(ps);
- 328 54 DBUtils.closeResultSet(rs);
- 329 54 }
- 330 54 return prop;
+ 327 27 DBUtils.closeStatement(ps);
+ 328 27 DBUtils.closeResultSet(rs);
+ 329 27 }
+ 330 27 return prop;
331
}
332
@@ -678,49 +678,49 @@
378
void saveProperty(String key, String value) {
- 379 2 PreparedStatement updateProperty = null ;
- 380 2 PreparedStatement insertProperty = null ;
+ 379 1 PreparedStatement updateProperty = null ;
+ 380 1 PreparedStatement insertProperty = null ;
381
try {
382
try {
- 383 2 updateProperty = getConnection().prepareStatement(UPDATE_PROPERTY);
+ 383 1 updateProperty = getConnection().prepareStatement(UPDATE_PROPERTY);
384 0 } catch (SQLException ex) {
385 0 Logger.getLogger(CveDB.class .getName()).log(Level.WARNING, "Unable to save properties to the database" );
386 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Unable to save properties to the database" , ex);
387
return ;
- 388 2 }
+ 388 1 }
389
try {
- 390 2 updateProperty.setString(1, value);
- 391 2 updateProperty.setString(2, key);
- 392 2 if (updateProperty.executeUpdate() == 0) {
+ 390 1 updateProperty.setString(1, value);
+ 391 1 updateProperty.setString(2, key);
+ 392 1 if (updateProperty.executeUpdate() == 0) {
393
try {
- 394 2 insertProperty = getConnection().prepareStatement(INSERT_PROPERTY);
+ 394 1 insertProperty = getConnection().prepareStatement(INSERT_PROPERTY);
395 0 } catch (SQLException ex) {
396 0 Logger.getLogger(CveDB.class .getName()).log(Level.WARNING, "Unable to save properties to the database" );
397 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, "Unable to save properties to the database" , ex);
398
return ;
- 399 2 }
- 400 2 insertProperty.setString(1, key);
- 401 2 insertProperty.setString(2, value);
- 402 2 insertProperty.execute();
+ 399 1 }
+ 400 1 insertProperty.setString(1, key);
+ 401 1 insertProperty.setString(2, value);
+ 402 1 insertProperty.execute();
403
}
404 0 } catch (SQLException ex) {
405 0 final String msg = String.format("Unable to save property '%s' with a value of '%s' to the database" , key, value);
406 0 Logger.getLogger(CveDB.class .getName()).log(Level.WARNING, msg);
407 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
- 408 2 }
+ 408 1 }
409
} finally {
- 410 2 DBUtils.closeStatement(updateProperty);
- 411 2 DBUtils.closeStatement(insertProperty);
- 412 2 }
- 413 2 }
+ 410 1 DBUtils.closeStatement(updateProperty);
+ 411 1 DBUtils.closeStatement(insertProperty);
+ 412 1 }
+ 413 1 }
414
415
@@ -739,41 +739,41 @@
422
public List<Vulnerability> getVulnerabilities(String cpeStr) throws DatabaseException {
- 423 24 ResultSet rs = null ;
- 424 24 final VulnerableSoftware cpe = new VulnerableSoftware();
+ 423 12 ResultSet rs = null ;
+ 424 12 final VulnerableSoftware cpe = new VulnerableSoftware();
425
try {
- 426 24 cpe.parseName(cpeStr);
+ 426 12 cpe.parseName(cpeStr);
427 0 } catch (UnsupportedEncodingException ex) {
428 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
- 429 24 }
- 430 24 final DependencyVersion detectedVersion = parseDependencyVersion(cpe);
- 431 24 final List<Vulnerability> vulnerabilities = new ArrayList<Vulnerability>();
+ 429 12 }
+ 430 12 final DependencyVersion detectedVersion = parseDependencyVersion(cpe);
+ 431 12 final List<Vulnerability> vulnerabilities = new ArrayList<Vulnerability>();
432
433
PreparedStatement ps;
- 434 24 final HashSet<String> cveEntries = new HashSet<String>();
+ 434 12 final HashSet<String> cveEntries = new HashSet<String>();
435
try {
- 436 24 ps = getConnection().prepareStatement(SELECT_CVE_FROM_SOFTWARE);
- 437 24 ps.setString(1, cpe.getVendor());
- 438 24 ps.setString(2, cpe.getProduct());
- 439 24 rs = ps.executeQuery();
- 440 9182 while (rs.next()) {
- 441 9158 final String cveId = rs.getString(1);
- 442 9158 final String cpeId = rs.getString(2);
- 443 9158 final String previous = rs.getString(3);
- 444 9158 if (!cveEntries.contains(cveId) && isAffected(cpe.getVendor(), cpe.getProduct(), detectedVersion, cpeId, previous)) {
- 445 122 cveEntries.add(cveId);
- 446 122 final Vulnerability v = getVulnerability(cveId);
- 447 122 v.setMatchedCPE(cpeId, previous);
- 448 122 vulnerabilities.add(v);
+ 436 12 ps = getConnection().prepareStatement(SELECT_CVE_FROM_SOFTWARE);
+ 437 12 ps.setString(1, cpe.getVendor());
+ 438 12 ps.setString(2, cpe.getProduct());
+ 439 12 rs = ps.executeQuery();
+ 440 4591 while (rs.next()) {
+ 441 4579 final String cveId = rs.getString(1);
+ 442 4579 final String cpeId = rs.getString(2);
+ 443 4579 final String previous = rs.getString(3);
+ 444 4579 if (!cveEntries.contains(cveId) && isAffected(cpe.getVendor(), cpe.getProduct(), detectedVersion, cpeId, previous)) {
+ 445 61 cveEntries.add(cveId);
+ 446 61 final Vulnerability v = getVulnerability(cveId);
+ 447 61 v.setMatchedCPE(cpeId, previous);
+ 448 61 vulnerabilities.add(v);
449
}
- 450 9158 }
- 451 24 DBUtils.closeResultSet(rs);
- 452 24 DBUtils.closeStatement(ps);
+ 450 4579 }
+ 451 12 DBUtils.closeResultSet(rs);
+ 452 12 DBUtils.closeStatement(ps);
453
454
@@ -788,9 +788,9 @@
459 0 throw new DatabaseException("Exception retrieving vulnerability for " + cpeStr, ex);
460
} finally {
- 461 24 DBUtils.closeResultSet(rs);
- 462 24 }
- 463 24 return vulnerabilities;
+ 461 12 DBUtils.closeResultSet(rs);
+ 462 12 }
+ 463 12 return vulnerabilities;
464
}
465
@@ -811,77 +811,77 @@
473
private Vulnerability getVulnerability(String cve) throws DatabaseException {
- 474 122 PreparedStatement psV = null ;
- 475 122 PreparedStatement psR = null ;
- 476 122 PreparedStatement psS = null ;
- 477 122 ResultSet rsV = null ;
- 478 122 ResultSet rsR = null ;
- 479 122 ResultSet rsS = null ;
- 480 122 Vulnerability vuln = null ;
+ 474 61 PreparedStatement psV = null ;
+ 475 61 PreparedStatement psR = null ;
+ 476 61 PreparedStatement psS = null ;
+ 477 61 ResultSet rsV = null ;
+ 478 61 ResultSet rsR = null ;
+ 479 61 ResultSet rsS = null ;
+ 480 61 Vulnerability vuln = null ;
481
try {
- 482 122 psV = getConnection().prepareStatement(SELECT_VULNERABILITY);
- 483 122 psV.setString(1, cve);
- 484 122 rsV = psV.executeQuery();
- 485 122 if (rsV.next()) {
- 486 122 vuln = new Vulnerability();
- 487 122 vuln.setName(cve);
- 488 122 vuln.setDescription(rsV.getString(2));
- 489 122 String cwe = rsV.getString(3);
- 490 122 if (cwe != null ) {
- 491 100 final String name = CweDB.getCweName(cwe);
- 492 100 if (name != null ) {
- 493 96 cwe += " " + name;
+ 482 61 psV = getConnection().prepareStatement(SELECT_VULNERABILITY);
+ 483 61 psV.setString(1, cve);
+ 484 61 rsV = psV.executeQuery();
+ 485 61 if (rsV.next()) {
+ 486 61 vuln = new Vulnerability();
+ 487 61 vuln.setName(cve);
+ 488 61 vuln.setDescription(rsV.getString(2));
+ 489 61 String cwe = rsV.getString(3);
+ 490 61 if (cwe != null ) {
+ 491 50 final String name = CweDB.getCweName(cwe);
+ 492 50 if (name != null ) {
+ 493 48 cwe += " " + name;
494
}
495
}
- 496 122 final int cveId = rsV.getInt(1);
- 497 122 vuln.setCwe(cwe);
- 498 122 vuln.setCvssScore(rsV.getFloat(4));
- 499 122 vuln.setCvssAccessVector(rsV.getString(5));
- 500 122 vuln.setCvssAccessComplexity(rsV.getString(6));
- 501 122 vuln.setCvssAuthentication(rsV.getString(7));
- 502 122 vuln.setCvssConfidentialityImpact(rsV.getString(8));
- 503 122 vuln.setCvssIntegrityImpact(rsV.getString(9));
- 504 122 vuln.setCvssAvailabilityImpact(rsV.getString(10));
+ 496 61 final int cveId = rsV.getInt(1);
+ 497 61 vuln.setCwe(cwe);
+ 498 61 vuln.setCvssScore(rsV.getFloat(4));
+ 499 61 vuln.setCvssAccessVector(rsV.getString(5));
+ 500 61 vuln.setCvssAccessComplexity(rsV.getString(6));
+ 501 61 vuln.setCvssAuthentication(rsV.getString(7));
+ 502 61 vuln.setCvssConfidentialityImpact(rsV.getString(8));
+ 503 61 vuln.setCvssIntegrityImpact(rsV.getString(9));
+ 504 61 vuln.setCvssAvailabilityImpact(rsV.getString(10));
505
- 506 122 psR = getConnection().prepareStatement(SELECT_REFERENCE);
- 507 122 psR.setInt(1, cveId);
- 508 122 rsR = psR.executeQuery();
- 509 982 while (rsR.next()) {
- 510 860 vuln.addReference(rsR.getString(1), rsR.getString(2), rsR.getString(3));
+ 506 61 psR = getConnection().prepareStatement(SELECT_REFERENCE);
+ 507 61 psR.setInt(1, cveId);
+ 508 61 rsR = psR.executeQuery();
+ 509 491 while (rsR.next()) {
+ 510 430 vuln.addReference(rsR.getString(1), rsR.getString(2), rsR.getString(3));
511
}
- 512 122 psS = getConnection().prepareStatement(SELECT_SOFTWARE);
- 513 122 psS.setInt(1, cveId);
- 514 122 rsS = psS.executeQuery();
- 515 5530 while (rsS.next()) {
- 516 5408 final String cpe = rsS.getString(1);
- 517 5408 final String prevVersion = rsS.getString(2);
- 518 5408 if (prevVersion == null ) {
- 519 5324 vuln.addVulnerableSoftware(cpe);
+ 512 61 psS = getConnection().prepareStatement(SELECT_SOFTWARE);
+ 513 61 psS.setInt(1, cveId);
+ 514 61 rsS = psS.executeQuery();
+ 515 2765 while (rsS.next()) {
+ 516 2704 final String cpe = rsS.getString(1);
+ 517 2704 final String prevVersion = rsS.getString(2);
+ 518 2704 if (prevVersion == null ) {
+ 519 2662 vuln.addVulnerableSoftware(cpe);
520
} else {
- 521 84 vuln.addVulnerableSoftware(cpe, prevVersion);
+ 521 42 vuln.addVulnerableSoftware(cpe, prevVersion);
522
}
- 523 5408 }
+ 523 2704 }
524
}
525 0 } catch (SQLException ex) {
526 0 throw new DatabaseException("Error retrieving " + cve, ex);
527
} finally {
- 528 122 DBUtils.closeResultSet(rsV);
- 529 122 DBUtils.closeResultSet(rsR);
- 530 122 DBUtils.closeResultSet(rsS);
- 531 122 DBUtils.closeStatement(psV);
- 532 122 DBUtils.closeStatement(psR);
- 533 122 DBUtils.closeStatement(psS);
- 534 122 }
- 535 122 return vuln;
+ 528 61 DBUtils.closeResultSet(rsV);
+ 529 61 DBUtils.closeResultSet(rsR);
+ 530 61 DBUtils.closeResultSet(rsS);
+ 531 61 DBUtils.closeStatement(psV);
+ 532 61 DBUtils.closeStatement(psR);
+ 533 61 DBUtils.closeStatement(psS);
+ 534 61 }
+ 535 61 return vuln;
536
}
537
@@ -1112,24 +1112,24 @@
713
private boolean isAffected(String vendor, String product, DependencyVersion identifiedVersion, String cpeId, String previous) {
- 714 7064 boolean affected = false ;
- 715 7064 final boolean isStruts = "apache" .equals(vendor) && "struts" .equals(product);
- 716 7064 final DependencyVersion v = parseDependencyVersion(cpeId);
- 717 7064 final boolean prevAffected = previous != null && !previous.isEmpty();
- 718 7064 if (identifiedVersion == null || "-" .equals(identifiedVersion.toString())) {
- 719 192 if (v == null || "-" .equals(v.toString())) {
+ 714 3532 boolean affected = false ;
+ 715 3532 final boolean isStruts = "apache" .equals(vendor) && "struts" .equals(product);
+ 716 3532 final DependencyVersion v = parseDependencyVersion(cpeId);
+ 717 3532 final boolean prevAffected = previous != null && !previous.isEmpty();
+ 718 3532 if (identifiedVersion == null || "-" .equals(identifiedVersion.toString())) {
+ 719 96 if (v == null || "-" .equals(v.toString())) {
720 0 affected = true ;
721
}
- 722 6872 } else if (identifiedVersion.equals(v) || (prevAffected && identifiedVersion.compareTo(v) < 0)) {
- 723 166 if (isStruts) {
- 724 144 if (identifiedVersion.getVersionParts().get(0).equals(v.getVersionParts().get(0))) {
- 725 100 affected = true ;
+ 722 3436 } else if (identifiedVersion.equals(v) || (prevAffected && identifiedVersion.compareTo(v) < 0)) {
+ 723 83 if (isStruts) {
+ 724 72 if (identifiedVersion.getVersionParts().get(0).equals(v.getVersionParts().get(0))) {
+ 725 50 affected = true ;
726
}
727
} else {
- 728 22 affected = true ;
+ 728 11 affected = true ;
729
}
730
@@ -1142,7 +1142,7 @@
734
- 735 7064 return affected;
+ 735 3532 return affected;
736
}
737
@@ -1163,16 +1163,16 @@
745
private DependencyVersion parseDependencyVersion(String cpeStr) {
- 746 7064 final VulnerableSoftware cpe = new VulnerableSoftware();
+ 746 3532 final VulnerableSoftware cpe = new VulnerableSoftware();
747
try {
- 748 7064 cpe.parseName(cpeStr);
+ 748 3532 cpe.parseName(cpeStr);
749 0 } catch (UnsupportedEncodingException ex) {
750
751 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
- 752 7064 }
- 753 7064 return parseDependencyVersion(cpe);
+ 752 3532 }
+ 753 3532 return parseDependencyVersion(cpe);
754
}
755
@@ -1193,28 +1193,28 @@
private DependencyVersion parseDependencyVersion(VulnerableSoftware cpe) {
763
DependencyVersion cpeVersion;
- 764 7088 if (cpe.getVersion() != null && cpe.getVersion().length() > 0) {
+ 764 3544 if (cpe.getVersion() != null && cpe.getVersion().length() > 0) {
765
String versionText;
- 766 7080 if (cpe.getRevision() != null && cpe.getRevision().length() > 0) {
- 767 882 versionText = String.format("%s.%s" , cpe.getVersion(), cpe.getRevision());
+ 766 3540 if (cpe.getRevision() != null && cpe.getRevision().length() > 0) {
+ 767 441 versionText = String.format("%s.%s" , cpe.getVersion(), cpe.getRevision());
768
} else {
- 769 6198 versionText = cpe.getVersion();
+ 769 3099 versionText = cpe.getVersion();
770
}
- 771 7080 cpeVersion = DependencyVersionUtil.parseVersion(versionText);
- 772 7080 } else {
- 773 8 cpeVersion = new DependencyVersion("-" );
+ 771 3540 cpeVersion = DependencyVersionUtil.parseVersion(versionText);
+ 772 3540 } else {
+ 773 4 cpeVersion = new DependencyVersion("-" );
774
}
- 775 7088 return cpeVersion;
+ 775 3544 return cpeVersion;
776
}
777
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseException.html
index c2388247f..c0cb93fc7 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseException.html
@@ -131,6 +131,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseProperties.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseProperties.html
index 856b81fe1..a4392d3ce 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseProperties.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseProperties.html
@@ -151,10 +151,10 @@
67
- 68 54 DatabaseProperties(CveDB cveDB) {
- 69 54 this .cveDB = cveDB;
- 70 54 loadProperties();
- 71 54 }
+ 68 27 DatabaseProperties(CveDB cveDB) {
+ 69 27 this .cveDB = cveDB;
+ 70 27 loadProperties();
+ 71 27 }
72
73
@@ -165,8 +165,8 @@
76
private void loadProperties() {
- 77 54 this .properties = cveDB.getProperties();
- 78 54 }
+ 77 27 this .properties = cveDB.getProperties();
+ 78 27 }
79
80
@@ -181,7 +181,7 @@
85
public boolean isEmpty() {
- 86 2 return properties == null || properties.isEmpty();
+ 86 1 return properties == null || properties.isEmpty();
87
}
88
@@ -200,13 +200,13 @@
95
public void save(NvdCveInfo updatedValue) throws UpdateException {
- 96 2 if (updatedValue == null ) {
+ 96 1 if (updatedValue == null ) {
97 0 return ;
98
}
- 99 2 properties.put(LAST_UPDATED_BASE + updatedValue.getId(), String.valueOf(updatedValue.getTimestamp()));
- 100 2 cveDB.saveProperty(LAST_UPDATED_BASE + updatedValue.getId(), String.valueOf(updatedValue.getTimestamp()));
- 101 2 }
+ 99 1 properties.put(LAST_UPDATED_BASE + updatedValue.getId(), String.valueOf(updatedValue.getTimestamp()));
+ 100 1 cveDB.saveProperty(LAST_UPDATED_BASE + updatedValue.getId(), String.valueOf(updatedValue.getTimestamp()));
+ 101 1 }
102
103
@@ -225,7 +225,7 @@
110
public String getProperty(String key) {
- 111 4 return properties.getProperty(key);
+ 111 2 return properties.getProperty(key);
112
}
113
@@ -248,7 +248,7 @@
122
public String getProperty(String key, String defaultValue) {
- 123 2 return properties.getProperty(key, defaultValue);
+ 123 1 return properties.getProperty(key, defaultValue);
124
}
125
@@ -265,7 +265,7 @@
131
public Properties getProperties() {
- 132 2 return properties;
+ 132 1 return properties;
133
}
134
@@ -284,22 +284,22 @@
141
public Map getMetaData() {
- 142 2 final TreeMap map = new TreeMap();
- 143 2 for (Entry<Object, Object> entry : properties.entrySet()) {
- 144 32 final String key = (String) entry.getKey();
- 145 32 if (!"version" .equals(key)) {
- 146 30 if (key.startsWith("NVD CVE " )) {
+ 142 1 final TreeMap map = new TreeMap();
+ 143 1 for (Entry<Object, Object> entry : properties.entrySet()) {
+ 144 16 final String key = (String) entry.getKey();
+ 145 16 if (!"version" .equals(key)) {
+ 146 15 if (key.startsWith("NVD CVE " )) {
147
try {
- 148 30 final long epoch = Long.parseLong((String) entry.getValue());
- 149 30 final Date date = new Date(epoch);
- 150 30 final DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss" );
- 151 30 final String formatted = format.format(date);
- 152 30 map.put(key, formatted);
+ 148 15 final long epoch = Long.parseLong((String) entry.getValue());
+ 149 15 final Date date = new Date(epoch);
+ 150 15 final DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss" );
+ 151 15 final String formatted = format.format(date);
+ 152 15 map.put(key, formatted);
153 0 } catch (Throwable ex) {
154 0 Logger.getLogger(DatabaseProperties.class .getName()).log(Level.FINE, "Unable to parse timestamp from DB" , ex);
155 0 map.put(key, entry.getValue());
- 156 30 }
+ 156 15 }
157
} else {
158 0 map.put(key, entry.getValue());
@@ -307,14 +307,14 @@
}
160
}
- 161 32 }
- 162 2 return map;
+ 161 16 }
+ 162 1 return map;
163
}
164
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverLoadException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverLoadException.html
index 5e1892cf7..ff2c6c5c7 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverLoadException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverLoadException.html
@@ -125,12 +125,12 @@
56
public DriverLoadException(String msg, Throwable ex) {
- 57 6 super (msg, ex);
- 58 6 }
+ 57 3 super (msg, ex);
+ 58 3 }
59
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverLoader.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverLoader.html
index f9bc968a3..7f24638e1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverLoader.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverLoader.html
@@ -120,9 +120,9 @@
52
public static void load(String className) throws DriverLoadException {
- 53 112 final ClassLoader loader = DriverLoader.class .getClassLoader();
- 54 112 load(className, loader);
- 55 110 }
+ 53 56 final ClassLoader loader = DriverLoader.class .getClassLoader();
+ 54 56 load(className, loader);
+ 55 55 }
56
57
@@ -151,57 +151,57 @@
69
public static void load(String className, String pathToDriver) throws DriverLoadException {
- 70 8 final URLClassLoader parent = (URLClassLoader) ClassLoader.getSystemClassLoader();
- 71 8 final ArrayList<URL> urls = new ArrayList<URL>();
- 72 8 final String[] paths = pathToDriver.split(File.pathSeparator);
- 73 18 for (String path : paths) {
- 74 10 final File file = new File(path);
- 75 10 if (file.isDirectory()) {
- 76 4 final File[] files = file.listFiles();
+ 70 4 final URLClassLoader parent = (URLClassLoader) ClassLoader.getSystemClassLoader();
+ 71 4 final ArrayList<URL> urls = new ArrayList<URL>();
+ 72 4 final String[] paths = pathToDriver.split(File.pathSeparator);
+ 73 9 for (String path : paths) {
+ 74 5 final File file = new File(path);
+ 75 5 if (file.isDirectory()) {
+ 76 2 final File[] files = file.listFiles();
77
- 78 40 for (File f : files) {
+ 78 26 for (File f : files) {
79
try {
- 80 36 urls.add(f.toURI().toURL());
+ 80 24 urls.add(f.toURI().toURL());
81 0 } catch (MalformedURLException ex) {
82 0 final String msg = String.format("Unable to load database driver '%s'; invalid path provided '%s'" ,
83
className, f.getAbsoluteFile());
84 0 Logger.getLogger(DriverLoader.class .getName()).log(Level.FINE, msg, ex);
85 0 throw new DriverLoadException(msg, ex);
- 86 36 }
+ 86 24 }
87
}
- 88 4 } else if (file.exists()) {
+ 88 2 } else if (file.exists()) {
89
try {
- 90 4 urls.add(file.toURI().toURL());
+ 90 2 urls.add(file.toURI().toURL());
91 0 } catch (MalformedURLException ex) {
92 0 final String msg = String.format("Unable to load database driver '%s'; invalid path provided '%s'" ,
93
className, file.getAbsoluteFile());
94 0 Logger.getLogger(DriverLoader.class .getName()).log(Level.FINE, msg, ex);
95 0 throw new DriverLoadException(msg, ex);
- 96 4 }
+ 96 2 }
97
}
98
}
- 99 16 final URLClassLoader loader = AccessController.doPrivileged(new PrivilegedAction<URLClassLoader>() {
+ 99 8 final URLClassLoader loader = AccessController.doPrivileged(new PrivilegedAction<URLClassLoader>() {
100
@Override
101
public URLClassLoader run() {
- 102 8 return new URLClassLoader(urls.toArray(new URL[urls.size()]), parent);
+ 102 4 return new URLClassLoader(urls.toArray(new URL[urls.size()]), parent);
103
}
104
});
105
- 106 8 load(className, loader);
- 107 4 }
+ 106 4 load(className, loader);
+ 107 2 }
108
109
@@ -222,17 +222,17 @@
private static void load(String className, ClassLoader loader) throws DriverLoadException {
117
try {
- 118 120 final Class c = Class.forName(className, true , loader);
+ 118 60 final Class c = Class.forName(className, true , loader);
119
- 120 114 final Driver driver = (Driver) c.newInstance();
+ 120 57 final Driver driver = (Driver) c.newInstance();
121
- 122 114 DriverManager.registerDriver(new DriverShim(driver));
- 123 6 } catch (ClassNotFoundException ex) {
- 124 6 final String msg = String.format("Unable to load database driver '%s'" , className);
- 125 6 Logger.getLogger(DriverLoader.class .getName()).log(Level.FINE, msg, ex);
- 126 6 throw new DriverLoadException(msg, ex);
+ 122 57 DriverManager.registerDriver(new DriverShim(driver));
+ 123 3 } catch (ClassNotFoundException ex) {
+ 124 3 final String msg = String.format("Unable to load database driver '%s'" , className);
+ 125 3 Logger.getLogger(DriverLoader.class .getName()).log(Level.FINE, msg, ex);
+ 126 3 throw new DriverLoadException(msg, ex);
127 0 } catch (InstantiationException ex) {
128 0 final String msg = String.format("Unable to load database driver '%s'" , className);
129 0 Logger.getLogger(DriverLoader.class .getName()).log(Level.FINE, msg, ex);
@@ -245,12 +245,12 @@
136 0 final String msg = String.format("Unable to load database driver '%s'" , className);
137 0 Logger.getLogger(DriverLoader.class .getName()).log(Level.FINE, msg, ex);
138 0 throw new DriverLoadException(msg, ex);
- 139 114 }
- 140 114 }
+ 139 57 }
+ 140 57 }
141
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverShim.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverShim.html
index 15b76ab5d..74d3290d4 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverShim.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DriverShim.html
@@ -113,9 +113,9 @@
48
- 49 114 DriverShim(Driver driver) {
- 50 114 this .driver = driver;
- 51 114 }
+ 49 57 DriverShim(Driver driver) {
+ 50 57 this .driver = driver;
+ 51 57 }
52
53
@@ -140,7 +140,7 @@
@Override
63
public boolean acceptsURL(String url) throws SQLException {
- 64 96 return this .driver.acceptsURL(url);
+ 64 48 return this .driver.acceptsURL(url);
65
}
66
@@ -350,13 +350,13 @@
@Override
176
public String toString() {
- 177 114 return "DriverShim{" + "driver=" + driver + '}' ;
+ 177 57 return "DriverShim{" + "driver=" + driver + '}' ;
178
}
179
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.CachedWebDataSource.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.CachedWebDataSource.html
index ecfe57163..9827fa6a2 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.CachedWebDataSource.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.CachedWebDataSource.html
@@ -93,6 +93,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveInfo.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveInfo.html
index f423eae74..65bf50fae 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveInfo.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveInfo.html
@@ -65,7 +65,7 @@
24
- 25 30 public class NvdCveInfo {
+ 25 15 public class NvdCveInfo {
26
27
@@ -90,7 +90,7 @@
37
public String getId() {
- 38 16 return id;
+ 38 8 return id;
39
}
40
@@ -107,8 +107,8 @@
46
public void setId(String id) {
- 47 22 this .id = id;
- 48 22 }
+ 47 11 this .id = id;
+ 48 11 }
49
50
@@ -131,7 +131,7 @@
59
public String getUrl() {
- 60 6 return url;
+ 60 3 return url;
61
}
62
@@ -148,8 +148,8 @@
68
public void setUrl(String url) {
- 69 20 this .url = url;
- 70 20 }
+ 69 10 this .url = url;
+ 70 10 }
71
72
@@ -172,7 +172,7 @@
81
public String getOldSchemaVersionUrl() {
- 82 6 return oldSchemaVersionUrl;
+ 82 3 return oldSchemaVersionUrl;
83
}
84
@@ -189,8 +189,8 @@
90
public void setOldSchemaVersionUrl(String oldSchemaVersionUrl) {
- 91 20 this .oldSchemaVersionUrl = oldSchemaVersionUrl;
- 92 20 }
+ 91 10 this .oldSchemaVersionUrl = oldSchemaVersionUrl;
+ 92 10 }
93
94
@@ -213,7 +213,7 @@
103
public long getTimestamp() {
- 104 6 return timestamp;
+ 104 3 return timestamp;
105
}
106
@@ -230,15 +230,15 @@
112
public void setTimestamp(long timestamp) {
- 113 22 this .timestamp = timestamp;
- 114 22 }
+ 113 11 this .timestamp = timestamp;
+ 114 11 }
115
116
117
- 118 30 private boolean needsUpdate = true ;
+ 118 15 private boolean needsUpdate = true ;
119
120
@@ -253,7 +253,7 @@
125
public boolean getNeedsUpdate() {
- 126 10 return needsUpdate;
+ 126 5 return needsUpdate;
127
}
128
@@ -270,12 +270,12 @@
134
public void setNeedsUpdate(boolean needsUpdate) {
- 135 20 this .needsUpdate = needsUpdate;
- 136 20 }
+ 135 10 this .needsUpdate = needsUpdate;
+ 136 10 }
137
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveUpdater.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveUpdater.html
index ec3d38131..5f24a4561 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveUpdater.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveUpdater.html
@@ -119,6 +119,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.StandardUpdate.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.StandardUpdate.html
index 997e07b0c..491da7f8e 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.StandardUpdate.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.StandardUpdate.html
@@ -547,6 +547,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.UpdateService.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.UpdateService.html
index 2b85a2e67..a8c066d45 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.UpdateService.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.UpdateService.html
@@ -142,6 +142,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.UpdateableNvdCve.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.UpdateableNvdCve.html
index 28db2acc5..f70d51369 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.UpdateableNvdCve.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.UpdateableNvdCve.html
@@ -85,7 +85,7 @@
34
- 35 24 public class UpdateableNvdCve implements java.lang.Iterable<NvdCveInfo>, Iterator<NvdCveInfo> {
+ 35 12 public class UpdateableNvdCve implements java.lang.Iterable<NvdCveInfo>, Iterator<NvdCveInfo> {
36
37
@@ -94,7 +94,7 @@
39
- 40 10 private Map<String, NvdCveInfo> collection = new TreeMap<String, NvdCveInfo>();
+ 40 5 private Map<String, NvdCveInfo> collection = new TreeMap<String, NvdCveInfo>();
41
42
@@ -109,7 +109,7 @@
47
protected Map<String, NvdCveInfo> getCollection() {
- 48 6 return collection;
+ 48 3 return collection;
49
}
50
@@ -126,13 +126,13 @@
56
public boolean isUpdateNeeded() {
- 57 6 for (NvdCveInfo item : this ) {
- 58 8 if (item.getNeedsUpdate()) {
- 59 2 return true ;
+ 57 3 for (NvdCveInfo item : this ) {
+ 58 4 if (item.getNeedsUpdate()) {
+ 59 1 return true ;
60
}
- 61 6 }
- 62 4 return false ;
+ 61 3 }
+ 62 2 return false ;
63
}
64
@@ -159,8 +159,8 @@
75
public void add(String id, String url, String oldUrl) throws MalformedURLException, DownloadFailedException {
- 76 2 add(id, url, oldUrl, false );
- 77 2 }
+ 76 1 add(id, url, oldUrl, false );
+ 77 1 }
78
79
@@ -187,14 +187,14 @@
90
public void add(String id, String url, String oldUrl, boolean needsUpdate) throws MalformedURLException, DownloadFailedException {
- 91 18 final NvdCveInfo item = new NvdCveInfo();
- 92 18 item.setNeedsUpdate(needsUpdate);
- 93 18 item.setId(id);
- 94 18 item.setUrl(url);
- 95 18 item.setOldSchemaVersionUrl(oldUrl);
- 96 18 item.setTimestamp(Downloader.getLastModified(new URL(url)));
- 97 18 collection.put(id, item);
- 98 18 }
+ 91 9 final NvdCveInfo item = new NvdCveInfo();
+ 92 9 item.setNeedsUpdate(needsUpdate);
+ 93 9 item.setId(id);
+ 94 9 item.setUrl(url);
+ 95 9 item.setOldSchemaVersionUrl(oldUrl);
+ 96 9 item.setTimestamp(Downloader.getLastModified(new URL(url)));
+ 97 9 collection.put(id, item);
+ 98 9 }
99
100
@@ -205,8 +205,8 @@
103
public void clear() {
- 104 2 collection.clear();
- 105 2 }
+ 104 1 collection.clear();
+ 105 1 }
106
107
@@ -232,7 +232,7 @@
118
- 119 10 private Iterator<Entry<String, NvdCveInfo>> iterableContent = null ;
+ 119 5 private Iterator<Entry<String, NvdCveInfo>> iterableContent = null ;
120
121
@@ -255,8 +255,8 @@
@Override
130
public Iterator<NvdCveInfo> iterator() {
- 131 8 iterableContent = collection.entrySet().iterator();
- 132 8 return this ;
+ 131 4 iterableContent = collection.entrySet().iterator();
+ 132 4 return this ;
133
}
134
@@ -281,7 +281,7 @@
@Override
144
public boolean hasNext() {
- 145 20 return iterableContent.hasNext();
+ 145 10 return iterableContent.hasNext();
146
}
147
@@ -306,7 +306,7 @@
@Override
157
public NvdCveInfo next() {
- 158 14 return iterableContent.next().getValue();
+ 158 7 return iterableContent.next().getValue();
159
}
160
@@ -327,8 +327,8 @@
@Override
168
public void remove() {
- 169 2 iterableContent.remove();
- 170 2 }
+ 169 1 iterableContent.remove();
+ 170 1 }
171
172
@@ -345,7 +345,7 @@
178
NvdCveInfo get(String key) {
- 179 4 return collection.get(key);
+ 179 2 return collection.get(key);
180
}
181
@@ -361,6 +361,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.exception.InvalidDataException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.exception.InvalidDataException.html
index 84e556d7f..8c7b903bf 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.exception.InvalidDataException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.exception.InvalidDataException.html
@@ -115,6 +115,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.exception.UpdateException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.exception.UpdateException.html
index 7c2b740ad..e722de956 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.exception.UpdateException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.exception.UpdateException.html
@@ -147,6 +147,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.CallableDownloadTask.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.CallableDownloadTask.html
index a01fed3c4..0aa6ea86f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.CallableDownloadTask.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.CallableDownloadTask.html
@@ -398,6 +398,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.ProcessTask.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.ProcessTask.html
index 1c4166e9c..8c464550a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.ProcessTask.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.ProcessTask.html
@@ -316,6 +316,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.xml.NvdCve12Handler.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.xml.NvdCve12Handler.html
index f9477c883..3a5ed2a32 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.xml.NvdCve12Handler.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.xml.NvdCve12Handler.html
@@ -90,7 +90,7 @@
36
- 37 2 public class NvdCve12Handler extends DefaultHandler {
+ 37 1 public class NvdCve12Handler extends DefaultHandler {
38
39
@@ -139,21 +139,21 @@
61
- 62 2 private boolean skip = false ;
+ 62 1 private boolean skip = false ;
63
64
65
- 66 2 private boolean hasPreviousVersion = false ;
+ 66 1 private boolean hasPreviousVersion = false ;
67
68
69
- 70 2 private final Element current = new Element();
+ 70 1 private final Element current = new Element();
71
72
@@ -176,7 +176,7 @@
81
public Map<String, List<VulnerableSoftware>> getVulnerabilities() {
- 82 2 return vulnerabilities;
+ 82 1 return vulnerabilities;
83
}
84
@@ -185,33 +185,33 @@
@Override
86
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- 87 2444 current.setNode(qName);
- 88 2444 if (current.isEntryNode()) {
- 89 54 vendor = null ;
- 90 54 product = null ;
- 91 54 hasPreviousVersion = false ;
- 92 54 final String reject = attributes.getValue("reject" );
- 93 54 skip = "1" .equals(reject);
- 94 54 if (!skip) {
- 95 52 vulnerability = attributes.getValue("name" );
- 96 52 software = new ArrayList<VulnerableSoftware>();
+ 87 1222 current.setNode(qName);
+ 88 1222 if (current.isEntryNode()) {
+ 89 27 vendor = null ;
+ 90 27 product = null ;
+ 91 27 hasPreviousVersion = false ;
+ 92 27 final String reject = attributes.getValue("reject" );
+ 93 27 skip = "1" .equals(reject);
+ 94 27 if (!skip) {
+ 95 26 vulnerability = attributes.getValue("name" );
+ 96 26 software = new ArrayList<VulnerableSoftware>();
97
} else {
- 98 2 vulnerability = null ;
- 99 2 software = null ;
+ 98 1 vulnerability = null ;
+ 99 1 software = null ;
100
}
- 101 54 } else if (!skip && current.isProdNode()) {
+ 101 27 } else if (!skip && current.isProdNode()) {
102
- 103 104 vendor = attributes.getValue("vendor" );
- 104 104 product = attributes.getValue("name" );
- 105 2286 } else if (!skip && current.isVersNode()) {
- 106 1522 final String prev = attributes.getValue("prev" );
- 107 1522 if (prev != null && "1" .equals(prev)) {
- 108 2 hasPreviousVersion = true ;
- 109 2 final String edition = attributes.getValue("edition" );
- 110 2 final String num = attributes.getValue("num" );
+ 103 52 vendor = attributes.getValue("vendor" );
+ 104 52 product = attributes.getValue("name" );
+ 105 1143 } else if (!skip && current.isVersNode()) {
+ 106 761 final String prev = attributes.getValue("prev" );
+ 107 761 if (prev != null && "1" .equals(prev)) {
+ 108 1 hasPreviousVersion = true ;
+ 109 1 final String edition = attributes.getValue("edition" );
+ 110 1 final String num = attributes.getValue("num" );
111
112
@@ -220,48 +220,48 @@
114
- 115 2 String cpe = "cpe:/a:" + vendor + ":" + product;
- 116 2 if (num != null ) {
- 117 2 cpe += ":" + num;
+ 115 1 String cpe = "cpe:/a:" + vendor + ":" + product;
+ 116 1 if (num != null ) {
+ 117 1 cpe += ":" + num;
118
}
- 119 2 if (edition != null ) {
+ 119 1 if (edition != null ) {
120 0 cpe += ":" + edition;
121
}
- 122 2 final VulnerableSoftware vs = new VulnerableSoftware();
- 123 2 vs.setCpe(cpe);
- 124 2 vs.setPreviousVersion(prev);
- 125 2 software.add(vs);
+ 122 1 final VulnerableSoftware vs = new VulnerableSoftware();
+ 123 1 vs.setCpe(cpe);
+ 124 1 vs.setPreviousVersion(prev);
+ 125 1 software.add(vs);
126
}
- 127 1522 } else if (current.isNVDNode()) {
- 128 2 final String nvdVer = attributes.getValue("nvd_xml_version" );
- 129 2 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
+ 127 761 } else if (current.isNVDNode()) {
+ 128 1 final String nvdVer = attributes.getValue("nvd_xml_version" );
+ 129 1 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
130 0 throw new SAXNotSupportedException("Schema version " + nvdVer + " is not supported" );
131
}
- 132 2 vulnerabilities = new HashMap<String, List<VulnerableSoftware>>();
+ 132 1 vulnerabilities = new HashMap<String, List<VulnerableSoftware>>();
133
}
- 134 2444 }
+ 134 1222 }
135
136
@Override
137
public void endElement(String uri, String localName, String qName) throws SAXException {
- 138 2444 current.setNode(qName);
- 139 2444 if (current.isEntryNode()) {
- 140 54 if (!skip && hasPreviousVersion) {
- 141 2 vulnerabilities.put(vulnerability, software);
+ 138 1222 current.setNode(qName);
+ 139 1222 if (current.isEntryNode()) {
+ 140 27 if (!skip && hasPreviousVersion) {
+ 141 1 vulnerabilities.put(vulnerability, software);
142
}
- 143 54 vulnerability = null ;
- 144 54 software = null ;
+ 143 27 vulnerability = null ;
+ 144 27 software = null ;
145
}
- 146 2444 }
+ 146 1222 }
147
148
@@ -272,7 +272,7 @@
151
- 152 2 protected static class Element {
+ 152 1 protected static class Element {
153
154
@@ -354,8 +354,8 @@
193
public void setNode(String node) {
- 194 4888 this .node = node;
- 195 4888 }
+ 194 2444 this .node = node;
+ 195 2444 }
196
197
@@ -370,7 +370,7 @@
202
public boolean isNVDNode() {
- 203 764 return NVD.equals(node);
+ 203 382 return NVD.equals(node);
204
}
205
@@ -387,7 +387,7 @@
211
public boolean isEntryNode() {
- 212 4888 return ENTRY.equals(node);
+ 212 2444 return ENTRY.equals(node);
213
}
214
@@ -421,7 +421,7 @@
229
public boolean isProdNode() {
- 230 2384 return PROD.equals(node);
+ 230 1192 return PROD.equals(node);
231
}
232
@@ -438,7 +438,7 @@
238
public boolean isVersNode() {
- 239 2280 return VERS.equals(node);
+ 239 1140 return VERS.equals(node);
240
}
241
@@ -449,6 +449,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.xml.NvdCve20Handler.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.xml.NvdCve20Handler.html
index 07b0b2267..2703b6f9a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.xml.NvdCve20Handler.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.xml.NvdCve20Handler.html
@@ -98,7 +98,7 @@
40
- 41 2 public class NvdCve20Handler extends DefaultHandler {
+ 41 1 public class NvdCve20Handler extends DefaultHandler {
42
43
@@ -115,7 +115,7 @@
49
- 50 2 private final Element current = new Element();
+ 50 1 private final Element current = new Element();
51
52
@@ -146,7 +146,7 @@
65
- 66 2 private boolean hasApplicationCpe = false ;
+ 66 1 private boolean hasApplicationCpe = false ;
67
68
@@ -203,144 +203,144 @@
@Override
95
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- 96 4824 current.setNode(qName);
- 97 4824 if (current.isEntryNode()) {
- 98 54 hasApplicationCpe = false ;
- 99 54 vulnerability = new Vulnerability();
- 100 54 vulnerability.setName(attributes.getValue("id" ));
- 101 4770 } else if (current.isVulnProductNode()) {
- 102 1454 nodeText = new StringBuilder(100);
- 103 3316 } else if (current.isVulnReferencesNode()) {
- 104 180 final String lang = attributes.getValue("xml:lang" );
- 105 180 if ("en" .equals(lang)) {
- 106 180 reference = new Reference();
+ 96 2412 current.setNode(qName);
+ 97 2412 if (current.isEntryNode()) {
+ 98 27 hasApplicationCpe = false ;
+ 99 27 vulnerability = new Vulnerability();
+ 100 27 vulnerability.setName(attributes.getValue("id" ));
+ 101 2385 } else if (current.isVulnProductNode()) {
+ 102 727 nodeText = new StringBuilder(100);
+ 103 1658 } else if (current.isVulnReferencesNode()) {
+ 104 90 final String lang = attributes.getValue("xml:lang" );
+ 105 90 if ("en" .equals(lang)) {
+ 106 90 reference = new Reference();
107
} else {
108 0 reference = null ;
109
}
- 110 180 } else if (reference != null && current.isVulnReferenceNode()) {
- 111 180 reference.setUrl(attributes.getValue("href" ));
- 112 180 nodeText = new StringBuilder(130);
- 113 2956 } else if (reference != null && current.isVulnSourceNode()) {
- 114 180 nodeText = new StringBuilder(30);
- 115 2776 } else if (current.isVulnSummaryNode()) {
- 116 54 nodeText = new StringBuilder(500);
- 117 2722 } else if (current.isNVDNode()) {
- 118 2 final String nvdVer = attributes.getValue("nvd_xml_version" );
- 119 2 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
+ 110 90 } else if (reference != null && current.isVulnReferenceNode()) {
+ 111 90 reference.setUrl(attributes.getValue("href" ));
+ 112 90 nodeText = new StringBuilder(130);
+ 113 1478 } else if (reference != null && current.isVulnSourceNode()) {
+ 114 90 nodeText = new StringBuilder(30);
+ 115 1388 } else if (current.isVulnSummaryNode()) {
+ 116 27 nodeText = new StringBuilder(500);
+ 117 1361 } else if (current.isNVDNode()) {
+ 118 1 final String nvdVer = attributes.getValue("nvd_xml_version" );
+ 119 1 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
120 0 throw new SAXNotSupportedException("Schema version " + nvdVer + " is not supported" );
121
}
- 122 2 } else if (current.isVulnCWENode()) {
- 123 38 vulnerability.setCwe(attributes.getValue("id" ));
- 124 2682 } else if (current.isCVSSScoreNode()) {
- 125 52 nodeText = new StringBuilder(5);
- 126 2630 } else if (current.isCVSSAccessVectorNode()) {
- 127 52 nodeText = new StringBuilder(20);
- 128 2578 } else if (current.isCVSSAccessComplexityNode()) {
- 129 52 nodeText = new StringBuilder(20);
- 130 2526 } else if (current.isCVSSAuthenticationNode()) {
- 131 52 nodeText = new StringBuilder(20);
- 132 2474 } else if (current.isCVSSAvailabilityImpactNode()) {
- 133 52 nodeText = new StringBuilder(20);
- 134 2422 } else if (current.isCVSSConfidentialityImpactNode()) {
- 135 52 nodeText = new StringBuilder(20);
- 136 2370 } else if (current.isCVSSIntegrityImpactNode()) {
- 137 52 nodeText = new StringBuilder(20);
+ 122 1 } else if (current.isVulnCWENode()) {
+ 123 19 vulnerability.setCwe(attributes.getValue("id" ));
+ 124 1341 } else if (current.isCVSSScoreNode()) {
+ 125 26 nodeText = new StringBuilder(5);
+ 126 1315 } else if (current.isCVSSAccessVectorNode()) {
+ 127 26 nodeText = new StringBuilder(20);
+ 128 1289 } else if (current.isCVSSAccessComplexityNode()) {
+ 129 26 nodeText = new StringBuilder(20);
+ 130 1263 } else if (current.isCVSSAuthenticationNode()) {
+ 131 26 nodeText = new StringBuilder(20);
+ 132 1237 } else if (current.isCVSSAvailabilityImpactNode()) {
+ 133 26 nodeText = new StringBuilder(20);
+ 134 1211 } else if (current.isCVSSConfidentialityImpactNode()) {
+ 135 26 nodeText = new StringBuilder(20);
+ 136 1185 } else if (current.isCVSSIntegrityImpactNode()) {
+ 137 26 nodeText = new StringBuilder(20);
138
}
- 139 4824 }
+ 139 2412 }
140
141
@Override
142
public void characters(char [] ch, int start, int length) throws SAXException {
- 143 7974 if (nodeText != null ) {
- 144 2284 nodeText.append(ch, start, length);
+ 143 3987 if (nodeText != null ) {
+ 144 1142 nodeText.append(ch, start, length);
145
}
- 146 7974 }
+ 146 3987 }
147
148
@Override
149
public void endElement(String uri, String localName, String qName) throws SAXException {
- 150 4824 current.setNode(qName);
- 151 4824 if (current.isEntryNode()) {
- 152 54 totalNumberOfEntries += 1;
- 153 54 if (hasApplicationCpe) {
- 154 38 totalNumberOfApplicationEntries += 1;
+ 150 2412 current.setNode(qName);
+ 151 2412 if (current.isEntryNode()) {
+ 152 27 totalNumberOfEntries += 1;
+ 153 27 if (hasApplicationCpe) {
+ 154 19 totalNumberOfApplicationEntries += 1;
155
try {
- 156 38 saveEntry(vulnerability);
+ 156 19 saveEntry(vulnerability);
157 0 } catch (DatabaseException ex) {
158 0 throw new SAXException(ex);
159 0 } catch (CorruptIndexException ex) {
160 0 throw new SAXException(ex);
161 0 } catch (IOException ex) {
162 0 throw new SAXException(ex);
- 163 38 }
+ 163 19 }
164
}
- 165 54 vulnerability = null ;
- 166 4770 } else if (current.isCVSSScoreNode()) {
+ 165 27 vulnerability = null ;
+ 166 2385 } else if (current.isCVSSScoreNode()) {
167
try {
- 168 52 final float score = Float.parseFloat(nodeText.toString());
- 169 52 vulnerability.setCvssScore(score);
+ 168 26 final float score = Float.parseFloat(nodeText.toString());
+ 169 26 vulnerability.setCvssScore(score);
170 0 } catch (NumberFormatException ex) {
171 0 Logger.getLogger(NvdCve20Handler.class .getName()).log(Level.SEVERE, "Error parsing CVSS Score." );
172 0 Logger.getLogger(NvdCve20Handler.class .getName()).log(Level.FINE, null , ex);
- 173 52 }
- 174 52 nodeText = null ;
- 175 4718 } else if (current.isCVSSAccessVectorNode()) {
- 176 52 vulnerability.setCvssAccessVector(nodeText.toString());
- 177 52 nodeText = null ;
- 178 4666 } else if (current.isCVSSAccessComplexityNode()) {
- 179 52 vulnerability.setCvssAccessComplexity(nodeText.toString());
- 180 52 nodeText = null ;
- 181 4614 } else if (current.isCVSSAuthenticationNode()) {
- 182 52 vulnerability.setCvssAuthentication(nodeText.toString());
- 183 52 nodeText = null ;
- 184 4562 } else if (current.isCVSSAvailabilityImpactNode()) {
- 185 52 vulnerability.setCvssAvailabilityImpact(nodeText.toString());
- 186 52 nodeText = null ;
- 187 4510 } else if (current.isCVSSConfidentialityImpactNode()) {
- 188 52 vulnerability.setCvssConfidentialityImpact(nodeText.toString());
- 189 52 nodeText = null ;
- 190 4458 } else if (current.isCVSSIntegrityImpactNode()) {
- 191 52 vulnerability.setCvssIntegrityImpact(nodeText.toString());
- 192 52 nodeText = null ;
- 193 4406 } else if (current.isVulnProductNode()) {
- 194 1454 final String cpe = nodeText.toString();
- 195 1454 if (cpe.startsWith("cpe:/a:" )) {
- 196 1228 hasApplicationCpe = true ;
- 197 1228 vulnerability.addVulnerableSoftware(cpe);
+ 173 26 }
+ 174 26 nodeText = null ;
+ 175 2359 } else if (current.isCVSSAccessVectorNode()) {
+ 176 26 vulnerability.setCvssAccessVector(nodeText.toString());
+ 177 26 nodeText = null ;
+ 178 2333 } else if (current.isCVSSAccessComplexityNode()) {
+ 179 26 vulnerability.setCvssAccessComplexity(nodeText.toString());
+ 180 26 nodeText = null ;
+ 181 2307 } else if (current.isCVSSAuthenticationNode()) {
+ 182 26 vulnerability.setCvssAuthentication(nodeText.toString());
+ 183 26 nodeText = null ;
+ 184 2281 } else if (current.isCVSSAvailabilityImpactNode()) {
+ 185 26 vulnerability.setCvssAvailabilityImpact(nodeText.toString());
+ 186 26 nodeText = null ;
+ 187 2255 } else if (current.isCVSSConfidentialityImpactNode()) {
+ 188 26 vulnerability.setCvssConfidentialityImpact(nodeText.toString());
+ 189 26 nodeText = null ;
+ 190 2229 } else if (current.isCVSSIntegrityImpactNode()) {
+ 191 26 vulnerability.setCvssIntegrityImpact(nodeText.toString());
+ 192 26 nodeText = null ;
+ 193 2203 } else if (current.isVulnProductNode()) {
+ 194 727 final String cpe = nodeText.toString();
+ 195 727 if (cpe.startsWith("cpe:/a:" )) {
+ 196 614 hasApplicationCpe = true ;
+ 197 614 vulnerability.addVulnerableSoftware(cpe);
198
}
- 199 1454 nodeText = null ;
- 200 1454 } else if (reference != null && current.isVulnReferencesNode()) {
- 201 180 vulnerability.addReference(reference);
- 202 180 reference = null ;
- 203 2772 } else if (reference != null && current.isVulnReferenceNode()) {
- 204 180 reference.setName(nodeText.toString());
- 205 180 nodeText = null ;
- 206 2592 } else if (reference != null && current.isVulnSourceNode()) {
- 207 180 reference.setSource(nodeText.toString());
- 208 180 nodeText = null ;
- 209 2412 } else if (current.isVulnSummaryNode()) {
- 210 54 vulnerability.setDescription(nodeText.toString());
- 211 54 if (nodeText.indexOf("** REJECT **" ) >= 0) {
- 212 2 hasApplicationCpe = true ;
+ 199 727 nodeText = null ;
+ 200 727 } else if (reference != null && current.isVulnReferencesNode()) {
+ 201 90 vulnerability.addReference(reference);
+ 202 90 reference = null ;
+ 203 1386 } else if (reference != null && current.isVulnReferenceNode()) {
+ 204 90 reference.setName(nodeText.toString());
+ 205 90 nodeText = null ;
+ 206 1296 } else if (reference != null && current.isVulnSourceNode()) {
+ 207 90 reference.setSource(nodeText.toString());
+ 208 90 nodeText = null ;
+ 209 1206 } else if (current.isVulnSummaryNode()) {
+ 210 27 vulnerability.setDescription(nodeText.toString());
+ 211 27 if (nodeText.indexOf("** REJECT **" ) >= 0) {
+ 212 1 hasApplicationCpe = true ;
213
}
- 214 54 nodeText = null ;
+ 214 27 nodeText = null ;
215
}
- 216 4824 }
+ 216 2412 }
217
218
@@ -409,8 +409,8 @@
252
private void saveEntry(Vulnerability vuln) throws DatabaseException, CorruptIndexException, IOException {
- 253 38 if (cveDB == null ) {
- 254 38 return ;
+ 253 19 if (cveDB == null ) {
+ 254 19 return ;
255
}
256 0 final String cveName = vuln.getName();
@@ -433,7 +433,7 @@
269
- 270 2 protected static class Element {
+ 270 1 protected static class Element {
271
272
@@ -595,8 +595,8 @@
351
public void setNode(String node) {
- 352 9648 this .node = node;
- 353 9648 }
+ 352 4824 this .node = node;
+ 353 4824 }
354
355
@@ -611,7 +611,7 @@
360
public boolean isNVDNode() {
- 361 2722 return NVD.equals(node);
+ 361 1361 return NVD.equals(node);
362
}
363
@@ -628,7 +628,7 @@
369
public boolean isEntryNode() {
- 370 9648 return ENTRY.equals(node);
+ 370 4824 return ENTRY.equals(node);
371
}
372
@@ -645,7 +645,7 @@
378
public boolean isVulnProductNode() {
- 379 9176 return VULN_PRODUCT.equals(node);
+ 379 4588 return VULN_PRODUCT.equals(node);
380
}
381
@@ -662,7 +662,7 @@
387
public boolean isVulnReferencesNode() {
- 388 3856 return VULN_REFERENCES.equals(node);
+ 388 1928 return VULN_REFERENCES.equals(node);
389
}
390
@@ -679,7 +679,7 @@
396
public boolean isVulnReferenceNode() {
- 397 720 return VULN_REFERENCE.equals(node);
+ 397 360 return VULN_REFERENCE.equals(node);
398
}
399
@@ -696,7 +696,7 @@
405
public boolean isVulnSourceNode() {
- 406 360 return VULN_SOURCE.equals(node);
+ 406 180 return VULN_SOURCE.equals(node);
407
}
408
@@ -713,7 +713,7 @@
414
public boolean isVulnSummaryNode() {
- 415 5188 return VULN_SUMMARY.equals(node);
+ 415 2594 return VULN_SUMMARY.equals(node);
416
}
417
@@ -730,7 +730,7 @@
423
public boolean isVulnCWENode() {
- 424 2720 return VULN_CWE.equals(node);
+ 424 1360 return VULN_CWE.equals(node);
425
}
426
@@ -747,7 +747,7 @@
432
public boolean isCVSSScoreNode() {
- 433 7452 return CVSS_SCORE.equals(node);
+ 433 3726 return CVSS_SCORE.equals(node);
434
}
435
@@ -764,7 +764,7 @@
441
public boolean isCVSSAccessVectorNode() {
- 442 7348 return CVSS_ACCESS_VECTOR.equals(node);
+ 442 3674 return CVSS_ACCESS_VECTOR.equals(node);
443
}
444
@@ -781,7 +781,7 @@
450
public boolean isCVSSAccessComplexityNode() {
- 451 7244 return CVSS_ACCESS_COMPLEXITY.equals(node);
+ 451 3622 return CVSS_ACCESS_COMPLEXITY.equals(node);
452
}
453
@@ -798,7 +798,7 @@
459
public boolean isCVSSAuthenticationNode() {
- 460 7140 return CVSS_AUTHENTICATION.equals(node);
+ 460 3570 return CVSS_AUTHENTICATION.equals(node);
461
}
462
@@ -815,7 +815,7 @@
468
public boolean isCVSSConfidentialityImpactNode() {
- 469 6932 return CVSS_CONFIDENTIALITY_IMPACT.equals(node);
+ 469 3466 return CVSS_CONFIDENTIALITY_IMPACT.equals(node);
470
}
471
@@ -832,7 +832,7 @@
477
public boolean isCVSSIntegrityImpactNode() {
- 478 6828 return CVSS_INTEGRITY_IMPACT.equals(node);
+ 478 3414 return CVSS_INTEGRITY_IMPACT.equals(node);
479
}
480
@@ -849,7 +849,7 @@
486
public boolean isCVSSAvailabilityImpactNode() {
- 487 7036 return CVSS_AVAILABILITY_IMPACT.equals(node);
+ 487 3518 return CVSS_AVAILABILITY_IMPACT.equals(node);
488
}
489
@@ -860,6 +860,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Confidence.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Confidence.html
index 0fd9ee741..df5539201 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Confidence.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Confidence.html
@@ -65,7 +65,7 @@
24
- 25 152 public enum Confidence {
+ 25 76 public enum Confidence {
26
27
@@ -74,32 +74,32 @@
29
- 30 2 HIGHEST,
+ 30 1 HIGHEST,
31
32
33
- 34 2 HIGH,
+ 34 1 HIGH,
35
36
37
- 38 2 MEDIUM,
+ 38 1 MEDIUM,
39
40
41
- 42 2 LOW
+ 42 1 LOW
43
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html
index 530537b07..b4d5f606f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html
@@ -12,7 +12,7 @@
@@ -95,7 +95,7 @@
39
- 40 58 public class Dependency implements Comparable<Dependency> {
+ 40 32 public class Dependency implements Comparable<Dependency> {
41
42
@@ -186,13 +186,13 @@
85
- 86 132 public Dependency() {
- 87 132 vendorEvidence = new EvidenceCollection();
- 88 132 productEvidence = new EvidenceCollection();
- 89 132 versionEvidence = new EvidenceCollection();
- 90 132 identifiers = new TreeSet<Identifier>();
- 91 132 vulnerabilities = new TreeSet<Vulnerability>(new VulnerabilityComparator());
- 92 132 }
+ 86 69 public Dependency() {
+ 87 69 vendorEvidence = new EvidenceCollection();
+ 88 69 productEvidence = new EvidenceCollection();
+ 89 69 versionEvidence = new EvidenceCollection();
+ 90 69 identifiers = new TreeSet<Identifier>();
+ 91 69 vulnerabilities = new TreeSet<Vulnerability>(new VulnerabilityComparator());
+ 92 69 }
93
94
@@ -207,13 +207,13 @@
99
public Dependency(File file) {
- 100 90 this ();
- 101 90 this .actualFilePath = file.getPath();
- 102 90 this .filePath = this .actualFilePath;
- 103 90 this .fileName = file.getName();
- 104 90 this .fileExtension = FileUtils.getFileExtension(fileName);
- 105 90 determineHashes(file);
- 106 90 }
+ 100 48 this ();
+ 101 48 this .actualFilePath = file.getPath();
+ 102 48 this .filePath = this .actualFilePath;
+ 103 48 this .fileName = file.getName();
+ 104 48 this .fileExtension = FileUtils.getFileExtension(fileName);
+ 105 48 determineHashes(file);
+ 106 48 }
107
108
@@ -228,7 +228,7 @@
113
public String getFileName() {
- 114 414 return this .fileName;
+ 114 208 return this .fileName;
115
}
116
@@ -245,8 +245,8 @@
122
public void setFileName(String fileName) {
- 123 52 this .fileName = fileName;
- 124 52 }
+ 123 26 this .fileName = fileName;
+ 124 26 }
125
126
@@ -261,13 +261,13 @@
131
public void setActualFilePath(String actualFilePath) {
- 132 4 this .actualFilePath = actualFilePath;
- 133 4 if (this .sha1sum == null ) {
- 134 4 final File file = new File(this .actualFilePath);
- 135 4 determineHashes(file);
+ 132 2 this .actualFilePath = actualFilePath;
+ 133 2 if (this .sha1sum == null ) {
+ 134 2 final File file = new File(this .actualFilePath);
+ 135 2 determineHashes(file);
136
}
- 137 4 }
+ 137 2 }
138
139
@@ -282,7 +282,7 @@
144
public String getActualFilePath() {
- 145 334 return this .actualFilePath;
+ 145 167 return this .actualFilePath;
146
}
147
@@ -290,90 +290,90 @@
148
149
-
+
150
151
-
+
152
153
- public void setFilePath(String filePath) {
- 154 42 this .filePath = filePath;
- 155 42 }
+ public File getActualFile() {
+ 154 0 return new File(this .actualFilePath);
+ 155
+ }
156
157
158
-
+
159
-
- 160
-
- 161
-
- 162
-
- 163
- 164
-
- 165
+ 160
+
+ 161
- 166
- public String getFilePath() {
- 167 56 return this .filePath;
- 168
- }
- 169
+ 162
+ public void setFilePath(String filePath) {
+ 163 21 this .filePath = filePath;
+ 164 21 }
+ 165
- 170
+ 166
+ 167
+
+ 168
+
+ 169
+
+ 170
+
171
-
+
172
173
-
+
174
175
- public void setFileExtension(String fileExtension) {
- 176 4 this .fileExtension = fileExtension;
- 177 4 }
+ public String getFilePath() {
+ 176 28 return this .filePath;
+ 177
+ }
178
179
180
-
+
181
182
-
+
183
184
- public String getFileExtension() {
- 185 232 return this .fileExtension;
- 186
- }
+ public void setFileExtension(String fileExtension) {
+ 185 2 this .fileExtension = fileExtension;
+ 186 2 }
187
188
189
-
+
190
191
-
+
192
193
- public String getMd5sum() {
- 194 10 return this .md5sum;
+ public String getFileExtension() {
+ 194 125 return this .fileExtension;
195
}
196
@@ -381,161 +381,161 @@
197
198
-
+
199
200
-
+
201
202
- public void setMd5sum(String md5sum) {
- 203 96 this .md5sum = md5sum;
- 204 96 }
+ public String getMd5sum() {
+ 203 5 return this .md5sum;
+ 204
+ }
205
206
207
-
+
208
209
-
+
210
211
- public String getSha1sum() {
- 212 50 return this .sha1sum;
- 213
- }
+ public void setMd5sum(String md5sum) {
+ 212 51 this .md5sum = md5sum;
+ 213 51 }
214
215
216
-
+
217
218
-
+
219
220
- public void setSha1sum(String sha1sum) {
- 221 100 this .sha1sum = sha1sum;
- 222 100 }
+ public String getSha1sum() {
+ 221 20 return this .sha1sum;
+ 222
+ }
223
224
225
-
+
226
227
-
+
228
229
- public Set<Identifier> getIdentifiers() {
- 230 284 return this .identifiers;
- 231
- }
+ public void setSha1sum(String sha1sum) {
+ 230 53 this .sha1sum = sha1sum;
+ 231 53 }
232
233
234
-
+
235
236
-
+
237
238
- public void setIdentifiers(Set<Identifier> identifiers) {
- 239 2 this .identifiers = identifiers;
- 240 2 }
+ public Set<Identifier> getIdentifiers() {
+ 239 142 return this .identifiers;
+ 240
+ }
241
242
243
-
+
244
245
-
+
246
-
+
247
-
- 248
-
- 249
- public void addIdentifier(String type, String value, String url) {
- 250 12 final Identifier i = new Identifier(type, value, url);
- 251 12 this .identifiers.add(i);
- 252 12 }
+ public void setIdentifiers(Set<Identifier> identifiers) {
+ 248 1 this .identifiers = identifiers;
+ 249 1 }
+ 250
+
+ 251
+
+ 252
+
253
-
+
254
-
- 255
-
- 256
-
- 257
- 258
+ 255
- 259
+ 256
- 260
-
- 261
+ 257
+ 258
+ public void addIdentifier(String type, String value, String url) {
+ 259 6 final Identifier i = new Identifier(type, value, url);
+ 260 6 this .identifiers.add(i);
+ 261 6 }
262
- public void addIdentifier(String type, String value, String url, Confidence confidence) {
- 263 10 final Identifier i = new Identifier(type, value, url);
- 264 10 i.setConfidence(confidence);
- 265 10 this .identifiers.add(i);
- 266 10 }
- 267
- 268
+ 263
- 269
+ 264
- 270
+ 265
- 271
-
- 272
+ 266
+
+ 267
+
+ 268
+
+ 269
+
+ 270
- 273
- public void addIdentifier(Identifier identifier) {
- 274 216 this .identifiers.add(identifier);
- 275 216 }
+ 271
+ public void addIdentifier(String type, String value, String url, Confidence confidence) {
+ 272 0 final Identifier i = new Identifier(type, value, url);
+ 273 0 i.setConfidence(confidence);
+ 274 0 this .identifiers.add(i);
+ 275 0 }
276
277
278
-
+
279
280
-
+
281
282
- public EvidenceCollection getEvidence() {
- 283 2 return EvidenceCollection.merge(this .productEvidence, this .vendorEvidence, this .versionEvidence);
- 284
- }
+ public void addIdentifier(Identifier identifier) {
+ 283 88 this .identifiers.add(identifier);
+ 284 88 }
285
286
@@ -549,8 +549,8 @@
290
291
- public EvidenceCollection getEvidenceUsed() {
- 292 8 return EvidenceCollection.mergeUsed(this .productEvidence, this .vendorEvidence, this .versionEvidence);
+ public EvidenceCollection getEvidence() {
+ 292 1 return EvidenceCollection.merge(this .productEvidence, this .vendorEvidence, this .versionEvidence);
293
}
294
@@ -558,7 +558,7 @@
295
296
-
+
297
298
@@ -566,8 +566,8 @@
299
300
- public EvidenceCollection getVendorEvidence() {
- 301 912 return this .vendorEvidence;
+ public EvidenceCollection getEvidenceUsed() {
+ 301 4 return EvidenceCollection.mergeUsed(this .productEvidence, this .vendorEvidence, this .versionEvidence);
302
}
303
@@ -575,7 +575,7 @@
304
305
-
+
306
307
@@ -583,8 +583,8 @@
308
309
- public EvidenceCollection getProductEvidence() {
- 310 2184 return this .productEvidence;
+ public EvidenceCollection getVendorEvidence() {
+ 310 451 return this .vendorEvidence;
311
}
312
@@ -592,7 +592,7 @@
313
314
-
+
315
316
@@ -600,464 +600,481 @@
317
318
- public EvidenceCollection getVersionEvidence() {
- 319 930 return this .versionEvidence;
+ public EvidenceCollection getProductEvidence() {
+ 319 1087 return this .productEvidence;
320
}
321
-
- 322
-
- 323
-
- 324 132 private List<Exception> analysisExceptions = new ArrayList<Exception>();
- 325
- 326
+ 322
- 327
-
- 328
+ 323
+
+ 324
- 329
-
- 330
+ 325
+
+ 326
- 331
- public List<Exception> getAnalysisExceptions() {
- 332 0 return analysisExceptions;
- 333
+ 327
+ public EvidenceCollection getVersionEvidence() {
+ 328 460 return this .versionEvidence;
+ 329
}
+ 330
+
+ 331
+
+ 332
+
+ 333 69 private List<Exception> analysisExceptions = new ArrayList<Exception>();
334
335
336
-
+
337
338
-
+
339
340
- public void setAnalysisExceptions(List<Exception> analysisExceptions) {
- 341 0 this .analysisExceptions = analysisExceptions;
- 342 0 }
+ public List<Exception> getAnalysisExceptions() {
+ 341 0 return analysisExceptions;
+ 342
+ }
343
344
345
-
+
346
347
-
+
348
349
- public void addAnalysisException(Exception ex) {
- 350 0 this .analysisExceptions.add(ex);
+ public void setAnalysisExceptions(List<Exception> analysisExceptions) {
+ 350 0 this .analysisExceptions = analysisExceptions;
351 0 }
352
-
- 353
-
- 354
-
- 355
- private String description;
- 356
- 357
+ 353
- 358
-
- 359
+ 354
+
+ 355
- 360
-
- 361
+ 356
+
+ 357
+ 358
+ public void addAnalysisException(Exception ex) {
+ 359 0 this .analysisExceptions.add(ex);
+ 360 0 }
+ 361
+
362
- public String getDescription() {
- 363 30 return description;
+
+ 363
+
364
- }
+ private String description;
365
366
367
-
+
368
369
-
+
370
371
- public void setDescription(String description) {
- 372 38 this .description = description;
- 373 38 }
- 374
-
- 375
-
- 376
-
- 377
- private String license;
- 378
-
- 379
-
- 380
-
- 381
-
- 382
-
- 383
-
- 384
- public String getLicense() {
- 385 22 return license;
- 386
+ public String getDescription() {
+ 372 15 return description;
+ 373
}
+ 374
+
+ 375
+
+ 376
+
+ 377
+
+ 378
+
+ 379
+
+ 380
+ public void setDescription(String description) {
+ 381 19 this .description = description;
+ 382 19 }
+ 383
+
+ 384
+
+ 385
+
+ 386
+ private String license;
387
388
389
-
+
390
391
-
+
392
393
- public void setLicense(String license) {
- 394 14 this .license = license;
- 395 14 }
- 396
-
- 397
-
- 398
-
- 399
- private SortedSet<Vulnerability> vulnerabilities;
- 400
-
- 401
-
- 402
-
- 403
-
- 404
-
- 405
-
- 406
- public SortedSet<Vulnerability> getVulnerabilities() {
- 407 56 return vulnerabilities;
- 408
+ public String getLicense() {
+ 394 11 return license;
+ 395
}
+ 396
+
+ 397
+
+ 398
+
+ 399
+
+ 400
+
+ 401
+
+ 402
+ public void setLicense(String license) {
+ 403 7 this .license = license;
+ 404 7 }
+ 405
+
+ 406
+
+ 407
+
+ 408
+ private SortedSet<Vulnerability> vulnerabilities;
409
410
411
-
+
412
413
-
+
414
415
- public void setVulnerabilities(SortedSet<Vulnerability> vulnerabilities) {
- 416 0 this .vulnerabilities = vulnerabilities;
- 417 0 }
+ public SortedSet<Vulnerability> getVulnerabilities() {
+ 416 28 return vulnerabilities;
+ 417
+ }
418
419
420
-
+
421
422
-
+
423
424
- private void determineHashes(File file) {
- 425 94 String md5 = null ;
- 426 94 String sha1 = null ;
+ public void setVulnerabilities(SortedSet<Vulnerability> vulnerabilities) {
+ 425 0 this .vulnerabilities = vulnerabilities;
+ 426 0 }
427
+
+ 428
+
+ 429
+
+ 430
+
+ 431
+
+ 432
+
+ 433
+ private void determineHashes(File file) {
+ 434 50 String md5 = null ;
+ 435 50 String sha1 = null ;
+ 436
try {
- 428 94 md5 = Checksum.getMD5Checksum(file);
- 429 90 sha1 = Checksum.getSHA1Checksum(file);
- 430 4 } catch (IOException ex) {
- 431 4 final String msg = String.format("Unable to read '%s' to determine hashes." , file.getName());
- 432 4 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
- 433 4 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
- 434 0 } catch (NoSuchAlgorithmException ex) {
- 435 0 final String msg = "Unable to use MD5 of SHA1 checksums." ;
- 436 0 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
- 437 0 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
- 438 94 }
- 439 94 this .setMd5sum(md5);
- 440 94 this .setSha1sum(sha1);
- 441 94 }
- 442
-
- 443
-
- 444
-
- 445
-
- 446
-
- 447
-
- 448
- public void addVulnerability(Vulnerability vulnerability) {
- 449 6 this .vulnerabilities.add(vulnerability);
- 450 6 }
+ 437 50 md5 = Checksum.getMD5Checksum(file);
+ 438 48 sha1 = Checksum.getSHA1Checksum(file);
+ 439 2 } catch (IOException ex) {
+ 440 2 final String msg = String.format("Unable to read '%s' to determine hashes." , file.getName());
+ 441 2 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
+ 442 2 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
+ 443 0 } catch (NoSuchAlgorithmException ex) {
+ 444 0 final String msg = "Unable to use MD5 of SHA1 checksums." ;
+ 445 0 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
+ 446 0 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
+ 447 50 }
+ 448 50 this .setMd5sum(md5);
+ 449 50 this .setSha1sum(sha1);
+ 450 50 }
451
-
- 452
-
- 453
-
- 454 132 private Set<Dependency> relatedDependencies = new TreeSet<Dependency>();
- 455
- 456
+ 452
- 457
-
- 458
+ 453
+
+ 454
- 459
-
- 460
+ 455
+
+ 456
+ 457
+ public void addVulnerability(Vulnerability vulnerability) {
+ 458 3 this .vulnerabilities.add(vulnerability);
+ 459 3 }
+ 460
+
461
- public Set<Dependency> getRelatedDependencies() {
- 462 8 return relatedDependencies;
- 463
- }
+
+ 462
+
+ 463 69 private Set<Dependency> relatedDependencies = new TreeSet<Dependency>();
464
465
466
-
+
467
468
-
+
469
470
- public void setRelatedDependencies(Set<Dependency> relatedDependencies) {
- 471 0 this .relatedDependencies = relatedDependencies;
- 472 0 }
+ public Set<Dependency> getRelatedDependencies() {
+ 471 4 return relatedDependencies;
+ 472
+ }
473
474
475
-
+
476
477
-
+
478
479
- public void addRelatedDependency(Dependency dependency) {
- 480 0 relatedDependencies.add(dependency);
+ public void setRelatedDependencies(Set<Dependency> relatedDependencies) {
+ 480 0 this .relatedDependencies = relatedDependencies;
481 0 }
482
483
484
-
+
485
486
-
+
487
-
+
488
-
- 489
- public int compareTo(Dependency o) {
- 490 58 return this .getFileName().compareToIgnoreCase(o.getFileName());
+ public void addRelatedDependency(Dependency dependency) {
+ 489 0 relatedDependencies.add(dependency);
+ 490 0 }
491
- }
- 492
- 493
+ 492
+ 493
+
494
-
- 495
+ 495
+
496
-
+
497
-
- 498
- 499
- @Override
+ 498
+ public int compareTo(Dependency o) {
+ 499 32 return this .getFileName().compareToIgnoreCase(o.getFileName());
500
- public boolean equals(Object obj) {
- 501 0 if (obj == null ) {
- 502 0 return false ;
+ }
+ 501
+
+ 502
+
503
- }
- 504 0 if (getClass() != obj.getClass()) {
- 505 0 return false ;
+
+ 504
+
+ 505
+
506
+
+ 507
+
+ 508
+ @Override
+ 509
+ public boolean equals(Object obj) {
+ 510 0 if (obj == null ) {
+ 511 0 return false ;
+ 512
}
- 507 0 final Dependency other = (Dependency) obj;
- 508 0 if ((this .actualFilePath == null ) ? (other.actualFilePath != null ) : !this .actualFilePath.equals(other.actualFilePath)) {
- 509 0 return false ;
- 510
+ 513 0 if (getClass() != obj.getClass()) {
+ 514 0 return false ;
+ 515
}
- 511 0 if ((this .filePath == null ) ? (other.filePath != null ) : !this .filePath.equals(other.filePath)) {
- 512 0 return false ;
- 513
- }
- 514 0 if ((this .fileName == null ) ? (other.fileName != null ) : !this .fileName.equals(other.fileName)) {
- 515 0 return false ;
- 516
- }
- 517 0 if ((this .fileExtension == null ) ? (other.fileExtension != null ) : !this .fileExtension.equals(other.fileExtension)) {
+ 516 0 final Dependency other = (Dependency) obj;
+ 517 0 if ((this .actualFilePath == null ) ? (other.actualFilePath != null ) : !this .actualFilePath.equals(other.actualFilePath)) {
518 0 return false ;
519
}
- 520 0 if ((this .md5sum == null ) ? (other.md5sum != null ) : !this .md5sum.equals(other.md5sum)) {
+ 520 0 if ((this .filePath == null ) ? (other.filePath != null ) : !this .filePath.equals(other.filePath)) {
521 0 return false ;
522
}
- 523 0 if ((this .sha1sum == null ) ? (other.sha1sum != null ) : !this .sha1sum.equals(other.sha1sum)) {
+ 523 0 if ((this .fileName == null ) ? (other.fileName != null ) : !this .fileName.equals(other.fileName)) {
524 0 return false ;
525
}
- 526 0 if (this .identifiers != other.identifiers && (this .identifiers == null || !this .identifiers.equals(other.identifiers))) {
+ 526 0 if ((this .fileExtension == null ) ? (other.fileExtension != null ) : !this .fileExtension.equals(other.fileExtension)) {
527 0 return false ;
528
}
- 529 0 if (this .vendorEvidence != other.vendorEvidence && (this .vendorEvidence == null || !this .vendorEvidence.equals(other.vendorEvidence))) {
+ 529 0 if ((this .md5sum == null ) ? (other.md5sum != null ) : !this .md5sum.equals(other.md5sum)) {
530 0 return false ;
531
}
- 532 0 if (this .productEvidence != other.productEvidence && (this .productEvidence == null || !this .productEvidence.equals(other.productEvidence))) {
+ 532 0 if ((this .sha1sum == null ) ? (other.sha1sum != null ) : !this .sha1sum.equals(other.sha1sum)) {
533 0 return false ;
534
}
- 535 0 if (this .versionEvidence != other.versionEvidence && (this .versionEvidence == null || !this .versionEvidence.equals(other.versionEvidence))) {
+ 535 0 if (this .identifiers != other.identifiers && (this .identifiers == null || !this .identifiers.equals(other.identifiers))) {
536 0 return false ;
537
}
- 538 0 if (this .analysisExceptions != other.analysisExceptions
- 539
+ 538 0 if (this .vendorEvidence != other.vendorEvidence && (this .vendorEvidence == null || !this .vendorEvidence.equals(other.vendorEvidence))) {
+ 539 0 return false ;
+ 540
+ }
+ 541 0 if (this .productEvidence != other.productEvidence && (this .productEvidence == null || !this .productEvidence.equals(other.productEvidence))) {
+ 542 0 return false ;
+ 543
+ }
+ 544 0 if (this .versionEvidence != other.versionEvidence && (this .versionEvidence == null || !this .versionEvidence.equals(other.versionEvidence))) {
+ 545 0 return false ;
+ 546
+ }
+ 547 0 if (this .analysisExceptions != other.analysisExceptions
+ 548
&& (this .analysisExceptions == null || !this .analysisExceptions.equals(other.analysisExceptions))) {
- 540 0 return false ;
- 541
- }
- 542 0 if ((this .description == null ) ? (other.description != null ) : !this .description.equals(other.description)) {
- 543 0 return false ;
- 544
- }
- 545 0 if ((this .license == null ) ? (other.license != null ) : !this .license.equals(other.license)) {
- 546 0 return false ;
- 547
- }
- 548 0 if (this .vulnerabilities != other.vulnerabilities && (this .vulnerabilities == null || !this .vulnerabilities.equals(other.vulnerabilities))) {
549 0 return false ;
550
}
- 551 0 if (this .relatedDependencies != other.relatedDependencies
- 552
- && (this .relatedDependencies == null || !this .relatedDependencies.equals(other.relatedDependencies))) {
- 553 0 return false ;
- 554
+ 551 0 if ((this .description == null ) ? (other.description != null ) : !this .description.equals(other.description)) {
+ 552 0 return false ;
+ 553
}
- 555 0 return true ;
+ 554 0 if ((this .license == null ) ? (other.license != null ) : !this .license.equals(other.license)) {
+ 555 0 return false ;
556
- }
- 557
-
- 558
-
+ }
+ 557 0 if (this .vulnerabilities != other.vulnerabilities && (this .vulnerabilities == null || !this .vulnerabilities.equals(other.vulnerabilities))) {
+ 558 0 return false ;
559
-
- 560
-
+ }
+ 560 0 if (this .relatedDependencies != other.relatedDependencies
561
-
- 562
-
+ && (this .relatedDependencies == null || !this .relatedDependencies.equals(other.relatedDependencies))) {
+ 562 0 return false ;
563
- @Override
- 564
- public int hashCode() {
- 565 252 int hash = 3;
- 566 252 hash = 47 * hash + (this .actualFilePath != null ? this .actualFilePath.hashCode() : 0);
- 567 252 hash = 47 * hash + (this .filePath != null ? this .filePath.hashCode() : 0);
- 568 252 hash = 47 * hash + (this .fileName != null ? this .fileName.hashCode() : 0);
- 569 252 hash = 47 * hash + (this .fileExtension != null ? this .fileExtension.hashCode() : 0);
- 570 252 hash = 47 * hash + (this .md5sum != null ? this .md5sum.hashCode() : 0);
- 571 252 hash = 47 * hash + (this .sha1sum != null ? this .sha1sum.hashCode() : 0);
- 572 252 hash = 47 * hash + (this .identifiers != null ? this .identifiers.hashCode() : 0);
- 573 252 hash = 47 * hash + (this .vendorEvidence != null ? this .vendorEvidence.hashCode() : 0);
- 574 252 hash = 47 * hash + (this .productEvidence != null ? this .productEvidence.hashCode() : 0);
- 575 252 hash = 47 * hash + (this .versionEvidence != null ? this .versionEvidence.hashCode() : 0);
- 576 252 hash = 47 * hash + (this .analysisExceptions != null ? this .analysisExceptions.hashCode() : 0);
- 577 252 hash = 47 * hash + (this .description != null ? this .description.hashCode() : 0);
- 578 252 hash = 47 * hash + (this .license != null ? this .license.hashCode() : 0);
- 579 252 hash = 47 * hash + (this .vulnerabilities != null ? this .vulnerabilities.hashCode() : 0);
- 580 252 hash = 47 * hash + (this .relatedDependencies != null ? this .relatedDependencies.hashCode() : 0);
- 581 252 return hash;
- 582
+ }
+ 564 0 return true ;
+ 565
}
- 583
+ 566
- 584
+ 567
- 585
-
- 586
+ 568
+
+ 569
- 587
-
- 588
+ 570
+
+ 571
- 589
+ 572
@Override
- 590
- public String toString() {
- 591 0 return "Dependency{ fileName='" + fileName + "', actualFilePath='" + actualFilePath + "', filePath='" + filePath + "'}" ;
- 592
+ 573
+ public int hashCode() {
+ 574 135 int hash = 3;
+ 575 135 hash = 47 * hash + (this .actualFilePath != null ? this .actualFilePath.hashCode() : 0);
+ 576 135 hash = 47 * hash + (this .filePath != null ? this .filePath.hashCode() : 0);
+ 577 135 hash = 47 * hash + (this .fileName != null ? this .fileName.hashCode() : 0);
+ 578 135 hash = 47 * hash + (this .fileExtension != null ? this .fileExtension.hashCode() : 0);
+ 579 135 hash = 47 * hash + (this .md5sum != null ? this .md5sum.hashCode() : 0);
+ 580 135 hash = 47 * hash + (this .sha1sum != null ? this .sha1sum.hashCode() : 0);
+ 581 135 hash = 47 * hash + (this .identifiers != null ? this .identifiers.hashCode() : 0);
+ 582 135 hash = 47 * hash + (this .vendorEvidence != null ? this .vendorEvidence.hashCode() : 0);
+ 583 135 hash = 47 * hash + (this .productEvidence != null ? this .productEvidence.hashCode() : 0);
+ 584 135 hash = 47 * hash + (this .versionEvidence != null ? this .versionEvidence.hashCode() : 0);
+ 585 135 hash = 47 * hash + (this .analysisExceptions != null ? this .analysisExceptions.hashCode() : 0);
+ 586 135 hash = 47 * hash + (this .description != null ? this .description.hashCode() : 0);
+ 587 135 hash = 47 * hash + (this .license != null ? this .license.hashCode() : 0);
+ 588 135 hash = 47 * hash + (this .vulnerabilities != null ? this .vulnerabilities.hashCode() : 0);
+ 589 135 hash = 47 * hash + (this .relatedDependencies != null ? this .relatedDependencies.hashCode() : 0);
+ 590 135 return hash;
+ 591
}
+ 592
+
593
+
+ 594
+
+ 595
+
+ 596
+
+ 597
+
+ 598
+ @Override
+ 599
+ public String toString() {
+ 600 0 return "Dependency{ fileName='" + fileName + "', actualFilePath='" + actualFilePath + "', filePath='" + filePath + "'}" ;
+ 601
+ }
+ 602
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Evidence.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Evidence.html
index fe93d7eb5..fc622eb4d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Evidence.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Evidence.html
@@ -65,7 +65,7 @@
24
- 25 243066 public class Evidence implements Comparable<Evidence> {
+ 25 121449 public class Evidence implements Comparable<Evidence> {
26
27
@@ -94,12 +94,12 @@
40
- 41 141794 public Evidence(String source, String name, String value, Confidence confidence) {
- 42 141794 this .source = source;
- 43 141794 this .name = name;
- 44 141794 this .value = value;
- 45 141794 this .confidence = confidence;
- 46 141794 }
+ 41 70882 public Evidence(String source, String name, String value, Confidence confidence) {
+ 42 70882 this .source = source;
+ 43 70882 this .name = name;
+ 44 70882 this .value = value;
+ 45 70882 this .confidence = confidence;
+ 46 70882 }
47
48
@@ -122,7 +122,7 @@
57
public String getName() {
- 58 122 return name;
+ 58 52 return name;
59
}
60
@@ -163,7 +163,7 @@
79
public String getSource() {
- 80 100 return source;
+ 80 41 return source;
81
}
82
@@ -204,8 +204,8 @@
101
public String getValue() {
- 102 14330 used = true ;
- 103 14330 return value;
+ 102 6806 used = true ;
+ 103 6806 return value;
104
}
105
@@ -224,8 +224,8 @@
112
public String getValue(Boolean setUsed) {
- 113 440 used = used || setUsed;
- 114 440 return value;
+ 113 210 used = used || setUsed;
+ 114 210 return value;
115
}
116
@@ -266,7 +266,7 @@
135
public boolean isUsed() {
- 136 19384 return used;
+ 136 9313 return used;
137
}
138
@@ -307,7 +307,7 @@
157
public Confidence getConfidence() {
- 158 6152 return confidence;
+ 158 2873 return confidence;
159
}
160
@@ -421,29 +421,29 @@
222
public int compareTo(Evidence o) {
- 223 243066 if (source.equals(o.source)) {
- 224 199536 if (name.equals(o.name)) {
- 225 198906 if (value.equals(o.value)) {
- 226 141096 if (confidence.equals(o.confidence)) {
- 227 141086 return 0;
+ 223 121449 if (source.equals(o.source)) {
+ 224 99756 if (name.equals(o.name)) {
+ 225 99453 if (value.equals(o.value)) {
+ 226 70548 if (confidence.equals(o.confidence)) {
+ 227 70543 return 0;
228
} else {
- 229 10 return confidence.compareTo(o.confidence);
+ 229 5 return confidence.compareTo(o.confidence);
230
}
231
} else {
- 232 57810 return value.compareToIgnoreCase(o.value);
+ 232 28905 return value.compareToIgnoreCase(o.value);
233
}
234
} else {
- 235 630 return name.compareToIgnoreCase(o.name);
+ 235 303 return name.compareToIgnoreCase(o.name);
236
}
237
} else {
- 238 43530 return source.compareToIgnoreCase(o.source);
+ 238 21693 return source.compareToIgnoreCase(o.source);
239
}
240
@@ -452,6 +452,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html
index 3269a539e..410d07927 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html
@@ -108,10 +108,10 @@
43
- 44 1072 private static final Filter<Evidence> HIGHEST_CONFIDENCE = new Filter<Evidence>() {
+ 44 489 private static final Filter<Evidence> HIGHEST_CONFIDENCE = new Filter<Evidence>() {
45
public boolean passes(Evidence evidence) {
- 46 1070 return evidence.getConfidence() == Confidence.HIGHEST;
+ 46 488 return evidence.getConfidence() == Confidence.HIGHEST;
47
}
48
@@ -122,10 +122,10 @@
51
- 52 1060 private static final Filter<Evidence> HIGH_CONFIDENCE = new Filter<Evidence>() {
+ 52 483 private static final Filter<Evidence> HIGH_CONFIDENCE = new Filter<Evidence>() {
53
public boolean passes(Evidence evidence) {
- 54 1058 return evidence.getConfidence() == Confidence.HIGH;
+ 54 482 return evidence.getConfidence() == Confidence.HIGH;
55
}
56
@@ -136,10 +136,10 @@
59
- 60 2 private static final Filter<Evidence> MEDIUM_CONFIDENCE = new Filter<Evidence>() {
+ 60 1 private static final Filter<Evidence> MEDIUM_CONFIDENCE = new Filter<Evidence>() {
61
public boolean passes(Evidence evidence) {
- 62 990 return evidence.getConfidence() == Confidence.MEDIUM;
+ 62 452 return evidence.getConfidence() == Confidence.MEDIUM;
63
}
64
@@ -150,10 +150,10 @@
67
- 68 2 private static final Filter<Evidence> LOW_CONFIDENCE = new Filter<Evidence>() {
+ 68 1 private static final Filter<Evidence> LOW_CONFIDENCE = new Filter<Evidence>() {
69
public boolean passes(Evidence evidence) {
- 70 1612 return evidence.getConfidence() == Confidence.LOW;
+ 70 748 return evidence.getConfidence() == Confidence.LOW;
71
}
72
@@ -164,10 +164,10 @@
75
- 76 2 private static final Filter<Evidence> EVIDENCE_USED = new Filter<Evidence>() {
+ 76 1 private static final Filter<Evidence> EVIDENCE_USED = new Filter<Evidence>() {
77
public boolean passes(Evidence evidence) {
- 78 19248 return evidence.isUsed();
+ 78 9254 return evidence.isUsed();
79
}
80
@@ -188,15 +188,15 @@
88
public final Iterable<Evidence> iterator(Confidence confidence) {
- 89 1008 if (confidence == Confidence.HIGHEST) {
- 90 256 return EvidenceCollection.HIGHEST_CONFIDENCE.filter(this .list);
- 91 752 } else if (confidence == Confidence.HIGH) {
- 92 246 return EvidenceCollection.HIGH_CONFIDENCE.filter(this .list);
- 93 506 } else if (confidence == Confidence.MEDIUM) {
- 94 216 return EvidenceCollection.MEDIUM_CONFIDENCE.filter(this .list);
+ 89 504 if (confidence == Confidence.HIGHEST) {
+ 90 128 return EvidenceCollection.HIGHEST_CONFIDENCE.filter(this .list);
+ 91 376 } else if (confidence == Confidence.HIGH) {
+ 92 123 return EvidenceCollection.HIGH_CONFIDENCE.filter(this .list);
+ 93 253 } else if (confidence == Confidence.MEDIUM) {
+ 94 108 return EvidenceCollection.MEDIUM_CONFIDENCE.filter(this .list);
95
} else {
- 96 290 return EvidenceCollection.LOW_CONFIDENCE.filter(this .list);
+ 96 145 return EvidenceCollection.LOW_CONFIDENCE.filter(this .list);
97
}
98
@@ -225,10 +225,10 @@
110
- 111 406 public EvidenceCollection() {
- 112 406 list = new TreeSet<Evidence>();
- 113 406 weightedStrings = new HashSet<String>();
- 114 406 }
+ 111 212 public EvidenceCollection() {
+ 112 212 list = new TreeSet<Evidence>();
+ 113 212 weightedStrings = new HashSet<String>();
+ 114 212 }
115
116
@@ -243,8 +243,8 @@
121
public void addEvidence(Evidence e) {
- 122 141838 list.add(e);
- 123 141838 }
+ 122 70895 list.add(e);
+ 123 70895 }
124
125
@@ -265,9 +265,9 @@
133
public void addEvidence(String source, String name, String value, Confidence confidence) {
- 134 141700 final Evidence e = new Evidence(source, name, value, confidence);
- 135 141700 addEvidence(e);
- 136 141700 }
+ 134 70835 final Evidence e = new Evidence(source, name, value, confidence);
+ 135 70835 addEvidence(e);
+ 136 70835 }
137
138
@@ -294,8 +294,8 @@
149
public void addWeighting(String str) {
- 150 114 weightedStrings.add(str);
- 151 114 }
+ 150 57 weightedStrings.add(str);
+ 151 57 }
152
153
@@ -312,7 +312,7 @@
159
public Set<String> getWeighting() {
- 160 290 return weightedStrings;
+ 160 145 return weightedStrings;
161
}
162
@@ -329,7 +329,7 @@
168
public Set<Evidence> getEvidence() {
- 169 60 return list;
+ 169 30 return list;
170
}
171
@@ -408,7 +408,7 @@
216
public Iterator<Evidence> iterator() {
- 217 2946 return list.iterator();
+ 217 1465 return list.iterator();
218
}
219
@@ -427,23 +427,23 @@
226
public boolean containsUsedString(String text) {
- 227 2904 if (text == null ) {
+ 227 1444 if (text == null ) {
228 0 return false ;
229
}
- 230 2904 final String textToTest = text.toLowerCase();
+ 230 1444 final String textToTest = text.toLowerCase();
231
- 232 2904 for (Evidence e : EvidenceCollection.EVIDENCE_USED.filter(this )) {
+ 232 1444 for (Evidence e : EvidenceCollection.EVIDENCE_USED.filter(this )) {
233
- 234 12972 final String value = urlCorrection(e.getValue().toLowerCase()).replaceAll("[\\s_-]" , "" );
- 235 12972 if (value.contains(textToTest)) {
- 236 1016 return true ;
+ 234 6183 final String value = urlCorrection(e.getValue().toLowerCase()).replaceAll("[\\s_-]" , "" );
+ 235 6183 if (value.contains(textToTest)) {
+ 236 510 return true ;
237
}
- 238 11956 }
- 239 1888 return false ;
+ 238 5673 }
+ 239 934 return false ;
240
}
241
@@ -494,13 +494,13 @@
268
public boolean contains(Confidence confidence) {
- 269 456 for (Evidence e : list) {
- 270 1418 if (e.getConfidence().equals(confidence)) {
- 271 324 return true ;
+ 269 228 for (Evidence e : list) {
+ 270 701 if (e.getConfidence().equals(confidence)) {
+ 271 162 return true ;
272
}
- 273 1094 }
- 274 132 return false ;
+ 273 539 }
+ 274 66 return false ;
275
}
276
@@ -519,17 +519,17 @@
283
public static EvidenceCollection mergeUsed(EvidenceCollection... ec) {
- 284 8 final EvidenceCollection ret = new EvidenceCollection();
- 285 32 for (EvidenceCollection col : ec) {
- 286 24 for (Evidence e : col.list) {
- 287 136 if (e.isUsed()) {
- 288 134 ret.addEvidence(e);
+ 284 4 final EvidenceCollection ret = new EvidenceCollection();
+ 285 16 for (EvidenceCollection col : ec) {
+ 286 12 for (Evidence e : col.list) {
+ 287 59 if (e.isUsed()) {
+ 288 58 ret.addEvidence(e);
289
}
- 290 136 }
+ 290 59 }
291
}
- 292 8 return ret;
+ 292 4 return ret;
293
}
294
@@ -548,13 +548,13 @@
301
public static EvidenceCollection merge(EvidenceCollection... ec) {
- 302 2 final EvidenceCollection ret = new EvidenceCollection();
- 303 8 for (EvidenceCollection col : ec) {
- 304 6 ret.list.addAll(col.list);
- 305 6 ret.weightedStrings.addAll(col.weightedStrings);
+ 302 1 final EvidenceCollection ret = new EvidenceCollection();
+ 303 4 for (EvidenceCollection col : ec) {
+ 304 3 ret.list.addAll(col.list);
+ 305 3 ret.weightedStrings.addAll(col.weightedStrings);
306
}
- 307 2 return ret;
+ 307 1 return ret;
308
}
309
@@ -573,11 +573,11 @@
@Override
316
public String toString() {
- 317 6 final StringBuilder sb = new StringBuilder();
- 318 6 for (Evidence e : this .list) {
- 319 22 sb.append(e.getValue()).append(' ' );
- 320 22 }
- 321 6 return sb.toString();
+ 317 3 final StringBuilder sb = new StringBuilder();
+ 318 3 for (Evidence e : this .list) {
+ 319 11 sb.append(e.getValue()).append(' ' );
+ 320 11 }
+ 321 3 return sb.toString();
322
}
323
@@ -594,7 +594,7 @@
329
public int size() {
- 330 442 return list.size();
+ 330 221 return list.size();
331
}
332
@@ -637,22 +637,22 @@
351
private String urlCorrection(String value) {
- 352 12972 if (value == null || !UrlStringUtils.containsUrl(value)) {
- 353 12684 return value;
+ 352 6183 if (value == null || !UrlStringUtils.containsUrl(value)) {
+ 353 6050 return value;
354
}
- 355 288 final StringBuilder sb = new StringBuilder(value.length());
- 356 288 final String[] parts = value.split("\\s" );
- 357 576 for (String part : parts) {
- 358 288 if (UrlStringUtils.isUrl(part)) {
+ 355 133 final StringBuilder sb = new StringBuilder(value.length());
+ 356 133 final String[] parts = value.split("\\s" );
+ 357 266 for (String part : parts) {
+ 358 133 if (UrlStringUtils.isUrl(part)) {
359
try {
- 360 288 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
- 361 288 sb.append(' ' ).append(StringUtils.join(data, ' ' ));
+ 360 133 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
+ 361 133 sb.append(' ' ).append(StringUtils.join(data, ' ' ));
362 0 } catch (MalformedURLException ex) {
363 0 Logger.getLogger(EvidenceCollection.class .getName()).log(Level.INFO, "error parsing " + part, ex);
364 0 sb.append(' ' ).append(part);
- 365 288 }
+ 365 133 }
366
} else {
367 0 sb.append(' ' ).append(part);
@@ -660,13 +660,13 @@
}
369
}
- 370 288 return sb.toString().trim();
+ 370 133 return sb.toString().trim();
371
}
372
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Identifier.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Identifier.html
index 54c56d3c8..f36205b6f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Identifier.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Identifier.html
@@ -63,7 +63,7 @@
23
- 24 408 public class Identifier implements Comparable<Identifier> {
+ 24 149 public class Identifier implements Comparable<Identifier> {
25
26
@@ -80,11 +80,11 @@
32
- 33 578 public Identifier(String type, String value, String url) {
- 34 578 this .type = type;
- 35 578 this .value = value;
- 36 578 this .url = url;
- 37 578 }
+ 33 252 public Identifier(String type, String value, String url) {
+ 34 252 this .type = type;
+ 35 252 this .value = value;
+ 36 252 this .url = url;
+ 37 252 }
38
39
@@ -132,7 +132,7 @@
62
public Confidence getConfidence() {
- 63 32 return confidence;
+ 63 10 return confidence;
64
}
65
@@ -149,8 +149,8 @@
71
public void setConfidence(Confidence confidence) {
- 72 226 this .confidence = confidence;
- 73 226 }
+ 72 88 this .confidence = confidence;
+ 73 88 }
74
75
@@ -175,7 +175,7 @@
85
public String getValue() {
- 86 826 return value;
+ 86 390 return value;
87
}
88
@@ -216,7 +216,7 @@
107
public String getUrl() {
- 108 30 return url;
+ 108 9 return url;
109
}
110
@@ -257,7 +257,7 @@
129
public String getType() {
- 130 266 return type;
+ 130 97 return type;
131
}
132
@@ -302,7 +302,7 @@
153
public String getDescription() {
- 154 16 return description;
+ 154 5 return description;
155
}
156
@@ -353,10 +353,10 @@
@Override
185
public int hashCode() {
- 186 188 int hash = 5;
- 187 188 hash = 53 * hash + (this .value != null ? this .value.hashCode() : 0);
- 188 188 hash = 53 * hash + (this .type != null ? this .type.hashCode() : 0);
- 189 188 return hash;
+ 186 59 int hash = 5;
+ 187 59 hash = 53 * hash + (this .value != null ? this .value.hashCode() : 0);
+ 188 59 hash = 53 * hash + (this .type != null ? this .type.hashCode() : 0);
+ 189 59 return hash;
190
}
191
@@ -394,17 +394,17 @@
208
public int compareTo(Identifier o) {
- 209 694 if (o == null ) {
+ 209 232 if (o == null ) {
210 0 return -1;
211
}
- 212 694 return this .value.compareTo(o.value);
+ 212 232 return this .value.compareTo(o.value);
213
}
214
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Reference.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Reference.html
index 6cdce479b..ad3d531f0 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Reference.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Reference.html
@@ -69,7 +69,7 @@
26
- 27 3486 public class Reference implements Serializable, Comparable<Reference> {
+ 27 1743 public class Reference implements Serializable, Comparable<Reference> {
28
29
@@ -102,7 +102,7 @@
43
public String getName() {
- 44 448 return name;
+ 44 224 return name;
45
}
46
@@ -119,8 +119,8 @@
52
public void setName(String name) {
- 53 1040 this .name = name;
- 54 1040 }
+ 53 520 this .name = name;
+ 54 520 }
55
56
@@ -143,7 +143,7 @@
65
public String getUrl() {
- 66 448 return url;
+ 66 224 return url;
67
}
68
@@ -160,8 +160,8 @@
74
public void setUrl(String url) {
- 75 1040 this .url = url;
- 76 1040 }
+ 75 520 this .url = url;
+ 76 520 }
77
78
@@ -184,7 +184,7 @@
87
public String getSource() {
- 88 448 return source;
+ 88 224 return source;
89
}
90
@@ -201,8 +201,8 @@
96
public void setSource(String source) {
- 97 1040 this .source = source;
- 98 1040 }
+ 97 520 this .source = source;
+ 98 520 }
99
100
@@ -262,10 +262,10 @@
136
public int compareTo(Reference o) {
- 137 2446 if (source.equals(o.source)) {
- 138 530 if (name.equals(o.name)) {
- 139 174 if (url.equals(o.url)) {
- 140 174 return 0;
+ 137 1223 if (source.equals(o.source)) {
+ 138 265 if (name.equals(o.name)) {
+ 139 87 if (url.equals(o.url)) {
+ 140 87 return 0;
141
} else {
142 0 return url.compareTo(o.url);
@@ -273,12 +273,12 @@
}
144
} else {
- 145 356 return name.compareTo(o.name);
+ 145 178 return name.compareTo(o.name);
146
}
147
} else {
- 148 1916 return source.compareTo(o.source);
+ 148 958 return source.compareTo(o.source);
149
}
150
@@ -287,6 +287,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Vulnerability.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Vulnerability.html
index acdc512fb..a42789b90 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Vulnerability.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Vulnerability.html
@@ -75,7 +75,7 @@
29
- 30 178 public class Vulnerability implements Serializable, Comparable<Vulnerability> {
+ 30 89 public class Vulnerability implements Serializable, Comparable<Vulnerability> {
31
32
@@ -108,7 +108,7 @@
46
public String getName() {
- 47 524 return name;
+ 47 262 return name;
48
}
49
@@ -125,8 +125,8 @@
55
public void setName(String name) {
- 56 178 this .name = name;
- 57 178 }
+ 56 89 this .name = name;
+ 57 89 }
58
59
@@ -149,7 +149,7 @@
68
public String getDescription() {
- 69 62 return description;
+ 69 31 return description;
70
}
71
@@ -166,15 +166,15 @@
77
public void setDescription(String description) {
- 78 176 this .description = description;
- 79 176 }
+ 78 88 this .description = description;
+ 79 88 }
80
81
82
- 83 178 private SortedSet<Reference> references = new TreeSet<Reference>();
+ 83 89 private SortedSet<Reference> references = new TreeSet<Reference>();
84
85
@@ -189,7 +189,7 @@
90
public Set<Reference> getReferences() {
- 91 62 return references;
+ 91 31 return references;
92
}
93
@@ -222,8 +222,8 @@
108
public void addReference(Reference ref) {
- 109 180 this .references.add(ref);
- 110 180 }
+ 109 90 this .references.add(ref);
+ 110 90 }
111
112
@@ -242,19 +242,19 @@
119
public void addReference(String referenceSource, String referenceName, String referenceUrl) {
- 120 860 final Reference ref = new Reference();
- 121 860 ref.setSource(referenceSource);
- 122 860 ref.setName(referenceName);
- 123 860 ref.setUrl(referenceUrl);
- 124 860 this .references.add(ref);
- 125 860 }
+ 120 430 final Reference ref = new Reference();
+ 121 430 ref.setSource(referenceSource);
+ 122 430 ref.setName(referenceName);
+ 123 430 ref.setUrl(referenceUrl);
+ 124 430 this .references.add(ref);
+ 125 430 }
126
127
128
- 129 178 private SortedSet<VulnerableSoftware> vulnerableSoftware = new TreeSet<VulnerableSoftware>();
+ 129 89 private SortedSet<VulnerableSoftware> vulnerableSoftware = new TreeSet<VulnerableSoftware>();
130
131
@@ -269,7 +269,7 @@
136
public Set<VulnerableSoftware> getVulnerableSoftware() {
- 137 62 return vulnerableSoftware;
+ 137 31 return vulnerableSoftware;
138
}
139
@@ -304,7 +304,7 @@
155
public boolean addVulnerableSoftware(String cpe) {
- 156 6552 return addVulnerableSoftware(cpe, null );
+ 156 3276 return addVulnerableSoftware(cpe, null );
157
}
158
@@ -325,13 +325,13 @@
166
public boolean addVulnerableSoftware(String cpe, String previousVersion) {
- 167 6636 final VulnerableSoftware vs = new VulnerableSoftware();
- 168 6636 vs.setCpe(cpe);
- 169 6636 if (previousVersion != null ) {
- 170 84 vs.setPreviousVersion(previousVersion);
+ 167 3318 final VulnerableSoftware vs = new VulnerableSoftware();
+ 168 3318 vs.setCpe(cpe);
+ 169 3318 if (previousVersion != null ) {
+ 170 42 vs.setPreviousVersion(previousVersion);
171
}
- 172 6636 return updateVulnerableSoftware(vs);
+ 172 3318 return updateVulnerableSoftware(vs);
173
}
174
@@ -350,11 +350,11 @@
181
public boolean updateVulnerableSoftware(VulnerableSoftware vulnSoftware) {
- 182 6636 if (vulnerableSoftware.contains(vulnSoftware)) {
+ 182 3318 if (vulnerableSoftware.contains(vulnSoftware)) {
183 0 vulnerableSoftware.remove(vulnSoftware);
184
}
- 185 6636 return vulnerableSoftware.add(vulnSoftware);
+ 185 3318 return vulnerableSoftware.add(vulnSoftware);
186
}
187
@@ -379,7 +379,7 @@
197
public String getCwe() {
- 198 124 return cwe;
+ 198 62 return cwe;
199
}
200
@@ -396,8 +396,8 @@
206
public void setCwe(String cwe) {
- 207 162 this .cwe = cwe;
- 208 162 }
+ 207 81 this .cwe = cwe;
+ 208 81 }
209
210
@@ -420,7 +420,7 @@
219
public float getCvssScore() {
- 220 190 return cvssScore;
+ 220 95 return cvssScore;
221
}
222
@@ -437,8 +437,8 @@
228
public void setCvssScore(float cvssScore) {
- 229 176 this .cvssScore = cvssScore;
- 230 176 }
+ 229 88 this .cvssScore = cvssScore;
+ 230 88 }
231
232
@@ -478,8 +478,8 @@
250
public void setCvssAccessVector(String cvssAccessVector) {
- 251 174 this .cvssAccessVector = cvssAccessVector;
- 252 174 }
+ 251 87 this .cvssAccessVector = cvssAccessVector;
+ 252 87 }
253
254
@@ -519,8 +519,8 @@
272
public void setCvssAccessComplexity(String cvssAccessComplexity) {
- 273 174 this .cvssAccessComplexity = cvssAccessComplexity;
- 274 174 }
+ 273 87 this .cvssAccessComplexity = cvssAccessComplexity;
+ 274 87 }
275
276
@@ -560,8 +560,8 @@
294
public void setCvssAuthentication(String cvssAuthentication) {
- 295 174 this .cvssAuthentication = cvssAuthentication;
- 296 174 }
+ 295 87 this .cvssAuthentication = cvssAuthentication;
+ 296 87 }
297
298
@@ -601,8 +601,8 @@
316
public void setCvssConfidentialityImpact(String cvssConfidentialityImpact) {
- 317 174 this .cvssConfidentialityImpact = cvssConfidentialityImpact;
- 318 174 }
+ 317 87 this .cvssConfidentialityImpact = cvssConfidentialityImpact;
+ 318 87 }
319
320
@@ -642,8 +642,8 @@
338
public void setCvssIntegrityImpact(String cvssIntegrityImpact) {
- 339 174 this .cvssIntegrityImpact = cvssIntegrityImpact;
- 340 174 }
+ 339 87 this .cvssIntegrityImpact = cvssIntegrityImpact;
+ 340 87 }
341
342
@@ -683,8 +683,8 @@
360
public void setCvssAvailabilityImpact(String cvssAvailabilityImpact) {
- 361 174 this .cvssAvailabilityImpact = cvssAvailabilityImpact;
- 362 174 }
+ 361 87 this .cvssAvailabilityImpact = cvssAvailabilityImpact;
+ 362 87 }
363
364
@@ -713,9 +713,9 @@
@Override
380
public int hashCode() {
- 381 82 int hash = 5;
- 382 82 hash = 41 * hash + (this .name != null ? this .name.hashCode() : 0);
- 383 82 return hash;
+ 381 41 int hash = 5;
+ 382 41 hash = 41 * hash + (this .name != null ? this .name.hashCode() : 0);
+ 383 41 return hash;
384
}
385
@@ -775,9 +775,9 @@
413
public void setMatchedCPE(String cpeId, String previous) {
- 414 122 matchedCPE = cpeId;
- 415 122 matchedAllPreviousCPE = previous;
- 416 122 }
+ 414 61 matchedCPE = cpeId;
+ 415 61 matchedAllPreviousCPE = previous;
+ 416 61 }
417
418
@@ -833,6 +833,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerabilityComparator.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerabilityComparator.html
index 12e35c2c3..49390f81a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerabilityComparator.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerabilityComparator.html
@@ -71,7 +71,7 @@
27
- 28 360 public class VulnerabilityComparator implements Comparator<Vulnerability>, Serializable {
+ 28 183 public class VulnerabilityComparator implements Comparator<Vulnerability>, Serializable {
29
30
@@ -100,13 +100,13 @@
42
public int compare(Vulnerability o1, Vulnerability o2) {
- 43 228 return o2.getName().compareTo(o1.getName());
+ 43 114 return o2.getName().compareTo(o1.getName());
44
}
45
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html
index 26538275b..5d0d5f0a8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html
@@ -12,7 +12,7 @@
@@ -79,7 +79,7 @@
31
- 32 124622 public class VulnerableSoftware extends IndexEntry implements Serializable, Comparable<VulnerableSoftware> {
+ 32 62313 public class VulnerableSoftware extends IndexEntry implements Serializable, Comparable<VulnerableSoftware> {
33
34
@@ -106,14 +106,14 @@
public void setCpe(String cpe) {
45
try {
- 46 15428 parseName(cpe);
+ 46 7716 parseName(cpe);
47 0 } catch (UnsupportedEncodingException ex) {
48 0 final String msg = String.format("Character encoding is unsupported for CPE '%s'." , cpe);
49 0 Logger.getLogger(VulnerableSoftware.class .getName()).log(Level.WARNING, msg);
50 0 Logger.getLogger(VulnerableSoftware.class .getName()).log(Level.FINE, null , ex);
51 0 setName(cpe);
- 52 15428 }
- 53 15428 }
+ 52 7716 }
+ 53 7716 }
54
55
@@ -150,32 +150,32 @@
@Override
71
public void parseName(String cpeName) throws UnsupportedEncodingException {
- 72 22580 this .name = cpeName;
- 73 22580 if (cpeName != null && cpeName.length() > 7) {
- 74 22580 final String[] data = cpeName.substring(7).split(":" );
- 75 22580 if (data.length >= 1) {
- 76 22580 this .setVendor(URLDecoder.decode(data[0].replace("+" , "%2B" ), "UTF-8" ));
+ 72 11292 this .name = cpeName;
+ 73 11292 if (cpeName != null && cpeName.length() > 7) {
+ 74 11292 final String[] data = cpeName.substring(7).split(":" );
+ 75 11292 if (data.length >= 1) {
+ 76 11292 this .setVendor(URLDecoder.decode(data[0].replace("+" , "%2B" ), "UTF-8" ));
77
}
- 78 22580 if (data.length >= 2) {
- 79 22580 this .setProduct(URLDecoder.decode(data[1].replace("+" , "%2B" ), "UTF-8" ));
+ 78 11292 if (data.length >= 2) {
+ 79 11292 this .setProduct(URLDecoder.decode(data[1].replace("+" , "%2B" ), "UTF-8" ));
80
}
- 81 22580 if (data.length >= 3) {
- 82 22524 version = URLDecoder.decode(data[2].replace("+" , "%2B" ), "UTF-8" );
+ 81 11292 if (data.length >= 3) {
+ 82 11264 version = URLDecoder.decode(data[2].replace("+" , "%2B" ), "UTF-8" );
83
}
- 84 22580 if (data.length >= 4) {
- 85 4636 revision = URLDecoder.decode(data[3].replace("+" , "%2B" ), "UTF-8" );
+ 84 11292 if (data.length >= 4) {
+ 85 2318 revision = URLDecoder.decode(data[3].replace("+" , "%2B" ), "UTF-8" );
86
}
- 87 22580 if (data.length >= 5) {
- 88 2 edition = URLDecoder.decode(data[4].replace("+" , "%2B" ), "UTF-8" );
+ 87 11292 if (data.length >= 5) {
+ 88 1 edition = URLDecoder.decode(data[4].replace("+" , "%2B" ), "UTF-8" );
89
}
90
}
- 91 22580 }
+ 91 11292 }
92
93
@@ -198,7 +198,7 @@
102
public boolean hasPreviousVersion() {
- 103 3970 return previousVersion != null ;
+ 103 1985 return previousVersion != null ;
104
}
105
@@ -232,8 +232,8 @@
120
public void setPreviousVersion(String previousVersion) {
- 121 86 this .previousVersion = previousVersion;
- 122 86 }
+ 121 43 this .previousVersion = previousVersion;
+ 122 43 }
123
124
@@ -252,17 +252,17 @@
@Override
131
public boolean equals(Object obj) {
- 132 2 if (obj == null ) {
+ 132 1 if (obj == null ) {
133 0 return false ;
134
}
- 135 2 if (getClass() != obj.getClass()) {
+ 135 1 if (getClass() != obj.getClass()) {
136 0 return false ;
137
}
- 138 2 final VulnerableSoftware other = (VulnerableSoftware) obj;
- 139 2 if ((this .getName() == null ) ? (other.getName() != null ) : !this .getName().equals(other.getName())) {
- 140 2 return false ;
+ 138 1 final VulnerableSoftware other = (VulnerableSoftware) obj;
+ 139 1 if ((this .getName() == null ) ? (other.getName() != null ) : !this .getName().equals(other.getName())) {
+ 140 1 return false ;
141
}
142 0 return true ;
@@ -284,9 +284,9 @@
@Override
151
public int hashCode() {
- 152 9032 int hash = 7;
- 153 9032 hash = 83 * hash + (this .getName() != null ? this .getName().hashCode() : 0);
- 154 9032 return hash;
+ 152 4516 int hash = 7;
+ 153 4516 hash = 83 * hash + (this .getName() != null ? this .getName().hashCode() : 0);
+ 154 4516 return hash;
155
}
156
@@ -326,272 +326,290 @@
@Override
174
public int compareTo(VulnerableSoftware vs) {
- 175 102044 int result = 0;
- 176 102044 final String[] left = this .getName().split(":" );
- 177 102044 final String[] right = vs.getName().split(":" );
- 178 102044 final int max = (left.length <= right.length) ? left.length : right.length;
- 179 102044 if (max > 0) {
- 180 616698 for (int i = 0; result == 0 && i < max; i++) {
- 181 514654 final String[] subLeft = left[i].split("\\." );
- 182 514654 final String[] subRight = right[i].split("\\." );
- 183 514654 final int subMax = (subLeft.length <= subRight.length) ? subLeft.length : subRight.length;
- 184 514654 if (subMax > 0) {
- 185 1156828 for (int x = 0; result == 0 && x < subMax; x++) {
- 186 642174 if (isPositiveInteger(subLeft[x]) && isPositiveInteger(subRight[x])) {
- 187 223662 final int iLeft = Integer.parseInt(subLeft[x]);
- 188 223662 final int iRight = Integer.parseInt(subRight[x]);
- 189 223662 if (iLeft != iRight) {
- 190 87032 if (iLeft > iRight) {
- 191 80112 result = 2;
+ 175 51023 int result = 0;
+ 176 51023 final String[] left = this .getName().split(":" );
+ 177 51023 final String[] right = vs.getName().split(":" );
+ 178 51023 final int max = (left.length <= right.length) ? left.length : right.length;
+ 179 51023 if (max > 0) {
+ 180 308355 for (int i = 0; result == 0 && i < max; i++) {
+ 181 257332 final String[] subLeft = left[i].split("\\." );
+ 182 257332 final String[] subRight = right[i].split("\\." );
+ 183 257332 final int subMax = (subLeft.length <= subRight.length) ? subLeft.length : subRight.length;
+ 184 257332 if (subMax > 0) {
+ 185 578427 for (int x = 0; result == 0 && x < subMax; x++) {
+ 186 321095 if (isPositiveInteger(subLeft[x]) && isPositiveInteger(subRight[x])) {
+ 187
+ try {
+ 188 111835 result = Long.valueOf(subLeft[x]).compareTo(Long.valueOf(subRight[x]));
+ 189
+
+ 190
+
+ 191
+
192
- } else {
- 193 6920 result = -2;
+
+ 193
+
194
- }
+
195
- }
- 196 223662 } else {
- 197 418512 result = subLeft[x].compareToIgnoreCase(subRight[x]);
- 198
- }
+
+ 196
+
+ 197
+
+ 198 0 } catch (NumberFormatException ex) {
199
- }
- 200 514654 if (result == 0) {
- 201 416914 if (subLeft.length > subRight.length) {
- 202 2956 result = 2;
- 203
- }
- 204 416914 if (subRight.length > subLeft.length) {
- 205 14 result = -2;
+
+ 200 0 if (!subLeft[x].equalsIgnoreCase(subRight[x])) {
+ 201 0 result = subLeft[x].compareToIgnoreCase(subRight[x]);
+ 202
+ }
+ 203 111835 }
+ 204
+ } else {
+ 205 209260 result = subLeft[x].compareToIgnoreCase(subRight[x]);
206
}
207
}
- 208
- } else {
- 209 0 result = left[i].compareToIgnoreCase(right[i]);
- 210
- }
+ 208 257332 if (result == 0) {
+ 209 208461 if (subLeft.length > subRight.length) {
+ 210 1478 result = 2;
211
- }
- 212 102044 if (result == 0) {
- 213 1334 if (left.length > right.length) {
- 214 1156 result = 2;
+ }
+ 212 208461 if (subRight.length > subLeft.length) {
+ 213 7 result = -2;
+ 214
+ }
215
- }
- 216 1334 if (right.length > left.length) {
- 217 20 result = -2;
+ }
+ 216
+ } else {
+ 217 0 result = left[i].compareToIgnoreCase(right[i]);
218
}
219
}
- 220
- } else {
- 221 0 result = this .getName().compareToIgnoreCase(vs.getName());
- 222
- }
- 223 102044 return result;
- 224
- }
- 225
-
+ 220 51023 if (result == 0) {
+ 221 667 if (left.length > right.length) {
+ 222 578 result = 2;
+ 223
+ }
+ 224 667 if (right.length > left.length) {
+ 225 10 result = -2;
226
-
+ }
227
-
- 228
-
- 229
-
- 230
-
- 231
-
- 232
- private static boolean isPositiveInteger(final String str) {
- 233 866024 if (str == null || str.isEmpty()) {
- 234 28 return false ;
- 235
- }
- 236 1348688 for (int i = 0; i < str.length(); i++) {
- 237 901176 final char c = str.charAt(i);
- 238 901176 if (c < '0' || c > '9' ) {
- 239 418484 return false ;
- 240
}
- 241
+ 228
+ } else {
+ 229 0 result = this .getName().compareToIgnoreCase(vs.getName());
+ 230
}
- 242 447512 return true ;
+ 231 51023 return result;
+ 232
+ }
+ 233
+
+ 234
+
+ 235
+
+ 236
+
+ 237
+
+ 238
+
+ 239
+
+ 240
+ private static boolean isPositiveInteger(final String str) {
+ 241 433024 if (str == null || str.isEmpty()) {
+ 242 14 return false ;
243
- }
- 244
-
- 245
-
- 246
-
- 247
- private String name;
+ }
+ 244 674390 for (int i = 0; i < str.length(); i++) {
+ 245 450626 final char c = str.charAt(i);
+ 246 450626 if (c < '0' || c > '9' ) {
+ 247 209246 return false ;
248
-
+ }
249
-
- 250
-
+ }
+ 250 223764 return true ;
251
-
- 252
-
- 253
-
- 254
- public String getName() {
- 255 226932 return name;
- 256
}
- 257
-
- 258
+ 252
- 259
-
- 260
-
- 261
-
- 262
+ 253
+
+ 254
- 263
- public void setName(String name) {
- 264 0 this .name = name;
- 265 0 }
+ 255
+ private String name;
+ 256
+
+ 257
+
+ 258
+
+ 259
+
+ 260
+
+ 261
+
+ 262
+ public String getName() {
+ 263 113404 return name;
+ 264
+ }
+ 265
+
266
267
-
+
268
-
+
269
- private String version;
+
270
-
+
271
-
- 272
-
- 273
-
+ public void setName(String name) {
+ 272 0 this .name = name;
+ 273 0 }
274
-
- 275
-
- 276
- public String getVersion() {
- 277 43956 return version;
- 278
- }
- 279
-
- 280
- 281
-
- 282
-
- 283
-
- 284
+ 275
+
+ 276
- 285
- public void setVersion(String version) {
- 286 0 this .version = version;
- 287 0 }
+ 277
+ private String version;
+ 278
+
+ 279
+
+ 280
+
+ 281
+
+ 282
+
+ 283
+
+ 284
+ public String getVersion() {
+ 285 19734 return version;
+ 286
+ }
+ 287
+
288
289
-
+
290
-
+
291
- private String revision;
+
292
-
+
293
-
- 294
-
- 295
-
+ public void setVersion(String version) {
+ 294 0 this .version = version;
+ 295 0 }
296
-
- 297
-
- 298
- public String getRevision() {
- 299 45680 return revision;
- 300
- }
- 301
-
- 302
- 303
-
- 304
-
- 305
-
- 306
+ 297
+
+ 298
- 307
- public void setRevision(String revision) {
- 308 0 this .revision = revision;
- 309 0 }
+ 299
+ private String revision;
+ 300
+
+ 301
+
+ 302
+
+ 303
+
+ 304
+
+ 305
+
+ 306
+ public String getRevision() {
+ 307 19236 return revision;
+ 308
+ }
+ 309
+
310
311
-
+
312
-
+
313
- private String edition;
+
314
-
+
315
-
- 316
-
- 317
-
+ public void setRevision(String revision) {
+ 316 0 this .revision = revision;
+ 317 0 }
318
-
- 319
-
- 320
- public String getEdition() {
- 321 0 return edition;
- 322
- }
- 323
-
- 324
- 325
-
- 326
-
- 327
-
- 328
+ 319
+
+ 320
- 329
- public void setEdition(String edition) {
- 330 0 this .edition = edition;
- 331 0 }
+ 321
+ private String edition;
+ 322
+
+ 323
+
+ 324
+
+ 325
+
+ 326
+
+ 327
+
+ 328
+ public String getEdition() {
+ 329 0 return edition;
+ 330
+ }
+ 331
+
332
+
+ 333
+
+ 334
+
+ 335
+
+ 336
+
+ 337
+ public void setEdition(String edition) {
+ 338 0 this .edition = edition;
+ 339 0 }
+ 340
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.NoDataException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.NoDataException.html
index bfe8b6982..e22f637c3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.NoDataException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.NoDataException.html
@@ -147,6 +147,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter.html
index 5eead6e18..57193e24d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter.html
@@ -77,7 +77,7 @@
30
- 31 14 public class MavenNamespaceFilter extends XMLFilterImpl {
+ 31 7 public class MavenNamespaceFilter extends XMLFilterImpl {
32
33
@@ -94,7 +94,7 @@
39
- 40 14 private boolean namespaceAdded = false ;
+ 40 7 private boolean namespaceAdded = false ;
41
42
@@ -196,6 +196,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Activation.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Activation.html
index a96a68e3b..5a9dbc7ef 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Activation.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Activation.html
@@ -117,7 +117,7 @@
})
50
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 51 6 public class Activation {
+ 51 3 public class Activation {
52
53
@@ -393,6 +393,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile.html
index 8b6ac2b4d..5bdcfed64 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile.html
@@ -226,6 +226,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS.html
index 79330a7c1..9209772bf 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS.html
@@ -334,6 +334,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty.html
index 9322a7919..1d08fb7c9 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty.html
@@ -111,7 +111,7 @@
})
47
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 48 6 public class ActivationProperty {
+ 48 3 public class ActivationProperty {
49
50
@@ -226,6 +226,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Build.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Build.html
index ba62685e6..30ca4a389 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Build.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Build.html
@@ -236,7 +236,7 @@
})
107
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 108 14 public class Build {
+ 108 7 public class Build {
109
110
@@ -1153,7 +1153,7 @@
})
589
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 590 2 public static class Filters {
+ 590 1 public static class Filters {
591
592
@@ -1273,7 +1273,7 @@
})
651
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 652 14 public static class Plugins {
+ 652 7 public static class Plugins {
653
654
@@ -1393,7 +1393,7 @@
})
713
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 714 6 public static class Resources {
+ 714 3 public static class Resources {
715
716
@@ -1503,7 +1503,7 @@
770
- 771 14 @XmlAccessorType(XmlAccessType.FIELD)
+ 771 7 @XmlAccessorType(XmlAccessType.FIELD)
772
@XmlType(name = "" , propOrder = {
773
@@ -1512,7 +1512,7 @@
})
775
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 776 2 public static class TestResources {
+ 776 1 public static class TestResources {
777
778
@@ -1586,6 +1586,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.html
index 626e21cc3..8cda2bb90 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.html
@@ -203,7 +203,7 @@
})
91
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 92 14 public class BuildBase {
+ 92 7 public class BuildBase {
93
94
@@ -802,7 +802,7 @@
})
405
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 406 14 public static class Plugins {
+ 406 7 public static class Plugins {
407
408
@@ -1032,7 +1032,7 @@
524
- 525 14 @XmlAccessorType(XmlAccessType.FIELD)
+ 525 7 @XmlAccessorType(XmlAccessType.FIELD)
526
@XmlType(name = "" , propOrder = {
527
@@ -1115,6 +1115,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.html
index 7bb86e8fd..4d9d7db3f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.html
@@ -417,6 +417,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Contributor.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Contributor.html
index 3671e2894..b0e48e7e3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Contributor.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Contributor.html
@@ -173,7 +173,7 @@
})
77
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 78 2 public class Contributor {
+ 78 1 public class Contributor {
79
80
@@ -764,7 +764,7 @@
387
- 388 2 @XmlAccessorType(XmlAccessType.FIELD)
+ 388 1 @XmlAccessorType(XmlAccessType.FIELD)
389
@XmlType(name = "" , propOrder = {
390
@@ -847,6 +847,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Dependency.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Dependency.html
index 96de792d1..7c48960ad 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Dependency.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Dependency.html
@@ -144,7 +144,7 @@
})
63
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 64 182 public class Dependency {
+ 64 91 public class Dependency {
65
66
@@ -670,7 +670,7 @@
340
- 341 182 @XmlAccessorType(XmlAccessType.FIELD)
+ 341 91 @XmlAccessorType(XmlAccessType.FIELD)
342
@XmlType(name = "" , propOrder = {
343
@@ -679,7 +679,7 @@
})
345
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 346 8 public static class Exclusions {
+ 346 4 public static class Exclusions {
347
348
@@ -753,6 +753,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.html
index baa1a0150..4036cb176 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.html
@@ -311,6 +311,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository.html
index ec0431c0f..2e856d537 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository.html
@@ -115,7 +115,7 @@
})
49
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 50 4 public class DeploymentRepository {
+ 50 2 public class DeploymentRepository {
51
52
@@ -393,6 +393,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Developer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Developer.html
index e61f40ac3..0df588d0b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Developer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Developer.html
@@ -171,7 +171,7 @@
})
76
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 77 28 public class Developer {
+ 77 14 public class Developer {
78
79
@@ -815,7 +815,7 @@
414
- 415 28 @XmlAccessorType(XmlAccessType.FIELD)
+ 415 14 @XmlAccessorType(XmlAccessType.FIELD)
416
@XmlType(name = "" , propOrder = {
417
@@ -898,6 +898,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement.html
index 0eddd7898..35b8dacb3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement.html
@@ -119,7 +119,7 @@
})
51
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 52 6 public class DistributionManagement {
+ 52 3 public class DistributionManagement {
53
54
@@ -446,6 +446,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Exclusion.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Exclusion.html
index 1a8c448a7..beac8f222 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Exclusion.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Exclusion.html
@@ -103,7 +103,7 @@
})
43
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 44 10 public class Exclusion {
+ 44 5 public class Exclusion {
45
46
@@ -218,6 +218,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Extension.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Extension.html
index 8db0e3802..387a456fe 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Extension.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Extension.html
@@ -273,6 +273,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement.html
index 6194ac134..30bdb2de4 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement.html
@@ -107,7 +107,7 @@
})
45
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 46 4 public class IssueManagement {
+ 46 2 public class IssueManagement {
47
48
@@ -222,6 +222,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.License.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.License.html
index b65da0ac3..dfe831e58 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.License.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.License.html
@@ -115,7 +115,7 @@
})
49
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 50 2 public class License {
+ 50 1 public class License {
51
52
@@ -156,7 +156,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
70
public String getName() {
- 71 4 return name;
+ 71 2 return name;
72
}
73
@@ -205,7 +205,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
96
public String getUrl() {
- 97 4 return url;
+ 97 2 return url;
98
}
99
@@ -336,6 +336,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.MailingList.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.MailingList.html
index 7de21bac0..6294061c8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.MailingList.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.MailingList.html
@@ -588,6 +588,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Model.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Model.html
index dff221c11..5d5141e07 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Model.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Model.html
@@ -406,7 +406,7 @@
})
189
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 190 14 public class Model {
+ 190 7 public class Model {
191
192
@@ -651,7 +651,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
315
public String getGroupId() {
- 316 14 return groupId;
+ 316 7 return groupId;
317
}
318
@@ -700,7 +700,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
341
public String getArtifactId() {
- 342 14 return artifactId;
+ 342 7 return artifactId;
343
}
344
@@ -798,7 +798,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
393
public String getName() {
- 394 14 return name;
+ 394 7 return name;
395
}
396
@@ -847,7 +847,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
419
public String getVersion() {
- 420 14 return version;
+ 420 7 return version;
421
}
422
@@ -896,7 +896,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
445
public String getDescription() {
- 446 20 return description;
+ 446 10 return description;
447
}
448
@@ -1337,7 +1337,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
679
public Model.Licenses getLicenses() {
- 680 16 return licenses;
+ 680 8 return licenses;
681
}
682
@@ -1435,7 +1435,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
731
public Organization getOrganization() {
- 732 14 return organization;
+ 732 7 return organization;
733
}
734
@@ -2053,7 +2053,7 @@
})
1058
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1059 2 public static class Contributors {
+ 1059 1 public static class Contributors {
1060
1061
@@ -2173,7 +2173,7 @@
})
1120
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1121 14 public static class Dependencies {
+ 1121 7 public static class Dependencies {
1122
1123
@@ -2293,7 +2293,7 @@
})
1182
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1183 2 public static class Developers {
+ 1183 1 public static class Developers {
1184
1185
@@ -2413,7 +2413,7 @@
})
1244
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1245 2 public static class Licenses {
+ 1245 1 public static class Licenses {
1246
1247
@@ -2470,11 +2470,11 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
1273
public List<License> getLicense() {
- 1274 2 if (license == null ) {
+ 1274 1 if (license == null ) {
1275 0 license = new ArrayList<License>();
1276
}
- 1277 2 return this .license;
+ 1277 1 return this .license;
1278
}
1279
@@ -2773,7 +2773,7 @@
})
1430
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1431 2 public static class PluginRepositories {
+ 1431 1 public static class PluginRepositories {
1432
1433
@@ -2893,7 +2893,7 @@
})
1492
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1493 12 public static class Profiles {
+ 1493 6 public static class Profiles {
1494
1495
@@ -3013,7 +3013,7 @@
})
1554
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1555 6 public static class Properties {
+ 1555 3 public static class Properties {
1556
1557
@@ -3247,7 +3247,7 @@
1675
- 1676 14 @XmlAccessorType(XmlAccessType.FIELD)
+ 1676 7 @XmlAccessorType(XmlAccessType.FIELD)
1677
@XmlType(name = "" , propOrder = {
1678
@@ -3256,7 +3256,7 @@
})
1680
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1681 2 public static class Repositories {
+ 1681 1 public static class Repositories {
1682
1683
@@ -3330,6 +3330,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Notifier.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Notifier.html
index 695736dd7..480040f4f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Notifier.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Notifier.html
@@ -659,6 +659,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory.html
index c21d1ed85..f853d2658 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory.html
@@ -1394,6 +1394,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Organization.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Organization.html
index 792edae32..b849c7116 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Organization.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Organization.html
@@ -218,6 +218,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Parent.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Parent.html
index a6869614b..4849ccc1c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Parent.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Parent.html
@@ -109,7 +109,7 @@
})
46
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 47 14 public class Parent {
+ 47 7 public class Parent {
48
49
@@ -332,6 +332,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Plugin.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Plugin.html
index 37bafe2c2..0df21ae34 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Plugin.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Plugin.html
@@ -211,7 +211,7 @@
})
95
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 96 74 public class Plugin {
+ 96 37 public class Plugin {
97
98
@@ -747,7 +747,7 @@
})
377
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 378 46 public static class Configuration {
+ 378 23 public static class Configuration {
379
380
@@ -989,7 +989,7 @@
})
502
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 503 50 public static class Executions {
+ 503 25 public static class Executions {
504
505
@@ -1099,7 +1099,7 @@
559
- 560 74 @XmlAccessorType(XmlAccessType.FIELD)
+ 560 37 @XmlAccessorType(XmlAccessType.FIELD)
561
@XmlType(name = "" , propOrder = {
562
@@ -1184,6 +1184,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.html
index 05d5e35fa..c7e70a6c4 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.html
@@ -161,7 +161,7 @@
})
71
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 72 54 public class PluginExecution {
+ 72 27 public class PluginExecution {
73
74
@@ -483,7 +483,7 @@
})
240
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 241 22 public static class Configuration {
+ 241 11 public static class Configuration {
242
243
@@ -595,7 +595,7 @@
298
- 299 54 @XmlAccessorType(XmlAccessType.FIELD)
+ 299 27 @XmlAccessorType(XmlAccessType.FIELD)
300
@XmlType(name = "" , propOrder = {
301
@@ -604,7 +604,7 @@
})
303
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 304 54 public static class Goals {
+ 304 27 public static class Goals {
305
306
@@ -678,6 +678,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.html
index ceaa1f6b9..2c711c50c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.html
@@ -311,6 +311,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites.html
index e0e99ba0b..4159451b8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites.html
@@ -167,6 +167,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Profile.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Profile.html
index eea861127..5782cfee3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Profile.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Profile.html
@@ -261,7 +261,7 @@
})
119
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 120 22 public class Profile {
+ 120 11 public class Profile {
121
122
@@ -952,7 +952,7 @@
})
483
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 484 6 public static class Dependencies {
+ 484 3 public static class Dependencies {
485
486
@@ -1546,7 +1546,7 @@
790
- 791 22 @XmlAccessorType(XmlAccessType.FIELD)
+ 791 11 @XmlAccessorType(XmlAccessType.FIELD)
792
@XmlType(name = "" , propOrder = {
793
@@ -1629,6 +1629,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Relocation.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Relocation.html
index 66759d7b5..7f6ae6c77 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Relocation.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Relocation.html
@@ -330,6 +330,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.html
index 18df96516..2466026fa 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.html
@@ -163,7 +163,7 @@
})
72
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 73 28 public class ReportPlugin {
+ 73 14 public class ReportPlugin {
74
75
@@ -538,7 +538,7 @@
})
269
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 270 24 public static class Configuration {
+ 270 12 public static class Configuration {
271
272
@@ -650,7 +650,7 @@
327
- 328 28 @XmlAccessorType(XmlAccessType.FIELD)
+ 328 14 @XmlAccessorType(XmlAccessType.FIELD)
329
@XmlType(name = "" , propOrder = {
330
@@ -659,7 +659,7 @@
})
332
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 333 6 public static class ReportSets {
+ 333 3 public static class ReportSets {
334
335
@@ -733,6 +733,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.html
index 253f18a49..e8ba50c76 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.html
@@ -159,7 +159,7 @@
})
70
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 71 6 public class ReportSet {
+ 71 3 public class ReportSet {
72
73
@@ -540,7 +540,7 @@
269
- 270 6 @XmlAccessorType(XmlAccessType.FIELD)
+ 270 3 @XmlAccessorType(XmlAccessType.FIELD)
271
@XmlType(name = "" , propOrder = {
272
@@ -549,7 +549,7 @@
})
274
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 275 6 public static class Reports {
+ 275 3 public static class Reports {
276
277
@@ -623,6 +623,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Reporting.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Reporting.html
index fce358a81..c2270c924 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Reporting.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Reporting.html
@@ -132,7 +132,7 @@
})
57
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 58 10 public class Reporting {
+ 58 5 public class Reporting {
59
60
@@ -338,7 +338,7 @@
165
- 166 10 @XmlAccessorType(XmlAccessType.FIELD)
+ 166 5 @XmlAccessorType(XmlAccessType.FIELD)
167
@XmlType(name = "" , propOrder = {
168
@@ -347,7 +347,7 @@
})
170
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 171 10 public static class Plugins {
+ 171 5 public static class Plugins {
172
173
@@ -421,6 +421,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Repository.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Repository.html
index 5d912114c..e809e733f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Repository.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Repository.html
@@ -117,7 +117,7 @@
})
50
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 51 6 public class Repository {
+ 51 3 public class Repository {
52
53
@@ -446,6 +446,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy.html
index 5b38835f1..0d2f9ed40 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy.html
@@ -107,7 +107,7 @@
})
45
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 46 12 public class RepositoryPolicy {
+ 46 6 public class RepositoryPolicy {
47
48
@@ -277,6 +277,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Resource.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Resource.html
index adce979be..0b62e88d9 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Resource.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Resource.html
@@ -163,7 +163,7 @@
})
72
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 73 18 public class Resource {
+ 73 9 public class Resource {
74
75
@@ -485,7 +485,7 @@
})
241
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 242 4 public static class Excludes {
+ 242 2 public static class Excludes {
243
244
@@ -595,7 +595,7 @@
298
- 299 18 @XmlAccessorType(XmlAccessType.FIELD)
+ 299 9 @XmlAccessorType(XmlAccessType.FIELD)
300
@XmlType(name = "" , propOrder = {
301
@@ -604,7 +604,7 @@
})
303
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 304 6 public static class Includes {
+ 304 3 public static class Includes {
305
306
@@ -678,6 +678,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Scm.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Scm.html
index e5b308714..06bf96c02 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Scm.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Scm.html
@@ -109,7 +109,7 @@
})
46
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 47 12 public class Scm {
+ 47 6 public class Scm {
48
49
@@ -332,6 +332,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Site.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Site.html
index 75abde458..c5add3333 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Site.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Site.html
@@ -109,7 +109,7 @@
})
46
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 47 6 public class Site {
+ 47 3 public class Site {
48
49
@@ -277,6 +277,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.package-info.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.package-info.html
index 4f518de41..47954d3d9 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.package-info.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.package-info.html
@@ -37,6 +37,6 @@
package org.owasp.dependencycheck.jaxb.pom.generated;
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html
index a0714c5bb..fea36b9b0 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html
@@ -191,20 +191,20 @@
89
- 90 2 public ReportGenerator(String applicationName, List<Dependency> dependencies, List<Analyzer> analyzers, DatabaseProperties properties) {
- 91 2 engine = createVelocityEngine();
- 92 2 context = createContext();
+ 90 1 public ReportGenerator(String applicationName, List<Dependency> dependencies, List<Analyzer> analyzers, DatabaseProperties properties) {
+ 91 1 engine = createVelocityEngine();
+ 92 1 context = createContext();
93
- 94 2 engine.init();
+ 94 1 engine.init();
95
- 96 2 context.put("applicationName" , applicationName);
- 97 2 context.put("dependencies" , dependencies);
- 98 2 context.put("analyzers" , analyzers);
- 99 2 context.put("properties" , properties);
- 100 2 context.put("version" , Settings.getString("application.version" , "Unknown" ));
- 101 2 }
+ 96 1 context.put("applicationName" , applicationName);
+ 97 1 context.put("dependencies" , dependencies);
+ 98 1 context.put("analyzers" , analyzers);
+ 99 1 context.put("properties" , properties);
+ 100 1 context.put("version" , Settings.getString("application.version" , "Unknown" ));
+ 101 1 }
102
103
@@ -219,11 +219,11 @@
108
private VelocityEngine createVelocityEngine() {
- 109 2 final VelocityEngine ve = new VelocityEngine();
- 110 2 ve.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, VelocityLoggerRedirect.class .getName());
- 111 2 ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath" );
- 112 2 ve.setProperty("classpath.resource.loader.class" , ClasspathResourceLoader.class .getName());
- 113 2 return ve;
+ 109 1 final VelocityEngine ve = new VelocityEngine();
+ 110 1 ve.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, VelocityLoggerRedirect.class .getName());
+ 111 1 ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath" );
+ 112 1 ve.setProperty("classpath.resource.loader.class" , ClasspathResourceLoader.class .getName());
+ 113 1 return ve;
114
}
115
@@ -244,13 +244,13 @@
justification = "No plan to fix this style issue" )
123
private Context createContext() {
- 124 2 final ToolManager manager = new ToolManager();
- 125 2 final Context c = manager.createContext();
- 126 2 final EasyFactoryConfiguration config = new EasyFactoryConfiguration();
- 127 2 config.addDefaultTools();
- 128 2 config.toolbox("application" ).tool("esc" , "org.apache.velocity.tools.generic.EscapeTool" ).tool("org.apache.velocity.tools.generic.DateTool" );
- 129 2 manager.configure(config);
- 130 2 return c;
+ 124 1 final ToolManager manager = new ToolManager();
+ 125 1 final Context c = manager.createContext();
+ 126 1 final EasyFactoryConfiguration config = new EasyFactoryConfiguration();
+ 127 1 config.addDefaultTools();
+ 128 1 config.toolbox("application" ).tool("esc" , "org.apache.velocity.tools.generic.EscapeTool" ).tool("org.apache.velocity.tools.generic.DateTool" );
+ 129 1 manager.configure(config);
+ 130 1 return c;
131
}
132
@@ -351,10 +351,10 @@
189
protected void generateReport(String templateName, String outFileName) throws IOException, Exception {
- 190 2 InputStream input = null ;
- 191 2 String templatePath = null ;
- 192 2 final File f = new File(templateName);
- 193 2 if (f.exists() && f.isFile()) {
+ 190 1 InputStream input = null ;
+ 191 1 String templatePath = null ;
+ 192 1 final File f = new File(templateName);
+ 193 1 if (f.exists() && f.isFile()) {
194
try {
195 0 templatePath = templateName;
@@ -366,25 +366,25 @@
201 0 }
202
} else {
- 203 2 templatePath = "templates/" + templateName + ".vsl" ;
- 204 2 input = this .getClass().getClassLoader().getResourceAsStream(templatePath);
+ 203 1 templatePath = "templates/" + templateName + ".vsl" ;
+ 204 1 input = this .getClass().getClassLoader().getResourceAsStream(templatePath);
205
}
- 206 2 if (input == null ) {
+ 206 1 if (input == null ) {
207 0 throw new IOException("Template file doesn't exist" );
208
}
209
- 210 2 final InputStreamReader reader = new InputStreamReader(input, "UTF-8" );
- 211 2 OutputStreamWriter writer = null ;
- 212 2 OutputStream outputStream = null ;
+ 210 1 final InputStreamReader reader = new InputStreamReader(input, "UTF-8" );
+ 211 1 OutputStreamWriter writer = null ;
+ 212 1 OutputStream outputStream = null ;
213
214
try {
- 215 2 final File outDir = new File(outFileName).getParentFile();
- 216 2 if (!outDir.exists()) {
+ 215 1 final File outDir = new File(outFileName).getParentFile();
+ 216 1 if (!outDir.exists()) {
217 0 final boolean created = outDir.mkdirs();
218 0 if (!created) {
219 0 throw new Exception("Unable to create directory '" + outDir.getAbsolutePath() + "'." );
@@ -394,47 +394,47 @@
}
222
- 223 2 outputStream = new FileOutputStream(outFileName);
- 224 2 writer = new OutputStreamWriter(outputStream, "UTF-8" );
+ 223 1 outputStream = new FileOutputStream(outFileName);
+ 224 1 writer = new OutputStreamWriter(outputStream, "UTF-8" );
225
- 226 2 if (!engine.evaluate(context, writer, templatePath, reader)) {
+ 226 1 if (!engine.evaluate(context, writer, templatePath, reader)) {
227 0 throw new Exception("Failed to convert the template into html." );
228
}
- 229 2 writer.flush();
+ 229 1 writer.flush();
230
} finally {
- 231 2 if (writer != null ) {
+ 231 1 if (writer != null ) {
232
try {
- 233 2 writer.close();
+ 233 1 writer.close();
234 0 } catch (IOException ex) {
235 0 Logger.getLogger(ReportGenerator.class .getName()).log(Level.FINEST, null , ex);
- 236 2 }
+ 236 1 }
237
}
- 238 2 if (outputStream != null ) {
+ 238 1 if (outputStream != null ) {
239
try {
- 240 2 outputStream.close();
+ 240 1 outputStream.close();
241 0 } catch (IOException ex) {
242 0 Logger.getLogger(ReportGenerator.class .getName()).log(Level.FINEST, null , ex);
- 243 2 }
+ 243 1 }
244
}
245
try {
- 246 2 reader.close();
+ 246 1 reader.close();
247 0 } catch (IOException ex) {
248 0 Logger.getLogger(ReportGenerator.class .getName()).log(Level.FINEST, null , ex);
- 249 2 }
+ 249 1 }
250 0 }
- 251 2 }
+ 251 1 }
252
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html
index be52c60e2..ed9be72c2 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html
@@ -12,7 +12,7 @@
@@ -91,7 +91,7 @@
37
- 38 2 public class VelocityLoggerRedirect implements LogChute {
+ 38 1 public class VelocityLoggerRedirect implements LogChute {
39
40
@@ -108,7 +108,7 @@
public void init(RuntimeServices rsvc) {
46
- 47 2 }
+ 47 1 }
48
49
@@ -127,8 +127,8 @@
56
public void log(int level, String message) {
- 57 64 Logger.getLogger(Velocity.class .getName()).log(getLevel(level), message);
- 58 64 }
+ 57 32 Logger.getLogger(Velocity.class .getName()).log(getLevel(level), message);
+ 58 32 }
59
60
@@ -167,7 +167,7 @@
78
public boolean isLevelEnabled(int level) {
- 79 24 return true ;
+ 79 12 return true ;
80
}
81
@@ -186,13 +186,13 @@
88
private Level getLevel(int velocityLevel) {
- 89 64 switch (velocityLevel) {
+ 89 32 switch (velocityLevel) {
90
case TRACE_ID:
- 91 16 return Level.ALL;
+ 91 8 return Level.ALL;
92
case DEBUG_ID:
- 93 48 return Level.FINE;
+ 93 24 return Level.FINE;
94
case INFO_ID:
95 0 return Level.INFO;
@@ -213,6 +213,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.PropertyType.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.PropertyType.html
index a0a78cf4f..330b52587 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.PropertyType.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.PropertyType.html
@@ -71,7 +71,7 @@
27
- 28 44 public class PropertyType {
+ 28 22 public class PropertyType {
29
30
@@ -100,7 +100,7 @@
42
public String getValue() {
- 43 30 return value;
+ 43 15 return value;
44
}
45
@@ -117,15 +117,15 @@
51
public void setValue(String value) {
- 52 58 this .value = value;
- 53 58 }
+ 52 29 this .value = value;
+ 53 29 }
54
55
56
- 57 44 private boolean regex = false ;
+ 57 22 private boolean regex = false ;
58
59
@@ -142,7 +142,7 @@
65
public boolean isRegex() {
- 66 34 return regex;
+ 66 17 return regex;
67
}
68
@@ -161,15 +161,15 @@
75
public void setRegex(boolean value) {
- 76 24 this .regex = value;
- 77 24 }
+ 76 12 this .regex = value;
+ 77 12 }
78
79
80
- 81 44 private boolean caseSensitive = false ;
+ 81 22 private boolean caseSensitive = false ;
82
83
@@ -186,7 +186,7 @@
89
public boolean isCaseSensitive() {
- 90 8 return caseSensitive;
+ 90 4 return caseSensitive;
91
}
92
@@ -205,8 +205,8 @@
99
public void setCaseSensitive(boolean value) {
- 100 26 this .caseSensitive = value;
- 101 26 }
+ 100 13 this .caseSensitive = value;
+ 101 13 }
102
103
@@ -225,28 +225,28 @@
110
public boolean matches(String text) {
- 111 44 if (text == null ) {
+ 111 22 if (text == null ) {
112 0 return false ;
113
}
- 114 44 if (this .regex) {
+ 114 22 if (this .regex) {
115
Pattern rx;
- 116 14 if (this .caseSensitive) {
- 117 4 rx = Pattern.compile(this .value);
+ 116 7 if (this .caseSensitive) {
+ 117 2 rx = Pattern.compile(this .value);
118
} else {
- 119 10 rx = Pattern.compile(this .value, Pattern.CASE_INSENSITIVE);
+ 119 5 rx = Pattern.compile(this .value, Pattern.CASE_INSENSITIVE);
120
}
- 121 14 return rx.matcher(text).matches();
+ 121 7 return rx.matcher(text).matches();
122
} else {
- 123 30 if (this .caseSensitive) {
- 124 4 return value.equals(text);
+ 123 15 if (this .caseSensitive) {
+ 124 2 return value.equals(text);
125
} else {
- 126 26 return value.equalsIgnoreCase(text);
+ 126 13 return value.equalsIgnoreCase(text);
127
}
128
@@ -296,28 +296,28 @@
@Override
153
public boolean equals(Object obj) {
- 154 2 if (obj == null ) {
+ 154 1 if (obj == null ) {
155 0 return false ;
156
}
- 157 2 if (getClass() != obj.getClass()) {
+ 157 1 if (getClass() != obj.getClass()) {
158 0 return false ;
159
}
- 160 2 final PropertyType other = (PropertyType) obj;
- 161 2 if ((this .value == null ) ? (other.value != null ) : !this .value.equals(other.value)) {
+ 160 1 final PropertyType other = (PropertyType) obj;
+ 161 1 if ((this .value == null ) ? (other.value != null ) : !this .value.equals(other.value)) {
162 0 return false ;
163
}
- 164 2 if (this .regex != other.regex) {
+ 164 1 if (this .regex != other.regex) {
165 0 return false ;
166
}
- 167 2 if (this .caseSensitive != other.caseSensitive) {
+ 167 1 if (this .caseSensitive != other.caseSensitive) {
168 0 return false ;
169
}
- 170 2 return true ;
+ 170 1 return true ;
171
}
172
@@ -345,6 +345,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionErrorHandler.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionErrorHandler.html
index d2fbfd316..3d8e94c8f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionErrorHandler.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionErrorHandler.html
@@ -77,7 +77,7 @@
30
- 31 4 public class SuppressionErrorHandler implements ErrorHandler {
+ 31 2 public class SuppressionErrorHandler implements ErrorHandler {
32
33
@@ -187,6 +187,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionHandler.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionHandler.html
index 859fc9f5b..4f9eac3b1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionHandler.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionHandler.html
@@ -77,7 +77,7 @@
30
- 31 4 public class SuppressionHandler extends DefaultHandler {
+ 31 2 public class SuppressionHandler extends DefaultHandler {
32
33
@@ -142,7 +142,7 @@
63
- 64 4 private List<SuppressionRule> suppressionRules = new ArrayList<SuppressionRule>();
+ 64 2 private List<SuppressionRule> suppressionRules = new ArrayList<SuppressionRule>();
65
66
@@ -157,7 +157,7 @@
71
public List<SuppressionRule> getSuppressionRules() {
- 72 4 return suppressionRules;
+ 72 2 return suppressionRules;
73
}
74
@@ -208,17 +208,17 @@
@Override
97
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- 98 80 currentAttributes = null ;
- 99 80 currentText = new StringBuffer();
+ 98 40 currentAttributes = null ;
+ 99 40 currentText = new StringBuffer();
100
- 101 80 if (SUPPRESS.equals(qName)) {
- 102 20 rule = new SuppressionRule();
- 103 60 } else if (FILE_PATH.equals(qName)) {
- 104 12 currentAttributes = attributes;
+ 101 40 if (SUPPRESS.equals(qName)) {
+ 102 10 rule = new SuppressionRule();
+ 103 30 } else if (FILE_PATH.equals(qName)) {
+ 104 6 currentAttributes = attributes;
105
}
- 106 80 }
+ 106 40 }
107
108
@@ -241,27 +241,27 @@
@Override
117
public void endElement(String uri, String localName, String qName) throws SAXException {
- 118 80 if (SUPPRESS.equals(qName)) {
- 119 20 suppressionRules.add(rule);
- 120 20 rule = null ;
- 121 60 } else if (FILE_PATH.equals(qName)) {
- 122 12 final PropertyType pt = processPropertyType();
- 123 12 rule.setFilePath(pt);
- 124 12 } else if (SHA1.equals(qName)) {
- 125 4 rule.setSha1(currentText.toString());
- 126 44 } else if (CPE.equals(qName)) {
- 127 8 final PropertyType pt = processPropertyType();
- 128 8 rule.addCpe(pt);
- 129 8 } else if (CWE.equals(qName)) {
+ 118 40 if (SUPPRESS.equals(qName)) {
+ 119 10 suppressionRules.add(rule);
+ 120 10 rule = null ;
+ 121 30 } else if (FILE_PATH.equals(qName)) {
+ 122 6 final PropertyType pt = processPropertyType();
+ 123 6 rule.setFilePath(pt);
+ 124 6 } else if (SHA1.equals(qName)) {
+ 125 2 rule.setSha1(currentText.toString());
+ 126 22 } else if (CPE.equals(qName)) {
+ 127 4 final PropertyType pt = processPropertyType();
+ 128 4 rule.addCpe(pt);
+ 129 4 } else if (CWE.equals(qName)) {
130 0 rule.addCwe(currentText.toString());
- 131 36 } else if (CVE.equals(qName)) {
- 132 8 rule.addCve(currentText.toString());
- 133 28 } else if (CVSS_BELOW.equals(qName)) {
- 134 4 final float cvss = Float.parseFloat(currentText.toString());
- 135 4 rule.addCvssBelow(cvss);
+ 131 18 } else if (CVE.equals(qName)) {
+ 132 4 rule.addCve(currentText.toString());
+ 133 14 } else if (CVSS_BELOW.equals(qName)) {
+ 134 2 final float cvss = Float.parseFloat(currentText.toString());
+ 135 2 rule.addCvssBelow(cvss);
136
}
- 137 80 }
+ 137 40 }
138
139
@@ -284,8 +284,8 @@
@Override
148
public void characters(char [] ch, int start, int length) throws SAXException {
- 149 176 currentText.append(ch, start, length);
- 150 176 }
+ 149 88 currentText.append(ch, start, length);
+ 150 88 }
151
152
@@ -302,28 +302,28 @@
158
private PropertyType processPropertyType() {
- 159 20 final PropertyType pt = new PropertyType();
- 160 20 pt.setValue(currentText.toString());
- 161 20 if (currentAttributes != null && currentAttributes.getLength() > 0) {
- 162 12 final String regex = currentAttributes.getValue("regex" );
- 163 12 if (regex != null ) {
- 164 12 pt.setRegex(Boolean.parseBoolean(regex));
+ 159 10 final PropertyType pt = new PropertyType();
+ 160 10 pt.setValue(currentText.toString());
+ 161 10 if (currentAttributes != null && currentAttributes.getLength() > 0) {
+ 162 6 final String regex = currentAttributes.getValue("regex" );
+ 163 6 if (regex != null ) {
+ 164 6 pt.setRegex(Boolean.parseBoolean(regex));
165
}
- 166 12 final String caseSensitive = currentAttributes.getValue("caseSensitive" );
- 167 12 if (regex != null ) {
- 168 12 pt.setCaseSensitive(Boolean.parseBoolean(caseSensitive));
+ 166 6 final String caseSensitive = currentAttributes.getValue("caseSensitive" );
+ 167 6 if (regex != null ) {
+ 168 6 pt.setCaseSensitive(Boolean.parseBoolean(caseSensitive));
169
}
170
}
- 171 20 return pt;
+ 171 10 return pt;
172
}
173
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParseException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParseException.html
index e1ea1a967..736478363 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParseException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParseException.html
@@ -147,6 +147,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParser.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParser.html
index 63bd8a8af..9f545061e 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParser.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParser.html
@@ -99,7 +99,7 @@
41
- 42 2 public class SuppressionParser {
+ 42 1 public class SuppressionParser {
43
44
@@ -146,32 +146,32 @@
public List<SuppressionRule> parseSuppressionRules(File file) throws SuppressionParseException {
65
try {
- 66 2 final InputStream schemaStream = this .getClass().getClassLoader().getResourceAsStream("schema/suppression.xsd" );
- 67 2 final SuppressionHandler handler = new SuppressionHandler();
+ 66 1 final InputStream schemaStream = this .getClass().getClassLoader().getResourceAsStream("schema/suppression.xsd" );
+ 67 1 final SuppressionHandler handler = new SuppressionHandler();
68
- 69 2 final SAXParserFactory factory = SAXParserFactory.newInstance();
- 70 2 factory.setNamespaceAware(true );
- 71 2 factory.setValidating(true );
- 72 2 final SAXParser saxParser = factory.newSAXParser();
- 73 2 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_LANGUAGE, SuppressionParser.W3C_XML_SCHEMA);
- 74 2 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_SOURCE, new InputSource(schemaStream));
- 75 2 final XMLReader xmlReader = saxParser.getXMLReader();
- 76 2 xmlReader.setErrorHandler(new SuppressionErrorHandler());
- 77 2 xmlReader.setContentHandler(handler);
+ 69 1 final SAXParserFactory factory = SAXParserFactory.newInstance();
+ 70 1 factory.setNamespaceAware(true );
+ 71 1 factory.setValidating(true );
+ 72 1 final SAXParser saxParser = factory.newSAXParser();
+ 73 1 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_LANGUAGE, SuppressionParser.W3C_XML_SCHEMA);
+ 74 1 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_SOURCE, new InputSource(schemaStream));
+ 75 1 final XMLReader xmlReader = saxParser.getXMLReader();
+ 76 1 xmlReader.setErrorHandler(new SuppressionErrorHandler());
+ 77 1 xmlReader.setContentHandler(handler);
78
- 79 2 final InputStream inputStream = new FileInputStream(file);
- 80 2 final Reader reader = new InputStreamReader(inputStream, "UTF-8" );
- 81 2 final InputSource in = new InputSource(reader);
+ 79 1 final InputStream inputStream = new FileInputStream(file);
+ 80 1 final Reader reader = new InputStreamReader(inputStream, "UTF-8" );
+ 81 1 final InputSource in = new InputSource(reader);
82
83
- 84 2 xmlReader.parse(in);
+ 84 1 xmlReader.parse(in);
85
- 86 2 return handler.getSuppressionRules();
+ 86 1 return handler.getSuppressionRules();
87 0 } catch (ParserConfigurationException ex) {
88 0 Logger.getLogger(SuppressionParser.class .getName()).log(Level.FINE, null , ex);
89 0 throw new SuppressionParseException(ex);
@@ -192,6 +192,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionRule.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionRule.html
index 15f2fc632..bb5cf396d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionRule.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionRule.html
@@ -77,7 +77,7 @@
30
- 31 46 public class SuppressionRule {
+ 31 23 public class SuppressionRule {
32
33
@@ -102,7 +102,7 @@
43
public PropertyType getFilePath() {
- 44 2 return filePath;
+ 44 1 return filePath;
45
}
46
@@ -119,8 +119,8 @@
52
public void setFilePath(PropertyType filePath) {
- 53 16 this .filePath = filePath;
- 54 16 }
+ 53 8 this .filePath = filePath;
+ 54 8 }
55
56
@@ -143,7 +143,7 @@
65
public String getSha1() {
- 66 2 return sha1;
+ 66 1 return sha1;
67
}
68
@@ -160,15 +160,15 @@
74
public void setSha1(String sha1) {
- 75 8 this .sha1 = sha1;
- 76 8 }
+ 75 4 this .sha1 = sha1;
+ 76 4 }
77
78
79
- 80 46 private List<PropertyType> cpe = new ArrayList<PropertyType>();
+ 80 23 private List<PropertyType> cpe = new ArrayList<PropertyType>();
81
82
@@ -183,7 +183,7 @@
87
public List<PropertyType> getCpe() {
- 88 2 return cpe;
+ 88 1 return cpe;
89
}
90
@@ -200,8 +200,8 @@
96
public void setCpe(List<PropertyType> cpe) {
- 97 2 this .cpe = cpe;
- 98 2 }
+ 97 1 this .cpe = cpe;
+ 98 1 }
99
100
@@ -216,8 +216,8 @@
105
public void addCpe(PropertyType cpe) {
- 106 16 this .cpe.add(cpe);
- 107 16 }
+ 106 8 this .cpe.add(cpe);
+ 107 8 }
108
109
@@ -232,7 +232,7 @@
114
public boolean hasCpe() {
- 115 20 return cpe.size() > 0;
+ 115 10 return cpe.size() > 0;
116
}
117
@@ -241,7 +241,7 @@
119
- 120 46 private List<Float> cvssBelow = new ArrayList<Float>();
+ 120 23 private List<Float> cvssBelow = new ArrayList<Float>();
121
122
@@ -256,7 +256,7 @@
127
public List<Float> getCvssBelow() {
- 128 2 return cvssBelow;
+ 128 1 return cvssBelow;
129
}
130
@@ -273,8 +273,8 @@
136
public void setCvssBelow(List<Float> cvssBelow) {
- 137 2 this .cvssBelow = cvssBelow;
- 138 2 }
+ 137 1 this .cvssBelow = cvssBelow;
+ 138 1 }
139
140
@@ -289,8 +289,8 @@
145
public void addCvssBelow(Float cvss) {
- 146 10 this .cvssBelow.add(cvss);
- 147 10 }
+ 146 5 this .cvssBelow.add(cvss);
+ 147 5 }
148
149
@@ -305,7 +305,7 @@
154
public boolean hasCvssBelow() {
- 155 14 return cvssBelow.size() > 0;
+ 155 7 return cvssBelow.size() > 0;
156
}
157
@@ -314,7 +314,7 @@
159
- 160 46 private List<String> cwe = new ArrayList<String>();
+ 160 23 private List<String> cwe = new ArrayList<String>();
161
162
@@ -329,7 +329,7 @@
167
public List<String> getCwe() {
- 168 2 return cwe;
+ 168 1 return cwe;
169
}
170
@@ -346,8 +346,8 @@
176
public void setCwe(List<String> cwe) {
- 177 2 this .cwe = cwe;
- 178 2 }
+ 177 1 this .cwe = cwe;
+ 178 1 }
179
180
@@ -362,8 +362,8 @@
185
public void addCwe(String cwe) {
- 186 4 this .cwe.add(cwe);
- 187 4 }
+ 186 2 this .cwe.add(cwe);
+ 187 2 }
188
189
@@ -378,7 +378,7 @@
194
public boolean hasCwe() {
- 195 16 return cwe.size() > 0;
+ 195 8 return cwe.size() > 0;
196
}
197
@@ -387,7 +387,7 @@
199
- 200 46 private List<String> cve = new ArrayList<String>();
+ 200 23 private List<String> cve = new ArrayList<String>();
201
202
@@ -402,7 +402,7 @@
207
public List<String> getCve() {
- 208 2 return cve;
+ 208 1 return cve;
209
}
210
@@ -419,8 +419,8 @@
216
public void setCve(List<String> cve) {
- 217 2 this .cve = cve;
- 218 2 }
+ 217 1 this .cve = cve;
+ 218 1 }
219
220
@@ -435,8 +435,8 @@
225
public void addCve(String cve) {
- 226 14 this .cve.add(cve);
- 227 14 }
+ 226 7 this .cve.add(cve);
+ 227 7 }
228
229
@@ -451,7 +451,7 @@
234
public boolean hasCve() {
- 235 20 return cve.size() > 0;
+ 235 10 return cve.size() > 0;
236
}
237
@@ -470,48 +470,48 @@
244
public void process(Dependency dependency) {
- 245 18 if (filePath != null && !filePath.matches(dependency.getFilePath())) {
+ 245 9 if (filePath != null && !filePath.matches(dependency.getFilePath())) {
246 0 return ;
247
}
- 248 18 if (sha1 != null && !sha1.equalsIgnoreCase(dependency.getSha1sum())) {
- 249 2 return ;
+ 248 9 if (sha1 != null && !sha1.equalsIgnoreCase(dependency.getSha1sum())) {
+ 249 1 return ;
250
}
- 251 16 if (this .hasCpe()) {
- 252 6 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
- 253 16 while (itr.hasNext()) {
- 254 10 final Identifier i = itr.next();
- 255 10 for (PropertyType c : this .cpe) {
- 256 18 if (cpeMatches(c, i)) {
- 257 8 itr.remove();
- 258 8 break ;
+ 251 8 if (this .hasCpe()) {
+ 252 3 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
+ 253 8 while (itr.hasNext()) {
+ 254 5 final Identifier i = itr.next();
+ 255 5 for (PropertyType c : this .cpe) {
+ 256 9 if (cpeMatches(c, i)) {
+ 257 4 itr.remove();
+ 258 4 break ;
259
}
- 260 10 }
- 261 10 }
+ 260 5 }
+ 261 5 }
262
}
- 263 16 if (hasCve() || hasCwe() || hasCvssBelow()) {
- 264 10 final Iterator<Vulnerability> itr = dependency.getVulnerabilities().iterator();
- 265 20 while (itr.hasNext()) {
- 266 10 boolean remove = false ;
- 267 10 final Vulnerability v = itr.next();
- 268 10 for (String entry : this .cve) {
- 269 6 if (entry.equalsIgnoreCase(v.getName())) {
- 270 2 remove = true ;
- 271 2 break ;
+ 263 8 if (hasCve() || hasCwe() || hasCvssBelow()) {
+ 264 5 final Iterator<Vulnerability> itr = dependency.getVulnerabilities().iterator();
+ 265 10 while (itr.hasNext()) {
+ 266 5 boolean remove = false ;
+ 267 5 final Vulnerability v = itr.next();
+ 268 5 for (String entry : this .cve) {
+ 269 3 if (entry.equalsIgnoreCase(v.getName())) {
+ 270 1 remove = true ;
+ 271 1 break ;
272
}
- 273 4 }
- 274 10 if (!remove) {
- 275 8 for (String entry : this .cwe) {
- 276 2 if (v.getCwe() != null ) {
- 277 2 final String toMatch = String.format("CWE-%s " , entry);
- 278 2 final String toTest = v.getCwe().substring(0, toMatch.length()).toUpperCase();
- 279 2 if (toTest.equals(toMatch)) {
- 280 2 remove = true ;
- 281 2 break ;
+ 273 2 }
+ 274 5 if (!remove) {
+ 275 4 for (String entry : this .cwe) {
+ 276 1 if (v.getCwe() != null ) {
+ 277 1 final String toMatch = String.format("CWE-%s " , entry);
+ 278 1 final String toTest = v.getCwe().substring(0, toMatch.length()).toUpperCase();
+ 279 1 if (toTest.equals(toMatch)) {
+ 280 1 remove = true ;
+ 281 1 break ;
282
}
283
@@ -519,24 +519,24 @@
284 0 }
285
}
- 286 10 if (!remove) {
- 287 6 for (float cvss : this .cvssBelow) {
- 288 6 if (v.getCvssScore() < cvss) {
- 289 2 remove = true ;
- 290 2 break ;
+ 286 5 if (!remove) {
+ 287 3 for (float cvss : this .cvssBelow) {
+ 288 3 if (v.getCvssScore() < cvss) {
+ 289 1 remove = true ;
+ 290 1 break ;
291
}
- 292 4 }
+ 292 2 }
293
}
- 294 10 if (remove) {
- 295 6 itr.remove();
+ 294 5 if (remove) {
+ 295 3 itr.remove();
296
}
- 297 10 }
+ 297 5 }
298
}
- 299 16 }
+ 299 8 }
300
301
@@ -553,15 +553,15 @@
307
boolean cpeHasNoVersion(PropertyType c) {
- 308 28 if (c.isRegex()) {
- 309 4 return false ;
+ 308 14 if (c.isRegex()) {
+ 309 2 return false ;
310
}
- 311 24 if (countCharacter(c.getValue(), ':' ) == 3) {
- 312 6 return true ;
+ 311 12 if (countCharacter(c.getValue(), ':' ) == 3) {
+ 312 3 return true ;
313
}
- 314 18 return false ;
+ 314 9 return false ;
315
}
316
@@ -582,14 +582,14 @@
324
int countCharacter(String str, char c) {
- 325 30 int count = 0;
- 326 30 int pos = str.indexOf(c) + 1;
- 327 132 while (pos > 0) {
- 328 102 count += 1;
- 329 102 pos = str.indexOf(c, pos) + 1;
+ 325 15 int count = 0;
+ 326 15 int pos = str.indexOf(c) + 1;
+ 327 66 while (pos > 0) {
+ 328 51 count += 1;
+ 329 51 pos = str.indexOf(c, pos) + 1;
330
}
- 331 30 return count;
+ 331 15 return count;
332
}
333
@@ -610,33 +610,33 @@
341
boolean cpeMatches(PropertyType cpeEntry, Identifier identifier) {
- 342 32 if (cpeEntry.matches(identifier.getValue())) {
- 343 10 return true ;
- 344 22 } else if (cpeHasNoVersion(cpeEntry)) {
- 345 4 if (cpeEntry.isCaseSensitive()) {
+ 342 16 if (cpeEntry.matches(identifier.getValue())) {
+ 343 5 return true ;
+ 344 11 } else if (cpeHasNoVersion(cpeEntry)) {
+ 345 2 if (cpeEntry.isCaseSensitive()) {
346 0 if (identifier.getValue().startsWith(cpeEntry.getValue())) {
347 0 return true ;
348
}
349
} else {
- 350 4 final String id = identifier.getValue().toLowerCase();
- 351 4 final String check = cpeEntry.getValue().toLowerCase();
- 352 4 if (id.startsWith(check)) {
- 353 4 return true ;
+ 350 2 final String id = identifier.getValue().toLowerCase();
+ 351 2 final String check = cpeEntry.getValue().toLowerCase();
+ 352 2 if (id.startsWith(check)) {
+ 353 2 return true ;
354
}
355
}
356
}
- 357 18 return false ;
+ 357 9 return false ;
358
}
359
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html
index a1de603eb..175acd454 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html
@@ -99,36 +99,36 @@
42
public static byte [] getChecksum(String algorithm, File file) throws NoSuchAlgorithmException, IOException {
- 43 194 InputStream fis = null ;
- 44 194 byte [] buffer = new byte [1024];
- 45 194 MessageDigest complete = MessageDigest.getInstance(algorithm);
+ 43 103 InputStream fis = null ;
+ 44 103 byte [] buffer = new byte [1024];
+ 45 103 MessageDigest complete = MessageDigest.getInstance(algorithm);
46
int numRead;
47
try {
- 48 192 fis = new FileInputStream(file);
+ 48 102 fis = new FileInputStream(file);
49
do {
- 50 134160 numRead = fis.read(buffer);
- 51 134160 if (numRead > 0) {
- 52 133974 complete.update(buffer, 0, numRead);
+ 50 68002 numRead = fis.read(buffer);
+ 51 68002 if (numRead > 0) {
+ 52 67903 complete.update(buffer, 0, numRead);
53
}
- 54 134160 } while (numRead != -1);
+ 54 68002 } while (numRead != -1);
55
} finally {
- 56 192 if (fis != null ) {
+ 56 102 if (fis != null ) {
57
try {
- 58 186 fis.close();
+ 58 99 fis.close();
59 0 } catch (IOException ex) {
60 0 Logger.getLogger(Checksum.class .getName()).log(Level.FINEST, "Error closing file '" + file.getName() + "'." , ex);
- 61 192 }
+ 61 102 }
62
}
63
}
- 64 186 return complete.digest();
+ 64 99 return complete.digest();
65
}
66
@@ -151,8 +151,8 @@
75
public static String getMD5Checksum(File file) throws IOException, NoSuchAlgorithmException {
- 76 96 byte [] b = getChecksum("MD5" , file);
- 77 92 return getHex(b);
+ 76 51 byte [] b = getChecksum("MD5" , file);
+ 77 49 return getHex(b);
78
}
79
@@ -175,8 +175,8 @@
88
public static String getSHA1Checksum(File file) throws IOException, NoSuchAlgorithmException {
- 89 92 byte [] b = getChecksum("SHA1" , file);
- 90 92 return getHex(b);
+ 89 49 byte [] b = getChecksum("SHA1" , file);
+ 90 49 return getHex(b);
91
}
92
@@ -203,22 +203,22 @@
103
public static String getHex(byte [] raw) {
- 104 186 if (raw == null ) {
+ 104 99 if (raw == null ) {
105 0 return null ;
106
}
- 107 186 final StringBuilder hex = new StringBuilder(2 * raw.length);
- 108 3532 for (final byte b : raw) {
- 109 3346 hex.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
+ 107 99 final StringBuilder hex = new StringBuilder(2 * raw.length);
+ 108 1880 for (final byte b : raw) {
+ 109 1781 hex.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
110
}
- 111 186 return hex.toString();
+ 111 99 return hex.toString();
112
}
113
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DBUtils.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DBUtils.html
index bdd8d0224..6b6ba127a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DBUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DBUtils.html
@@ -141,18 +141,18 @@
68
public static void closeStatement(Statement statement) {
- 69 700 if (statement != null ) {
+ 69 350 if (statement != null ) {
70
try {
- 71 700 statement.close();
+ 71 350 statement.close();
72 0 } catch (SQLException ex) {
73 0 Logger.getLogger(CveDB.class
74
.getName()).log(Level.FINEST, statement.toString(), ex);
- 75 700 }
+ 75 350 }
76
}
- 77 700 }
+ 77 350 }
78
79
@@ -167,22 +167,22 @@
84
public static void closeResultSet(ResultSet rs) {
- 85 720 if (rs != null ) {
+ 85 360 if (rs != null ) {
86
try {
- 87 720 rs.close();
+ 87 360 rs.close();
88 0 } catch (SQLException ex) {
89 0 Logger.getLogger(CveDB.class
90
.getName()).log(Level.FINEST, rs.toString(), ex);
- 91 720 }
+ 91 360 }
92
}
- 93 720 }
+ 93 360 }
94
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersion.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersion.html
index 6f8f32f64..d4d8b4c32 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersion.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersion.html
@@ -95,7 +95,7 @@
39
- 40 28 public class DependencyVersion implements Iterable, Comparable<DependencyVersion> {
+ 40 14 public class DependencyVersion implements Iterable, Comparable<DependencyVersion> {
41
42
@@ -104,8 +104,8 @@
44
- 45 48 public DependencyVersion() {
- 46 48 }
+ 45 20 public DependencyVersion() {
+ 46 20 }
47
48
@@ -122,9 +122,9 @@
54
- 55 30266 public DependencyVersion(String version) {
- 56 30266 parseVersion(version);
- 57 30266 }
+ 55 12873 public DependencyVersion(String version) {
+ 56 12873 parseVersion(version);
+ 57 12873 }
58
59
@@ -141,21 +141,21 @@
65
public final void parseVersion(String version) {
- 66 30270 versionParts = new ArrayList<String>();
- 67 30270 if (version != null ) {
- 68 30270 final Pattern rx = Pattern.compile("(\\d+|[a-z]+\\d+|(release|beta|alpha)$)" );
- 69 30270 final Matcher matcher = rx.matcher(version.toLowerCase());
- 70 124642 while (matcher.find()) {
- 71 94372 versionParts.add(matcher.group());
+ 66 12875 versionParts = new ArrayList<String>();
+ 67 12875 if (version != null ) {
+ 68 12875 final Pattern rx = Pattern.compile("(\\d+|[a-z]+\\d+|(release|beta|alpha)$)" );
+ 69 12875 final Matcher matcher = rx.matcher(version.toLowerCase());
+ 70 53017 while (matcher.find()) {
+ 71 40142 versionParts.add(matcher.group());
72
}
- 73 30270 if (versionParts.isEmpty()) {
- 74 154 versionParts.add(version);
+ 73 12875 if (versionParts.isEmpty()) {
+ 74 77 versionParts.add(version);
75
}
76
}
- 77 30270 }
+ 77 12875 }
78
79
@@ -178,7 +178,7 @@
88
public List<String> getVersionParts() {
- 89 45376 return versionParts;
+ 89 18264 return versionParts;
90
}
91
@@ -195,8 +195,8 @@
97
public void setVersionParts(List<String> versionParts) {
- 98 46 this .versionParts = versionParts;
- 99 46 }
+ 98 19 this .versionParts = versionParts;
+ 99 19 }
100
101
@@ -211,7 +211,7 @@
106
public Iterator iterator() {
- 107 2 return versionParts.iterator();
+ 107 1 return versionParts.iterator();
108
}
109
@@ -230,7 +230,7 @@
@Override
116
public String toString() {
- 117 7444 return StringUtils.join(versionParts.toArray(), "." );
+ 117 3722 return StringUtils.join(versionParts.toArray(), "." );
118
}
119
@@ -251,33 +251,33 @@
@Override
127
public boolean equals(Object obj) {
- 128 29482 if (obj == null ) {
+ 128 12509 if (obj == null ) {
129 0 return false ;
130
}
- 131 29482 if (getClass() != obj.getClass()) {
+ 131 12509 if (getClass() != obj.getClass()) {
132 0 return false ;
133
}
- 134 29482 final DependencyVersion other = (DependencyVersion) obj;
- 135 29482 final int max = (this .versionParts.size() < other.versionParts.size())
+ 134 12509 final DependencyVersion other = (DependencyVersion) obj;
+ 135 12509 final int max = (this .versionParts.size() < other.versionParts.size())
136
? this .versionParts.size() : other.versionParts.size();
137
- 138 44474 for (int i = 0; i < max; i++) {
- 139 42988 final String thisPart = this .versionParts.get(i);
- 140 42988 final String otherPart = other.versionParts.get(i);
- 141 42988 if (!thisPart.equals(otherPart)) {
- 142 27996 return false ;
+ 138 19001 for (int i = 0; i < max; i++) {
+ 139 18310 final String thisPart = this .versionParts.get(i);
+ 140 18310 final String otherPart = other.versionParts.get(i);
+ 141 18310 if (!thisPart.equals(otherPart)) {
+ 142 11818 return false ;
143
}
144
}
- 145 1486 if (this .versionParts.size() > max) {
- 146 228 for (int i = max; i < this .versionParts.size(); i++) {
- 147 228 if (!"0" .equals(this .versionParts.get(i))) {
- 148 228 return false ;
+ 145 691 if (this .versionParts.size() > max) {
+ 146 86 for (int i = max; i < this .versionParts.size(); i++) {
+ 147 86 if (!"0" .equals(this .versionParts.get(i))) {
+ 148 86 return false ;
149
}
150
@@ -286,10 +286,10 @@
}
152
- 153 1258 if (other.versionParts.size() > max) {
- 154 934 for (int i = max; i < other.versionParts.size(); i++) {
- 155 902 if (!"0" .equals(other.versionParts.get(i))) {
- 156 838 return false ;
+ 153 605 if (other.versionParts.size() > max) {
+ 154 463 for (int i = max; i < other.versionParts.size(); i++) {
+ 155 447 if (!"0" .equals(other.versionParts.get(i))) {
+ 156 415 return false ;
157
}
158
@@ -308,7 +308,7 @@
165
- 166 420 return true ;
+ 166 190 return true ;
167
}
168
@@ -327,9 +327,9 @@
@Override
175
public int hashCode() {
- 176 2 int hash = 5;
- 177 2 hash = 71 * hash + (this .versionParts != null ? this .versionParts.hashCode() : 0);
- 178 2 return hash;
+ 176 1 int hash = 5;
+ 177 1 hash = 71 * hash + (this .versionParts != null ? this .versionParts.hashCode() : 0);
+ 178 1 return hash;
179
}
180
@@ -350,35 +350,35 @@
188
public boolean matchesAtLeastThreeLevels(DependencyVersion version) {
- 189 20638 if (version == null ) {
+ 189 8359 if (version == null ) {
190 0 return false ;
191
}
192
- 193 20638 boolean ret = true ;
- 194 20638 int max = (this .versionParts.size() < version.versionParts.size())
+ 193 8359 boolean ret = true ;
+ 194 8359 int max = (this .versionParts.size() < version.versionParts.size())
195
? this .versionParts.size() : version.versionParts.size();
196
- 197 20638 if (max > 3) {
- 198 4 max = 3;
+ 197 8359 if (max > 3) {
+ 198 2 max = 3;
199
}
200
- 201 30924 for (int i = 0; i < max; i++) {
- 202 30088 if (this .versionParts.get(i) == null || !this .versionParts.get(i).equals(version.versionParts.get(i))) {
- 203 19802 ret = false ;
- 204 19802 break ;
+ 201 12674 for (int i = 0; i < max; i++) {
+ 202 12260 if (this .versionParts.get(i) == null || !this .versionParts.get(i).equals(version.versionParts.get(i))) {
+ 203 7945 ret = false ;
+ 204 7945 break ;
205
}
206
}
207
- 208 20638 return ret;
+ 208 8359 return ret;
209
}
210
@@ -387,36 +387,36 @@
@Override
212
public int compareTo(DependencyVersion version) {
- 213 110 if (version == null ) {
+ 213 55 if (version == null ) {
214 0 return 1;
215
}
- 216 110 final List<String> left = this .getVersionParts();
- 217 110 final List<String> right = version.getVersionParts();
- 218 110 final int max = left.size() < right.size() ? left.size() : right.size();
+ 216 55 final List<String> left = this .getVersionParts();
+ 217 55 final List<String> right = version.getVersionParts();
+ 218 55 final int max = left.size() < right.size() ? left.size() : right.size();
219
- 220 184 for (int i = 0; i < max; i++) {
- 221 170 final String lStr = left.get(i);
- 222 170 final String rStr = right.get(i);
- 223 170 if (lStr.equals(rStr)) {
- 224 74 continue ;
+ 220 92 for (int i = 0; i < max; i++) {
+ 221 85 final String lStr = left.get(i);
+ 222 85 final String rStr = right.get(i);
+ 223 85 if (lStr.equals(rStr)) {
+ 224 37 continue ;
225
}
226
try {
- 227 96 final int l = Integer.parseInt(lStr);
- 228 86 final int r = Integer.parseInt(rStr);
- 229 86 if (l < r) {
- 230 70 return -1;
- 231 16 } else if (l > r) {
- 232 16 return 1;
+ 227 48 final int l = Integer.parseInt(lStr);
+ 228 43 final int r = Integer.parseInt(rStr);
+ 229 43 if (l < r) {
+ 230 35 return -1;
+ 231 8 } else if (l > r) {
+ 232 8 return 1;
233
}
- 234 10 } catch (NumberFormatException ex) {
- 235 10 final int comp = left.get(i).compareTo(right.get(i));
- 236 10 if (comp < 0) {
- 237 10 return -1;
+ 234 5 } catch (NumberFormatException ex) {
+ 235 5 final int comp = left.get(i).compareTo(right.get(i));
+ 236 5 if (comp < 0) {
+ 237 5 return -1;
238 0 } else if (comp > 0) {
239 0 return 1;
240
@@ -424,13 +424,13 @@
241 0 }
242
}
- 243 14 if (left.size() < right.size()) {
- 244 6 return -1;
- 245 8 } else if (left.size() > right.size()) {
- 246 6 return 1;
+ 243 7 if (left.size() < right.size()) {
+ 244 3 return -1;
+ 245 4 } else if (left.size() > right.size()) {
+ 246 3 return 1;
247
} else {
- 248 2 return 0;
+ 248 1 return 0;
249
}
250
@@ -439,6 +439,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersionUtil.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersionUtil.html
index f0ec10a43..cc9c32e29 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersionUtil.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersionUtil.html
@@ -85,7 +85,7 @@
34
- 35 2 private static final Pattern RX_VERSION = Pattern.compile("\\d+(\\.\\d{1,6})+(\\.?([_-](release|beta|alpha)|[a-zA-Z_-]{1,3}\\d{1,8}))?" );
+ 35 1 private static final Pattern RX_VERSION = Pattern.compile("\\d+(\\.\\d{1,6})+(\\.?([_-](release|beta|alpha)|[a-zA-Z_-]{1,3}\\d{1,8}))?" );
36
37
@@ -94,7 +94,7 @@
39
- 40 2 private static final Pattern RX_SINGLE_VERSION = Pattern.compile("\\d+(\\.?([_-](release|beta|alpha)|[a-zA-Z_-]{1,3}\\d{1,8}))?" );
+ 40 1 private static final Pattern RX_SINGLE_VERSION = Pattern.compile("\\d+(\\.?([_-](release|beta|alpha)|[a-zA-Z_-]{1,3}\\d{1,8}))?" );
41
42
@@ -129,56 +129,56 @@
58
public static DependencyVersion parseVersion(String text) {
- 59 30230 if (text == null ) {
- 60 104 return null ;
+ 59 12839 if (text == null ) {
+ 60 40 return null ;
61
}
62
- 63 30126 if ("-" .equals(text)) {
- 64 46 final DependencyVersion dv = new DependencyVersion();
- 65 46 final ArrayList<String> list = new ArrayList<String>();
- 66 46 list.add(text);
- 67 46 dv.setVersionParts(list);
- 68 46 return dv;
+ 63 12799 if ("-" .equals(text)) {
+ 64 19 final DependencyVersion dv = new DependencyVersion();
+ 65 19 final ArrayList<String> list = new ArrayList<String>();
+ 66 19 list.add(text);
+ 67 19 dv.setVersionParts(list);
+ 68 19 return dv;
69
}
- 70 30080 String version = null ;
- 71 30080 Matcher matcher = RX_VERSION.matcher(text);
- 72 30080 if (matcher.find()) {
- 73 29784 version = matcher.group();
+ 70 12780 String version = null ;
+ 71 12780 Matcher matcher = RX_VERSION.matcher(text);
+ 72 12780 if (matcher.find()) {
+ 73 12664 version = matcher.group();
74
}
75
- 76 30080 if (matcher.find()) {
- 77 4 return null ;
+ 76 12780 if (matcher.find()) {
+ 77 2 return null ;
78
}
- 79 30076 if (version == null ) {
- 80 296 matcher = RX_SINGLE_VERSION.matcher(text);
- 81 296 if (matcher.find()) {
- 82 276 version = matcher.group();
+ 79 12778 if (version == null ) {
+ 80 116 matcher = RX_SINGLE_VERSION.matcher(text);
+ 81 116 if (matcher.find()) {
+ 82 106 version = matcher.group();
83
} else {
- 84 20 return null ;
+ 84 10 return null ;
85
}
86
- 87 276 if (matcher.find()) {
- 88 2 return null ;
+ 87 106 if (matcher.find()) {
+ 88 1 return null ;
89
}
90
}
- 91 30054 return new DependencyVersion(version);
+ 91 12767 return new DependencyVersion(version);
92
}
93
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html
index 22b5973d6..b8348d3f8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html
@@ -147,6 +147,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Downloader.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Downloader.html
index ef52369e4..08c2180f3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Downloader.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Downloader.html
@@ -232,10 +232,10 @@
128
public static long getLastModified(URL url) throws DownloadFailedException {
- 129 20 long timestamp = 0;
+ 129 10 long timestamp = 0;
130
- 131 20 if ("file" .equalsIgnoreCase(url.getProtocol())) {
+ 131 10 if ("file" .equalsIgnoreCase(url.getProtocol())) {
132
File lastModifiedFile;
133
@@ -256,15 +256,15 @@
141
- 142 20 lastModifiedFile = new File(url.toURI());
+ 142 10 lastModifiedFile = new File(url.toURI());
143
144 0 } catch (URISyntaxException ex) {
145 0 final String msg = String.format("Unable to locate '%s'; is the cve.url-2.0.modified property set correctly?" , url.toString());
146 0 throw new DownloadFailedException(msg);
- 147 20 }
- 148 20 timestamp = lastModifiedFile.lastModified();
- 149 20 } else {
+ 147 10 }
+ 148 10 timestamp = lastModifiedFile.lastModified();
+ 149 10 } else {
150 0 HttpURLConnection conn = null ;
151
try {
@@ -290,7 +290,7 @@
}
167
}
- 168 20 return timestamp;
+ 168 10 return timestamp;
169
}
170
@@ -373,6 +373,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html
index eec80e98c..0f6ae2121 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html
@@ -147,6 +147,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.FileUtils.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.FileUtils.html
index 1cbd3f952..2f8646d26 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.FileUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.FileUtils.html
@@ -133,13 +133,13 @@
59
public static String getFileExtension(String fileName) {
- 60 462 String ret = null ;
- 61 462 final int pos = fileName.lastIndexOf("." );
- 62 462 if (pos >= 0) {
- 63 446 ret = fileName.substring(pos + 1, fileName.length()).toLowerCase();
+ 60 234 String ret = null ;
+ 61 234 final int pos = fileName.lastIndexOf("." );
+ 62 234 if (pos >= 0) {
+ 63 226 ret = fileName.substring(pos + 1, fileName.length()).toLowerCase();
64
}
- 65 462 return ret;
+ 65 234 return ret;
66
}
67
@@ -158,14 +158,14 @@
74
public static void delete(File file) throws IOException {
- 75 2 if (file.isDirectory()) {
+ 75 1 if (file.isDirectory()) {
76 0 for (File c : file.listFiles()) {
77 0 delete(c);
78
}
79
}
- 80 2 if (!org.apache.commons.io.FileUtils.deleteQuietly(file)) {
+ 80 1 if (!org.apache.commons.io.FileUtils.deleteQuietly(file)) {
81 0 throw new FileNotFoundException("Failed to delete file: " + file);
82
}
@@ -181,7 +181,7 @@
88
- 89 2 }
+ 89 1 }
90
91
@@ -389,6 +389,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html
index bdcbeed5c..8f1f8c06f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html
@@ -47,7 +47,7 @@
14
- 15 12 public abstract class Filter<T> {
+ 15 6 public abstract class Filter<T> {
16
17
@@ -56,19 +56,19 @@
19
public Iterator<T> filter(Iterator<T> iterator) {
- 20 3914 return new FilterIterator(iterator);
+ 20 1949 return new FilterIterator(iterator);
21
}
22
23
public Iterable<T> filter(final Iterable<T> iterable) {
- 24 3914 return new Iterable<T>() {
+ 24 1949 return new Iterable<T>() {
25
26
public Iterator<T> iterator() {
- 27 3914 return filter(iterable.iterator());
+ 27 1949 return filter(iterable.iterator());
28
}
29
@@ -77,7 +77,7 @@
}
31
- 32 12 private class FilterIterator implements Iterator<T> {
+ 32 6 private class FilterIterator implements Iterator<T> {
33
34
@@ -86,28 +86,28 @@
private T next;
36
- 37 3914 private FilterIterator(Iterator<T> iterator) {
- 38 3914 this .iterator = iterator;
- 39 3914 toNext();
- 40 3914 }
+ 37 1949 private FilterIterator(Iterator<T> iterator) {
+ 38 1949 this .iterator = iterator;
+ 39 1949 toNext();
+ 40 1949 }
41
42
public boolean hasNext() {
- 43 17108 return next != null ;
+ 43 8194 return next != null ;
44
}
45
46
public T next() {
- 47 14210 if (next == null ) {
+ 47 6755 if (next == null ) {
48 0 throw new NoSuchElementException();
49
}
- 50 14210 T returnValue = next;
- 51 14210 toNext();
- 52 14210 return returnValue;
+ 50 6755 T returnValue = next;
+ 51 6755 toNext();
+ 52 6755 return returnValue;
53
}
54
@@ -121,22 +121,22 @@
59
private void toNext() {
- 60 18124 next = null ;
- 61 27110 while (iterator.hasNext()) {
- 62 23984 T item = iterator.next();
- 63 23984 if (item != null && passes(item)) {
- 64 14998 next = item;
- 65 14998 break ;
+ 60 8704 next = null ;
+ 61 12980 while (iterator.hasNext()) {
+ 62 11427 T item = iterator.next();
+ 63 11427 if (item != null && passes(item)) {
+ 64 7151 next = item;
+ 65 7151 break ;
66
}
- 67 8986 }
- 68 18124 }
+ 67 4276 }
+ 68 8704 }
69
}
70
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html
index 6df620a96..12588ba88 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html
@@ -147,6 +147,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.LogFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.LogFilter.html
index c8906c6b1..3d95599c1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.LogFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.LogFilter.html
@@ -100,6 +100,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.LogUtils.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.LogUtils.html
index 2192ecdd1..c12f8c10b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.LogUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.LogUtils.html
@@ -148,7 +148,7 @@
77
- 78 2 private static boolean verboseLoggingEnabled = false ;
+ 78 1 private static boolean verboseLoggingEnabled = false ;
79
80
@@ -163,13 +163,13 @@
85
public static boolean isVerboseLoggingEnabled() {
- 86 10 return verboseLoggingEnabled;
+ 86 5 return verboseLoggingEnabled;
87
}
88
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html
index 375066a9a..319c8f311 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html
@@ -89,8 +89,8 @@
36
public NonClosingStream(InputStream in) {
- 37 14 super (in);
- 38 14 }
+ 37 7 super (in);
+ 38 7 }
39
40
@@ -105,11 +105,11 @@
public void close() {
45
- 46 14 }
+ 46 7 }
47
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Settings.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Settings.html
index 09be3880f..13bc9062c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Settings.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Settings.html
@@ -326,14 +326,14 @@
155
- 156 2 private static final Settings INSTANCE = new Settings();
+ 156 1 private static final Settings INSTANCE = new Settings();
157
158
159
- 160 2 private Properties props = null ;
+ 160 1 private Properties props = null ;
161
162
@@ -342,30 +342,30 @@
164
- 165 2 private Settings() {
- 166 2 InputStream in = null ;
- 167 2 props = new Properties();
+ 165 1 private Settings() {
+ 166 1 InputStream in = null ;
+ 167 1 props = new Properties();
168
try {
- 169 2 in = this .getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE);
- 170 2 props.load(in);
+ 169 1 in = this .getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE);
+ 170 1 props.load(in);
171 0 } catch (IOException ex) {
172 0 Logger.getLogger(Settings.class .getName()).log(Level.SEVERE, "Unable to load default settings." );
173 0 Logger.getLogger(Settings.class .getName()).log(Level.FINE, null , ex);
174
} finally {
- 175 2 if (in != null ) {
+ 175 1 if (in != null ) {
176
try {
- 177 2 in.close();
+ 177 1 in.close();
178 0 } catch (IOException ex) {
179 0 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
- 180 2 }
+ 180 1 }
181
}
182
}
- 183 2 }
+ 183 1 }
184
185
@@ -382,8 +382,8 @@
191
public static void setString(String key, String value) {
- 192 10 INSTANCE.props.setProperty(key, value);
- 193 10 }
+ 192 5 INSTANCE.props.setProperty(key, value);
+ 193 5 }
194
195
@@ -455,9 +455,9 @@
232
public static void mergeProperties(String filePath) throws FileNotFoundException, IOException {
- 233 2 final FileInputStream fis = new FileInputStream(filePath);
- 234 2 mergeProperties(fis);
- 235 2 }
+ 233 1 final FileInputStream fis = new FileInputStream(filePath);
+ 234 1 mergeProperties(fis);
+ 235 1 }
236
237
@@ -478,8 +478,8 @@
245
public static void mergeProperties(InputStream stream) throws IOException {
- 246 2 INSTANCE.props.load(stream);
- 247 2 }
+ 246 1 INSTANCE.props.load(stream);
+ 247 1 }
248
249
@@ -500,9 +500,9 @@
257
public static File getFile(String key) {
- 258 12 final String file = getString(key);
- 259 12 if (file == null ) {
- 260 12 return null ;
+ 258 6 final String file = getString(key);
+ 259 6 if (file == null ) {
+ 260 6 return null ;
261
}
262 0 return new File(file);
@@ -536,13 +536,13 @@
277
public static File getDataFile(String key) {
- 278 262 final String file = getString(key);
- 279 262 Logger.getLogger(Settings.class .getName()).log(Level.FINE, String.format("Settings.getDataFile() - file: '%s'" , file));
- 280 262 if (file == null ) {
+ 278 131 final String file = getString(key);
+ 279 131 Logger.getLogger(Settings.class .getName()).log(Level.FINE, String.format("Settings.getDataFile() - file: '%s'" , file));
+ 280 131 if (file == null ) {
281 0 return null ;
282
}
- 283 262 if (file.startsWith("[JAR]" )) {
+ 283 131 if (file.startsWith("[JAR]" )) {
284 0 Logger.getLogger(Settings.class .getName()).log(Level.FINE, "Settings.getDataFile() - transforming filename" );
285 0 final File jarPath = getJarPath();
286 0 Logger.getLogger(Settings.class .getName()).log(Level.FINE, String.format("Settings.getDataFile() - jar file: '%s'" , jarPath.toString()));
@@ -551,7 +551,7 @@
289 0 return retVal;
290
}
- 291 262 return new File(file);
+ 291 131 return new File(file);
292
}
293
@@ -610,8 +610,8 @@
325
public static String getString(String key, String defaultValue) {
- 326 570 final String str = System.getProperty(key, INSTANCE.props.getProperty(key, defaultValue));
- 327 570 return str;
+ 326 285 final String str = System.getProperty(key, INSTANCE.props.getProperty(key, defaultValue));
+ 327 285 return str;
328
}
329
@@ -628,7 +628,7 @@
335
public static File getTempDirectory() {
- 336 24 return new File(Settings.getString(Settings.KEYS.TEMP_DIRECTORY, System.getProperty("java.io.tmpdir" )));
+ 336 12 return new File(Settings.getString(Settings.KEYS.TEMP_DIRECTORY, System.getProperty("java.io.tmpdir" )));
337
}
338
@@ -651,7 +651,7 @@
347
public static String getString(String key) {
- 348 324 return System.getProperty(key, INSTANCE.props.getProperty(key));
+ 348 159 return System.getProperty(key, INSTANCE.props.getProperty(key));
349
}
350
@@ -668,8 +668,8 @@
356
public static void removeProperty(String key) {
- 357 2 INSTANCE.props.remove(key);
- 358 2 }
+ 357 1 INSTANCE.props.remove(key);
+ 358 1 }
359
360
@@ -696,11 +696,11 @@
int value;
371
try {
- 372 2 value = Integer.parseInt(Settings.getString(key));
+ 372 1 value = Integer.parseInt(Settings.getString(key));
373 0 } catch (NumberFormatException ex) {
374 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
- 375 2 }
- 376 2 return value;
+ 375 1 }
+ 376 1 return value;
377
}
378
@@ -731,13 +731,13 @@
int value;
391
try {
- 392 2 value = Integer.parseInt(Settings.getString(key));
- 393 2 } catch (NumberFormatException ex) {
- 394 2 final String msg = String.format("Could not convert property '%s' to an int." , key);
- 395 2 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, msg, ex);
- 396 2 value = defaultValue;
+ 392 1 value = Integer.parseInt(Settings.getString(key));
+ 393 1 } catch (NumberFormatException ex) {
+ 394 1 final String msg = String.format("Could not convert property '%s' to an int." , key);
+ 395 1 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, msg, ex);
+ 396 1 value = defaultValue;
397 0 }
- 398 2 return value;
+ 398 1 return value;
399
}
400
@@ -766,11 +766,11 @@
long value;
412
try {
- 413 2 value = Long.parseLong(Settings.getString(key));
+ 413 1 value = Long.parseLong(Settings.getString(key));
414 0 } catch (NumberFormatException ex) {
415 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
- 416 2 }
- 417 2 return value;
+ 416 1 }
+ 417 1 return value;
418
}
419
@@ -799,17 +799,17 @@
boolean value;
431
try {
- 432 20 value = Boolean.parseBoolean(Settings.getString(key));
+ 432 10 value = Boolean.parseBoolean(Settings.getString(key));
433 0 } catch (NumberFormatException ex) {
434 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
- 435 20 }
- 436 20 return value;
+ 435 10 }
+ 436 10 return value;
437
}
438
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html
index a95b17501..355b04dc2 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html
@@ -97,14 +97,14 @@
41
- 42 2 private static final Pattern CONTAINS_URL_TEST = Pattern.compile("^.*(ht|f)tps?://.*$" , Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
+ 42 1 private static final Pattern CONTAINS_URL_TEST = Pattern.compile("^.*(ht|f)tps?://.*$" , Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
43
44
45
- 46 2 private static final Pattern IS_URL_TEST = Pattern.compile("^(ht|f)tps?://.*" , Pattern.CASE_INSENSITIVE);
+ 46 1 private static final Pattern IS_URL_TEST = Pattern.compile("^(ht|f)tps?://.*" , Pattern.CASE_INSENSITIVE);
47
48
@@ -123,7 +123,7 @@
55
public static boolean containsUrl(String text) {
- 56 47674 return CONTAINS_URL_TEST.matcher(text).matches();
+ 56 29166 return CONTAINS_URL_TEST.matcher(text).matches();
57
}
58
@@ -142,7 +142,7 @@
65
public static boolean isUrl(String text) {
- 66 292 return IS_URL_TEST.matcher(text).matches();
+ 66 135 return IS_URL_TEST.matcher(text).matches();
67
}
68
@@ -151,7 +151,7 @@
70
- 71 2 private static final HashSet<String> IGNORE_LIST = new HashSet<String>(
+ 71 1 private static final HashSet<String> IGNORE_LIST = new HashSet<String>(
72
Arrays.asList("www" , "com" , "org" , "gov" , "info" , "name" , "net" , "pro" , "tel" , "mobi" , "xxx" ));
73
@@ -186,40 +186,40 @@
88
public static List<String> extractImportantUrlData(String text) throws MalformedURLException {
- 89 292 final ArrayList<String> importantParts = new ArrayList<String>();
- 90 292 final URL url = new URL(text);
- 91 292 final String[] domain = url.getHost().split("\\." );
+ 89 135 final ArrayList<String> importantParts = new ArrayList<String>();
+ 90 135 final URL url = new URL(text);
+ 91 135 final String[] domain = url.getHost().split("\\." );
92
- 93 874 for (int i = 0; i < domain.length - 1; i++) {
- 94 582 final String sub = domain[i];
- 95 582 if (!IGNORE_LIST.contains(sub.toLowerCase())) {
- 96 392 importantParts.add(sub);
+ 93 404 for (int i = 0; i < domain.length - 1; i++) {
+ 94 269 final String sub = domain[i];
+ 95 269 if (!IGNORE_LIST.contains(sub.toLowerCase())) {
+ 96 185 importantParts.add(sub);
97
}
98
}
- 99 292 final String document = url.getPath();
- 100 292 final String[] pathParts = document.split("[\\//]" );
- 101 292 for (int i = 0; i < pathParts.length - 2; i++) {
+ 99 135 final String document = url.getPath();
+ 100 135 final String[] pathParts = document.split("[\\//]" );
+ 101 135 for (int i = 0; i < pathParts.length - 2; i++) {
102 0 if (!pathParts[i].isEmpty()) {
103 0 importantParts.add(pathParts[i]);
104
}
105
}
- 106 292 if (pathParts.length > 0 && !pathParts[pathParts.length - 1].isEmpty()) {
- 107 94 final String fileNameNoExt = pathParts[pathParts.length - 1].replaceAll("\\..*{0,5}$" , "" );
- 108 94 importantParts.add(fileNameNoExt);
+ 106 135 if (pathParts.length > 0 && !pathParts[pathParts.length - 1].isEmpty()) {
+ 107 47 final String fileNameNoExt = pathParts[pathParts.length - 1].replaceAll("\\..*{0,5}$" , "" );
+ 108 47 importantParts.add(fileNameNoExt);
109
}
- 110 292 return importantParts;
+ 110 135 return importantParts;
111
}
112
}
-
+
diff --git a/dependency-check-core/cpd.html b/dependency-check-core/cpd.html
index e50b33ab1..0e9cb1fe5 100644
--- a/dependency-check-core/cpd.html
+++ b/dependency-check-core/cpd.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - CPD Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -280,7 +280,7 @@
Line
org\owasp\dependencycheck\analyzer\ArchiveAnalyzer.java
-132
+139
org\owasp\dependencycheck\analyzer\JarAnalyzer.java
887
diff --git a/dependency-check-core/dependency-updates-report.html b/dependency-check-core/dependency-updates-report.html
index 9b5a7bdb5..2a804dac4 100644
--- a/dependency-check-core/dependency-updates-report.html
+++ b/dependency-check-core/dependency-updates-report.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Dependency Updates Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -785,7 +785,7 @@
jar
Newer versions
-2.3.0 Next Minor 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6.0 2.6.2 2.6.3 2.6.52.6.6 Latest Minor
+2.3.0 Next Minor 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6.0 2.6.2 2.6.3 2.6.5 2.6.62.6.8 Latest Minor
org.apache.axis2:axis2-adb
@@ -917,7 +917,7 @@
jar
Newer versions
-4.6.0 Next Minor
+4.6.0 Next Minor 4.6.1 Latest Minor
org.apache.lucene:lucene-core
@@ -944,7 +944,7 @@
jar
Newer versions
-4.6.0 Next Minor
+4.6.0 Next Minor 4.6.1 Latest Minor
org.apache.lucene:lucene-queryparser
@@ -971,7 +971,7 @@
jar
Newer versions
-4.6.0 Next Minor
+4.6.0 Next Minor 4.6.1 Latest Minor
org.apache.lucene:lucene-test-framework
@@ -998,7 +998,7 @@
jar
Newer versions
-4.4.0 Next Minor 4.5.0 4.5.14.6.0 Latest Minor
+4.4.0 Next Minor 4.5.0 4.5.1 4.6.04.6.1 Latest Minor
org.apache.maven.scm:maven-scm-provider-cvsexe
@@ -1232,7 +1232,7 @@
jar
Newer versions
-2.5.6 Next Incremental 2.5.6.SEC01 2.5.6.SEC022.5.6.SEC03 Latest Incremental 3.0.0.RELEASE Next Major 3.0.1.RELEASE 3.0.2.RELEASE 3.0.3.RELEASE 3.0.4.RELEASE 3.0.5.RELEASE 3.0.6.RELEASE 3.0.7.RELEASE 3.1.0.RELEASE 3.1.1.RELEASE 3.1.2.RELEASE 3.2.0.RELEASE 3.2.1.RELEASE 3.2.2.RELEASE 3.2.3.RELEASE 3.2.4.RELEASE 3.2.5.RELEASE 3.2.6.RELEASE4.0.0.RELEASE Latest Major
+2.5.6 Next Incremental 2.5.6.SEC01 2.5.6.SEC022.5.6.SEC03 Latest Incremental 3.0.0.RELEASE Next Major 3.0.1.RELEASE 3.0.2.RELEASE 3.0.3.RELEASE 3.0.4.RELEASE 3.0.5.RELEASE 3.0.6.RELEASE 3.0.7.RELEASE 3.1.0.RELEASE 3.1.1.RELEASE 3.1.2.RELEASE 3.2.0.RELEASE 3.2.1.RELEASE 3.2.2.RELEASE 3.2.3.RELEASE 3.2.4.RELEASE 3.2.5.RELEASE 3.2.6.RELEASE 3.2.7.RELEASE 4.0.0.RELEASE4.0.1.RELEASE Latest Major
diff --git a/dependency-check-core/failsafe-report.html b/dependency-check-core/failsafe-report.html
index 54a6f60d9..7ceabbceb 100644
--- a/dependency-check-core/failsafe-report.html
+++ b/dependency-check-core/failsafe-report.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Surefire Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -258,7 +258,7 @@ function toggleDisplay(elementId) {
0
0
100%
-30.534
+178.618
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Package List
@@ -279,7 +279,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
19.68
+
48.089
org.owasp.dependencycheck.utils
2
@@ -287,7 +287,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.745
+
52.401
org.owasp.dependencycheck.data.update
5
@@ -295,7 +295,7 @@ function toggleDisplay(elementId) {
0
0
100%
-10.109
+
78.128
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
org.owasp.dependencycheck
@@ -317,7 +317,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
19.68
+
48.089
org.owasp.dependencycheck.utils
@@ -338,7 +338,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.745
+52.401
org.owasp.dependencycheck.data.update
@@ -359,7 +359,7 @@ function toggleDisplay(elementId) {
0
0
100%
-9.829
+76.282
StandardUpdateIntegrationTest
@@ -368,7 +368,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.28
+1.846
+76.282
StandardUpdateIntegrationTest
testOpenDataStores
-0.08
+0.418
testUpdatesNeeded
-0.087
+0.651
testWithinRange
-0.064
+0.366
testUpdate
-0.049
+0.411
EngineIntegrationTest
testScan
-19.68
+48.089
DownloaderIntegrationTest
testGetLastModified
-0.038
+0.519
testFetchFile
-0.707
+51.882
diff --git a/dependency-check-core/findbugs.html b/dependency-check-core/findbugs.html
index cc7e2a595..4220e8cf1 100644
--- a/dependency-check-core/findbugs.html
+++ b/dependency-check-core/findbugs.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - FindBugs Bug Detector Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -237,7 +237,7 @@
Errors
Missing Classes
-196
+201
10
0
0
@@ -320,11 +320,11 @@
Line
Priority
-Dead store to extractComments in org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.analyze(Dependency, Engine)
-STYLE
-DLS_DEAD_LOCAL_STORE
-95
-Medium
+Found reliance on default encoding in org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.analyze(Dependency, Engine): new java.io.FileReader(File)
+I18N
+DM_DEFAULT_ENCODING
+110
+High
org.owasp.dependencycheck.data.nvdcve.CveDB
diff --git a/dependency-check-core/index.html b/dependency-check-core/index.html
index a7066584c..27d2a6961 100644
--- a/dependency-check-core/index.html
+++ b/dependency-check-core/index.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - About
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-core/javancss.html b/dependency-check-core/javancss.html
index c1f6e5cc9..565f4e926 100644
--- a/dependency-check-core/javancss.html
+++ b/dependency-check-core/javancss.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - JavaNCSS Metric Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -242,13 +242,13 @@
Multi lines comment
org.owasp.dependencycheck.analyzer
-21
-163
-1820
-181
-1211
+22
+167
+1890
+186
+1238
148
-575
+607
org.owasp.dependencycheck.jaxb.pom.generated
86
@@ -261,11 +261,11 @@
org.owasp.dependencycheck.dependency
14
-162
-736
-159
-1007
-3
+163
+735
+160
+1012
+13
222
org.owasp.dependencycheck.data.nvdcve
@@ -358,6 +358,15 @@
1
65
+org.owasp.dependencycheck.data.nuget
+4
+21
+92
+23
+136
+0
+85
+
org.owasp.dependencycheck.data.nexus
2
14
@@ -366,7 +375,7 @@
100
7
53
-
+
org.owasp.dependencycheck.data.cwe
2
5
@@ -375,7 +384,7 @@
29
1
50
-
+
org.owasp.dependencycheck.data.update.exception
2
6
@@ -384,7 +393,7 @@
40
0
50
-
+
org.owasp.dependencycheck.jaxb.pom
1
4
@@ -393,7 +402,7 @@
39
0
30
-
+
org.owasp.dependencycheck.exception
1
4
@@ -403,7 +412,7 @@
0
30
-
+
Classes total
Methods total
NCSS total
@@ -411,121 +420,115 @@
Javadoc lines
Single lines comment
Multi lines comment
-
-193
-1263
-7788
-1409
-12087
-475
-2507
+
+198
+1289
+7949
+1438
+12255
+485
+2624
[ package ] [ object ] [ method ] [ explanation ]
TOP 30 classes containing the most NCSS.
TOP 30 classes containing the most methods.
+
13
Averages.
-
+
NCSS average
Program NCSS
Classes average
Methods average
Javadocs average
-
-37.48
-7,788.00
-0.34
-6.54
-7.76
+
+37.19
+7,949.00
+0.33
+6.51
+7.71
[ package ] [ object ] [ method ] [ explanation ]
TOP 30 Methods containing the most NCSS.
-
+
Methods
NCSS
CCN
Javadocs
-
+
org.owasp.dependencycheck.data.nvdcve.CveDB.updateVulnerability(Vulnerability)
116
17
1
-
+
org.owasp.dependencycheck.analyzer.JarAnalyzer.parseManifest(Dependency,ClassNameInformation)
109
41
1
-
+
org.owasp.dependencycheck.analyzer.JarAnalyzer.addPomEvidence(Dependency,Model,Properties)
74
44
1
-
+
org.owasp.dependencycheck.data.update.xml.NvdCve20Handler.endElement(String,String,String)
71
27
0
-
+
org.owasp.dependencycheck.analyzer.JarAnalyzer.setPomEvidence(Dependency,Model,Properties,ClassNameInformation)
69
31
1
-
+
org.owasp.dependencycheck.data.update.StandardUpdate.update()
60
25
1
-
+
org.owasp.dependencycheck.Engine.analyzeDependencies()
59
18
1
-
+
org.owasp.dependencycheck.data.update.xml.NvdCve20Handler.startElement(String,String,String,Attributes)
55
21
0
-
+
org.owasp.dependencycheck.data.nvdcve.CveDB.getVulnerability(String)
54
9
1
-
+
org.owasp.dependencycheck.utils.FileUtils.extractFiles(File,File,Engine)
51
23
1
-
+
org.owasp.dependencycheck.analyzer.JarAnalyzer.extractPom(String,JarFile,Dependency)
50
12
1
-
+
org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.extractArchive(ArchiveInputStream,File,Engine)
49
23
1
-
+
org.owasp.dependencycheck.analyzer.CPEAnalyzer.determineIdentifiers(Dependency,String,String)
47
22
1
-
+
org.owasp.dependencycheck.analyzer.JarAnalyzer.analyzePOM(Dependency,ClassNameInformation,Engine)
44
11
1
-
+
org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.getConnection()
42
15
1
-
+
org.owasp.dependencycheck.data.update.StandardUpdate.updatesNeeded()
42
17
1
-
+
org.owasp.dependencycheck.reporting.ReportGenerator.generateReport(String,String)
41
16
1
-
+
org.owasp.dependencycheck.data.update.xml.NvdCve12Handler.startElement(String,String,String,Attributes)
40
14
0
-
+
org.owasp.dependencycheck.utils.Downloader.fetchFile(URL,File)
40
15
1
-
+
org.owasp.dependencycheck.dependency.Dependency.equals(Object)
37
57
1
-
-org.owasp.dependencycheck.dependency.VulnerableSoftware.compareTo(VulnerableSoftware)
-37
-19
-1
org.owasp.dependencycheck.suppression.SuppressionRule.process(Dependency)
37
@@ -939,36 +943,41 @@
18
1
-org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.extractFiles(File,File,Engine)
-32
-16
+org.owasp.dependencycheck.dependency.VulnerableSoftware.compareTo(VulnerableSoftware)
+34
+19
1
+org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.extractFiles(File,File,Engine)
+32
+14
+1
+
org.owasp.dependencycheck.analyzer.JarAnalyzer.addDescription(Dependency,String,String,String)
32
10
1
-
+
org.owasp.dependencycheck.utils.DependencyVersion.compareTo(DependencyVersion)
32
19
0
-
+
org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.analyze(Dependency,Engine)
30
14
1
-
+
org.owasp.dependencycheck.data.nvdcve.CveDB.getVulnerabilities(String)
30
7
1
-
+
org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.buildIndex(CveDB)
29
16
1
-
+
org.owasp.dependencycheck.suppression.SuppressionParser.parseSuppressionRules(File)
29
10
@@ -976,14 +985,14 @@
Averages.
-
+
Program NCSS
NCSS average
CCN average
Javadocs average
-
-7,788.00
-4.72
+
+7,949.00
+4.71
2.26
0.97
@@ -993,46 +1002,46 @@
Statements for JavaNCSS are not statements as specified in the Java Language Specification but include all kinds of declarations too. Roughly spoken, NCSS is approximately equivalent to counting ';' and '{' characters in Java source files.
Not counted are empty statements, empty blocks or semicolons after closing brackets. Of course, comments don't get counted too. Closing brackets also never get counted, the same applies to blocks in general.
-
+
Examples
-
+
Package declaration
package java.lang;
-
+
Import declaration
import java.awt.*;
-
+
Class declaration
public class Foo {
public class Foo extends Bla {
-
+
Interface declaration
public interface Able ; {
-
+
Field declaration
int a;
int a, b, c = 5, d = 6;
-
+
Method declaration
public void cry();
public void gib() throws DeadException {
-
+
Constructor declaration
public Foo() {
-
+
Constructor invocation
-
+
Statement declaration
@@ -1042,7 +1051,7 @@
if (3 == 4);
if (4 == 4) { ;
} else {
-
+
Label declaration
fine :
In some cases consecutive semicolons are illegal according to the JLS but JavaNCSS still tolerates them (thought JavaNCSS is still more strict as 'javac'). Nevertheless they are never counted as two statements.
diff --git a/dependency-check-core/license.html b/dependency-check-core/license.html
index d9a07e94a..a73c56e64 100644
--- a/dependency-check-core/license.html
+++ b/dependency-check-core/license.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Project License
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
-
Last Published: 2014-01-26 |
-
Version: 1.1.0
+
Last Published: 2014-01-30 |
+
Version: 1.1.1
diff --git a/dependency-check-core/plugin-updates-report.html b/dependency-check-core/plugin-updates-report.html
index 9a813d09d..7e6ac0678 100644
--- a/dependency-check-core/plugin-updates-report.html
+++ b/dependency-check-core/plugin-updates-report.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Plugin Updates Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-core/pmd.html b/dependency-check-core/pmd.html
index 64d7d0b47..191455d09 100644
--- a/dependency-check-core/pmd.html
+++ b/dependency-check-core/pmd.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - PMD Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -235,13 +235,13 @@
Line
These nested if statements could be combined
-136 - 139
+143 - 146
These nested if statements could be combined
-297 - 300
+304 - 307
These nested if statements could be combined
-311 - 314
+318 - 321
org/owasp/dependencycheck/analyzer/CPEAnalyzer.java
@@ -300,86 +300,89 @@
Violation
Line
+An empty statement (semicolon) not part of a loop
+105
+
Avoid unused local variables such as 'extractComments'.
-95
+108
+
+
org/owasp/dependencycheck/analyzer/NuspecAnalyzer.java
+
+
+Violation
+Line
+
+Avoid empty catch blocks
+128
org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.java
-
+
Violation
Line
-
+
Useless parentheses.
75
org/owasp/dependencycheck/data/cpe/IndexEntry.java
-
+
Violation
Line
-
+
Useless parentheses.
172
-
+
Useless parentheses.
175
org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.java
-
+
Violation
Line
-
+
These nested if statements could be combined
154 - 156
org/owasp/dependencycheck/data/nvdcve/CveDB.java
-
+
Violation
Line
-
+
Avoid unused private fields such as 'SELECT_PROPERTY'.
240
-
+
Avoid unused private fields such as 'DELETE_PROPERTY'.
252
-
+
Useless parentheses.
722
org/owasp/dependencycheck/data/nvdcve/DriverShim.java
-
+
Violation
Line
-
+
Useless parentheses.
167
org/owasp/dependencycheck/data/update/StandardUpdate.java
-
+
Violation
Line
-
+
Useless parentheses.
114
org/owasp/dependencycheck/dependency/Dependency.java
-
+
Violation
Line
-
-Useless parentheses.
-508
-
-Useless parentheses.
-511
-
-Useless parentheses.
-514
Useless parentheses.
517
@@ -391,98 +394,107 @@
523
Useless parentheses.
-542
+526
Useless parentheses.
-545
+529
+
+Useless parentheses.
+532
+
+Useless parentheses.
+551
+
+Useless parentheses.
+554
org/owasp/dependencycheck/dependency/Evidence.java
-
+
Violation
Line
-
+
Useless parentheses.
202
org/owasp/dependencycheck/dependency/Identifier.java
-
+
Violation
Line
-
+
Useless parentheses.
175
-
+
Useless parentheses.
178
org/owasp/dependencycheck/dependency/Reference.java
-
+
Violation
Line
-
-Useless parentheses.
-109
Useless parentheses.
-112
+109
Useless parentheses.
+112
+
+Useless parentheses.
115
org/owasp/dependencycheck/dependency/Vulnerability.java
-
+
Violation
Line
-
+
Useless parentheses.
373
org/owasp/dependencycheck/dependency/VulnerableSoftware.java
-
+
Violation
Line
-
-Useless parentheses.
-139
Useless parentheses.
-178
+139
Useless parentheses.
+178
+
+Useless parentheses.
183
org/owasp/dependencycheck/suppression/PropertyType.java
-
+
Violation
Line
-
+
Useless parentheses.
161
org/owasp/dependencycheck/utils/Checksum.java
-
+
Violation
Line
-
+
Useless parentheses.
109
org/owasp/dependencycheck/utils/DependencyVersion.java
-
+
Violation
Line
-
+
Useless parentheses.
135
-
+
Useless parentheses.
194
diff --git a/dependency-check-core/project-info.html b/dependency-check-core/project-info.html
index fb4599a12..c013d9d09 100644
--- a/dependency-check-core/project-info.html
+++ b/dependency-check-core/project-info.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Project Information
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-core/project-reports.html b/dependency-check-core/project-reports.html
index b4c161ccd..5cf5284e4 100644
--- a/dependency-check-core/project-reports.html
+++ b/dependency-check-core/project-reports.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Generated Reports
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-core/project-summary.html b/dependency-check-core/project-summary.html
index a8a32134e..be671ce0e 100644
--- a/dependency-check-core/project-summary.html
+++ b/dependency-check-core/project-summary.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Project Summary
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -188,7 +188,7 @@
dependency-check-core
Version
-1.1.0
+1.1.1
Type
jar
diff --git a/dependency-check-core/surefire-report.html b/dependency-check-core/surefire-report.html
index 926c80385..b87c6697a 100644
--- a/dependency-check-core/surefire-report.html
+++ b/dependency-check-core/surefire-report.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Surefire Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -253,12 +253,12 @@ function toggleDisplay(elementId) {
Success Rate
Time
-170
+184
0
0
2
-98.824%
-51.658
+98.913%
+46.5
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Package List
@@ -279,7 +279,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
2.541
+
1.942
org.owasp.dependencycheck.data.cwe
1
@@ -287,8 +287,16 @@ function toggleDisplay(elementId) {
0
0
100%
-0.001
+
0
+org.owasp.dependencycheck.data.nuget
+3
+0
+0
+0
+100%
+0.226
+
org.owasp.dependencycheck.data.nexus
4
0
@@ -296,39 +304,39 @@ function toggleDisplay(elementId) {
2
50%
0
-
+
org.owasp.dependencycheck.dependency
23
0
0
0
100%
-0
-
+0.001
+
org.owasp.dependencycheck.utils
29
0
0
0
100%
-0.057
-
+0.036
+
org.owasp.dependencycheck.data.update.xml
2
0
0
0
100%
-0.084
-
+0.038
+
org.owasp.dependencycheck.analyzer
-39
+50
0
0
0
100%
-47.497
-
+43.191
+
org.owasp.dependencycheck.data.update
10
0
@@ -336,31 +344,31 @@ function toggleDisplay(elementId) {
0
100%
0
-
+
org.owasp.dependencycheck.data.nvdcve
14
0
0
0
100%
-0.854
-
+0.388
+
org.owasp.dependencycheck.suppression
35
0
0
0
100%
-0.018
-
+0
+
org.owasp.dependencycheck.data.lucene
10
0
0
0
100%
-0.606
-
+0.678
+
org.owasp.dependencycheck.data.cpe
1
0
@@ -389,7 +397,7 @@ function toggleDisplay(elementId) {
0
0
100%
-2.541
+1.942
org.owasp.dependencycheck.data.cwe
@@ -410,7 +418,28 @@ function toggleDisplay(elementId) {
0
0
100%
-0.001
+0
+
+
org.owasp.dependencycheck.data.nuget
+
+
+
+Class
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+
+XPathNuspecParserTest
+3
+0
+0
+0
+100%
+0.226
org.owasp.dependencycheck.data.nexus
@@ -452,7 +481,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0
+0.001
VulnerableSoftwareTest
@@ -482,7 +511,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.057
+0.036
DependencyVersionTest
@@ -557,7 +586,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.019
+0
NvdCve_2_0_HandlerTest
@@ -566,7 +595,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.065
+0.038
org.owasp.dependencycheck.analyzer
@@ -587,7 +616,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.032
+0.016
AnalyzerServiceTest
@@ -596,7 +625,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.614
+0.709
ArchiveAnalyzerTest
@@ -605,7 +634,7 @@ function toggleDisplay(elementId) {
0
0
100%
-38.248
+33.247
CPEAnalyzerTest
@@ -614,7 +643,7 @@ function toggleDisplay(elementId) {
0
0
100%
-7.413
+8.08
DependencyBundlingAnalyzerTest
@@ -632,7 +661,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.001
+0
FileNameAnalyzerTest
@@ -641,7 +670,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.004
+0.01
JarAnalyzerTest
@@ -650,7 +679,25 @@ function toggleDisplay(elementId) {
0
0
100%
-1.185
+1.124
+
+
+JavaScriptAnalyzerTest
+7
+0
+0
+0
+100%
+0.005
+
+
+NuspecAnalyzerTest
+4
+0
+0
+0
+100%
+0
org.owasp.dependencycheck.data.update
@@ -701,7 +748,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.763
+0.283
DatabasePropertiesTest
@@ -710,7 +757,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.014
+0.021
DriverLoaderTest
@@ -719,7 +766,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.077
+0.084
org.owasp.dependencycheck.suppression
@@ -749,7 +796,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.017
+0
SuppressionParserTest
@@ -767,7 +814,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.001
+0
org.owasp.dependencycheck.data.lucene
@@ -806,7 +853,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0
+0.087
UrlTokenizingFilterTest
@@ -815,7 +862,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.606
+0.591
org.owasp.dependencycheck.data.cpe
@@ -846,53 +893,53 @@ function toggleDisplay(elementId) {
testNewHashSet
-0.032
+0.016
AnalyzerServiceTest
testGetAnalyzers
-0.614
+0.709
ArchiveAnalyzerTest
testAnalyzeTar
-3.932
+4.005
testAnalyzeTgz
-32.122
+26.799
testAnalyze
-0.243
+0.496
testGetAnalysisPhase
-0
+0.001
testGetName
-0.001
+0
testAnalyze_badZip
-0.008
+0.009
testInitialize
-0.004
+0.005
testAnalyzeTarGz
-1.937
+1.932
testSupportsExtension
-0.001
+0
testGetSupportedExtensions
@@ -903,19 +950,19 @@ function toggleDisplay(elementId) {
testSearchCPE
-0.404
+0.669
testDetermineCPE
-1.481
+1.503
testDetermineCPE_full
-5.528
+5.906
testBuildSearch
-0
+0.002
DependencyBundlingAnalyzerTest
@@ -965,14 +1012,14 @@ function toggleDisplay(elementId) {
testGetSupportedExtensions
-0.001
+0
FileNameAnalyzerTest
testAnalyze
-0.004
+0.01
testClose
@@ -1003,23 +1050,73 @@ function toggleDisplay(elementId) {
testAnalyze
-0.322
+0.301
testGetName
-0.227
+0.224
testInterpolateString
-0.241
+0.218
testSupportsExtension
-0.196
+0.207
testGetSupportedExtensions
-0.199
+0.174
+
+
IndexEntryTest
@@ -1033,7 +1130,7 @@ function toggleDisplay(elementId) {
testGetCweName
-0.001
+0
FieldAnalyzerTest
@@ -1065,27 +1162,27 @@ function toggleDisplay(elementId) {
-testClear
-0
+testExamples
+0.065
-testExamples
-0
+testClear
+0.022
UrlTokenizingFilterTest
-testRandomStrings
-0.589
-
-
testEmptyTerm
0.007
-
+
testExamples
-0.01
+0.028
+
+
+testRandomStrings
+0.556
NexusSearchTest
@@ -1116,6 +1213,21 @@ function toggleDisplay(elementId) {
skipped
+
XPathNuspecParserTest
+
+
+
+testGoodDocument
+0.202
+
+
+testMissingDocument
+0.016
+
+
+testNotNuspec
+0.008
+
CveDBTest
@@ -1129,7 +1241,7 @@ function toggleDisplay(elementId) {
testGetVulnerabilities
-0.763
+0.283
DatabasePropertiesTest
@@ -1140,19 +1252,19 @@ function toggleDisplay(elementId) {
testGetProperty_String_String
-0
+0.005
testGetProperties
-0.002
+0.004
testGetProperty_String
-0.004
+0.003
testIsEmpty
-0.003
+0.004
DriverLoaderTest
@@ -1175,11 +1287,11 @@ function toggleDisplay(elementId) {
testLoad_String_String
-0.042
+0.056
testLoad_String_String_multiple_paths
-0.035
+0.028
NvdCveInfoTest
@@ -1232,14 +1344,14 @@ function toggleDisplay(elementId) {
testParse
-0.019
+0
NvdCve_2_0_HandlerTest
testParse
-0.065
+0.038
DependencyTest
@@ -1322,7 +1434,7 @@ function toggleDisplay(elementId) {
testSetActualFilePath
-0
+0.001
VulnerableSoftwareTest
@@ -1344,7 +1456,7 @@ function toggleDisplay(elementId) {
testGenerateXMLReport
-2.541
+1.942
testGenerateReport
@@ -1374,7 +1486,7 @@ function toggleDisplay(elementId) {
testHandler
-0.017
+0
SuppressionParserTest
@@ -1432,7 +1544,7 @@ function toggleDisplay(elementId) {
testGetCvssBelow
-0.001
+0
testSetFilePath
@@ -1507,11 +1619,11 @@ function toggleDisplay(elementId) {
testGetChecksum_NoSuchAlgorithm
-0.056
+0.033
testGetChecksum
-0.001
+0.003
testGetMD5Checksum
diff --git a/dependency-check-core/taglist.html b/dependency-check-core/taglist.html
index 81a164103..0e41d315c 100644
--- a/dependency-check-core/taglist.html
+++ b/dependency-check-core/taglist.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Tag List report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -232,19 +232,19 @@
Tag strings used by tag class
Todo Work
-19
+20
todo, FIXME
Each tag is detailed below:
-
Number of occurrences found in the code: 19
+
Number of occurrences found in the code: 20
org.owasp.dependencycheck.analyzer.ArchiveAnalyzer
Line
- can we get more evidence from the parent? EAR contains module name, etc. analyze the dependency (i.e. extract files) if it is a supported type.
-200
+207
org.owasp.dependencycheck.analyzer.CPEAnalyzer
Line
@@ -291,6 +291,12 @@
change this to a regex?
758
+org.owasp.dependencycheck.analyzer.JavaScriptAnalyzerTest
+Line
+
+improve the assertions assertTrue(depJQ6.getEvidence().size() > 0); assertTrue(depJQ10.getEvidence().size() > 0); assertTrue(depJQ10min.getEvidence().size() > 0);
+125
+
org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer
Line
diff --git a/dependency-check-core/xref-test/allclasses-frame.html b/dependency-check-core/xref-test/allclasses-frame.html
index aef0025a4..50c63d05b 100644
--- a/dependency-check-core/xref-test/allclasses-frame.html
+++ b/dependency-check-core/xref-test/allclasses-frame.html
@@ -88,12 +88,18 @@
JarAnalyzerTest
+
+
+ JavaScriptAnalyzerTest
LuceneUtilsTest
NexusSearchTest
+
+
+ NuspecAnalyzerTest
NvdCveInfoTest
@@ -139,6 +145,9 @@
VulnerableSoftwareTest
+
+
+ XPathNuspecParserTest
diff --git a/dependency-check-core/xref-test/index.html b/dependency-check-core/xref-test/index.html
index a4104d262..a68ecfbd1 100644
--- a/dependency-check-core/xref-test/index.html
+++ b/dependency-check-core/xref-test/index.html
@@ -4,7 +4,7 @@
- Dependency-Check Core 1.1.0 Reference
+ Dependency-Check Core 1.1.1 Reference
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/ArchiveAnalyzerTest.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/ArchiveAnalyzerTest.html
index e5023f18e..80fcfecc6 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/ArchiveAnalyzerTest.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/ArchiveAnalyzerTest.html
@@ -77,204 +77,235 @@
69 expResult.add("zip" );
70 expResult.add("war" );
71 expResult.add("ear" );
-72 expResult.add("tar" );
-73 expResult.add("gz" );
-74 expResult.add("tgz" );
-75 Set result = instance.getSupportedExtensions();
-76 assertEquals(expResult, result);
-77 }
-78
-79
-80
-81
-82 @Test
-83 public void testGetName() {
-84 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-85 String expResult = "Archive Analyzer" ;
-86 String result = instance.getName();
-87 assertEquals(expResult, result);
-88 }
-89
-90
-91
-92
-93 @Test
-94 public void testSupportsExtension() {
-95 String extension = "7z" ;
-96 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-97 boolean expResult = false;
-98 boolean result = instance.supportsExtension(extension);
-99 assertEquals(expResult, result);
-100
-101 extension = "war" ;
-102 expResult = true ;
-103 result = instance.supportsExtension(extension);
-104 assertEquals(expResult, result);
-105
-106 extension = "ear" ;
-107 result = instance.supportsExtension(extension);
-108 assertEquals(expResult, result);
-109
-110 extension = "zip" ;
-111 result = instance.supportsExtension(extension);
-112 assertEquals(expResult, result);
-113 }
+72 expResult.add("nupkg" );
+73 expResult.add("tar" );
+74 expResult.add("gz" );
+75 expResult.add("tgz" );
+76 Set result = instance.getSupportedExtensions();
+77 assertEquals(expResult, result);
+78 }
+79
+80
+81
+82
+83 @Test
+84 public void testGetName() {
+85 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+86 String expResult = "Archive Analyzer" ;
+87 String result = instance.getName();
+88 assertEquals(expResult, result);
+89 }
+90
+91
+92
+93
+94 @Test
+95 public void testSupportsExtension() {
+96 String extension = "7z" ;
+97 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+98 boolean expResult = false;
+99 boolean result = instance.supportsExtension(extension);
+100 assertEquals(expResult, result);
+101
+102 extension = "war" ;
+103 expResult = true ;
+104 result = instance.supportsExtension(extension);
+105 assertEquals(expResult, result);
+106
+107 extension = "ear" ;
+108 result = instance.supportsExtension(extension);
+109 assertEquals(expResult, result);
+110
+111 extension = "zip" ;
+112 result = instance.supportsExtension(extension);
+113 assertEquals(expResult, result);
114
-115
-116
-117
-118 @Test
-119 public void testGetAnalysisPhase() {
-120 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-121 AnalysisPhase expResult = AnalysisPhase.INITIAL;
-122 AnalysisPhase result = instance.getAnalysisPhase();
-123 assertEquals(expResult, result);
-124 }
-125
-126
-127
-128
-129 @Test
-130 public void testInitialize() throws Exception {
-131 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-132 instance.initialize();
-133
-134 instance.close();
-135
-136
-137 }
+115 extension = "nupkg" ;
+116 result = instance.supportsExtension(extension);
+117 assertEquals(expResult, result);
+118 }
+119
+120
+121
+122
+123 @Test
+124 public void testGetAnalysisPhase() {
+125 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+126 AnalysisPhase expResult = AnalysisPhase.INITIAL;
+127 AnalysisPhase result = instance.getAnalysisPhase();
+128 assertEquals(expResult, result);
+129 }
+130
+131
+132
+133
+134 @Test
+135 public void testInitialize() throws Exception {
+136 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+137 instance.initialize();
138
-139
-140
-141
-142 @Test
-143 public void testAnalyze() throws Exception {
-144 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-145 try {
-146 instance.initialize();
-147
-148 File file = new File(this .getClass().getClassLoader().getResource("daytrader-ear-2.1.7.ear" ).getPath());
-149 Dependency dependency = new Dependency(file);
-150 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
-151 Engine engine = new Engine();
+139 instance.close();
+140
+141
+142 }
+143
+144
+145
+146
+147 @Test
+148 public void testAnalyze() throws Exception {
+149 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+150 try {
+151 instance.initialize();
152
-153 int initial_size = engine.getDependencies().size();
-154 instance.analyze(dependency, engine);
-155 int ending_size = engine.getDependencies().size();
-156
-157 assertTrue(initial_size < ending_size);
+153 File file = new File(this .getClass().getClassLoader().getResource("daytrader-ear-2.1.7.ear" ).getPath());
+154 Dependency dependency = new Dependency(file);
+155 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
+156 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, false);
+157 Engine engine = new Engine();
158
-159 } finally {
-160 instance.close();
-161 }
-162 }
-163
-164
-165
-166
-167 @Test
-168 public void testAnalyzeTar() throws Exception {
-169 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-170 try {
-171 instance.initialize();
-172
-173
-174 File file = new File(this .getClass().getClassLoader().getResource("stagedhttp-modified.tar" ).getPath());
-175 Dependency dependency = new Dependency(file);
-176 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
-177 Engine engine = new Engine();
+159 int initial_size = engine.getDependencies().size();
+160 instance.analyze(dependency, engine);
+161 int ending_size = engine.getDependencies().size();
+162
+163 assertTrue(initial_size < ending_size);
+164
+165 } finally {
+166 instance.close();
+167 }
+168 }
+169
+170
+171
+172
+173 @Test
+174 public void testAnalyzeTar() throws Exception {
+175 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+176 try {
+177 instance.initialize();
178
-179 int initial_size = engine.getDependencies().size();
-180 instance.analyze(dependency, engine);
-181 int ending_size = engine.getDependencies().size();
-182
-183 assertTrue(initial_size < ending_size);
-184
-185 } finally {
-186 instance.close();
-187 }
-188 }
+179
+180 File file = new File(this .getClass().getClassLoader().getResource("stagedhttp-modified.tar" ).getPath());
+181 Dependency dependency = new Dependency(file);
+182 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
+183 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, false);
+184 Engine engine = new Engine();
+185
+186 int initial_size = engine.getDependencies().size();
+187 instance.analyze(dependency, engine);
+188 int ending_size = engine.getDependencies().size();
189
-190
-191
-192
-193 @Test
-194 public void testAnalyzeTarGz() throws Exception {
-195 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-196 try {
-197 instance.initialize();
-198
-199 File file = new File(this .getClass().getClassLoader().getResource("file.tar.gz" ).getPath());
-200
-201 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
-202 Engine engine = new Engine();
-203
-204 int initial_size = engine.getDependencies().size();
-205
-206 engine.scan(file);
-207 engine.analyzeDependencies();
-208 int ending_size = engine.getDependencies().size();
-209
-210 assertTrue(initial_size < ending_size);
+190 assertTrue(initial_size < ending_size);
+191
+192 } finally {
+193 instance.close();
+194 }
+195 }
+196
+197
+198
+199
+200 @Test
+201 public void testAnalyzeTarGz() throws Exception {
+202 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+203 try {
+204 instance.initialize();
+205
+206 File file = new File(this .getClass().getClassLoader().getResource("file.tar.gz" ).getPath());
+207
+208 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
+209 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, false);
+210 Engine engine = new Engine();
211
-212 } finally {
-213 instance.close();
-214 }
-215 }
-216
-217
-218
-219
-220 @Test
-221 public void testAnalyzeTgz() throws Exception {
-222 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-223 try {
-224 instance.initialize();
-225
-226 File file = new File(this .getClass().getClassLoader().getResource("file.tgz" ).getPath());
-227 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
-228 Engine engine = new Engine();
-229
-230 int initial_size = engine.getDependencies().size();
-231 engine.scan(file);
-232 engine.analyzeDependencies();
-233 int ending_size = engine.getDependencies().size();
-234
-235 assertTrue(initial_size < ending_size);
-236
-237 } finally {
-238 instance.close();
-239 }
-240 }
-241
-242
-243
-244
-245 @Test
-246 public void testAnalyze_badZip() throws Exception {
-247 ArchiveAnalyzer instance = new ArchiveAnalyzer();
-248 try {
-249 instance.initialize();
-250
-251 File file = new File(this .getClass().getClassLoader().getResource("test.zip" ).getPath());
-252 Dependency dependency = new Dependency(file);
-253 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
-254 Engine engine = new Engine();
-255 int initial_size = engine.getDependencies().size();
-256
-257
-258 instance.analyze(dependency, engine);
-259
-260
-261
-262
+212 int initial_size = engine.getDependencies().size();
+213
+214 engine.scan(file);
+215 engine.analyzeDependencies();
+216 int ending_size = engine.getDependencies().size();
+217
+218 assertTrue(initial_size < ending_size);
+219
+220 } finally {
+221 instance.close();
+222 }
+223 }
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249 @Test
+250 public void testAnalyzeTgz() throws Exception {
+251 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+252 try {
+253 instance.initialize();
+254
+255 File file = new File(this .getClass().getClassLoader().getResource("file.tgz" ).getPath());
+256 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
+257 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, false);
+258 Engine engine = new Engine();
+259
+260 int initial_size = engine.getDependencies().size();
+261 engine.scan(file);
+262 engine.analyzeDependencies();
263 int ending_size = engine.getDependencies().size();
-264 assertEquals(initial_size, ending_size);
-265 } finally {
-266 instance.close();
-267 }
-268 }
-269 }
+264
+265 assertTrue(initial_size < ending_size);
+266
+267 } finally {
+268 instance.close();
+269 }
+270 }
+271
+272
+273
+274
+275 @Test
+276 public void testAnalyze_badZip() throws Exception {
+277 ArchiveAnalyzer instance = new ArchiveAnalyzer();
+278 try {
+279 instance.initialize();
+280
+281 File file = new File(this .getClass().getClassLoader().getResource("test.zip" ).getPath());
+282 Dependency dependency = new Dependency(file);
+283 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, false);
+284 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, false);
+285 Engine engine = new Engine();
+286 int initial_size = engine.getDependencies().size();
+287
+288
+289 instance.analyze(dependency, engine);
+290
+291
+292
+293
+294 int ending_size = engine.getDependencies().size();
+295 assertEquals(initial_size, ending_size);
+296 } finally {
+297 instance.close();
+298 }
+299 }
+300 }
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzerTest.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzerTest.html
new file mode 100644
index 000000000..291399211
--- /dev/null
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzerTest.html
@@ -0,0 +1,158 @@
+
+
+
+JavaScriptAnalyzerTest xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.analyzer;
+19
+20 import java.io.File;
+21 import java.util.HashSet;
+22 import java.util.Set;
+23 import org.junit.After;
+24 import org.junit.AfterClass;
+25 import static org.junit.Assert.assertEquals;
+26 import org.junit.Before;
+27 import org.junit.BeforeClass;
+28 import org.junit.Test;
+29 import org.owasp.dependencycheck.Engine;
+30 import org.owasp.dependencycheck.dependency.Dependency;
+31
+32
+33
+34
+35
+36 public class JavaScriptAnalyzerTest {
+37
+38 public JavaScriptAnalyzerTest () {
+39 }
+40
+41 @BeforeClass
+42 public static void setUpClass() {
+43 }
+44
+45 @AfterClass
+46 public static void tearDownClass() {
+47 }
+48
+49 @Before
+50 public void setUp() {
+51 }
+52
+53 @After
+54 public void tearDown() {
+55 }
+56
+57
+58
+59
+60 @Test
+61 public void testGetSupportedExtensions() {
+62 JavaScriptAnalyzer instance = new JavaScriptAnalyzer();
+63 Set expResult = new HashSet<String>();
+64 expResult.add("js" );
+65 Set result = instance.getSupportedExtensions();
+66 assertEquals(expResult, result);
+67 }
+68
+69
+70
+71
+72 @Test
+73 public void testGetName() {
+74 System.out.println("getName" );
+75 JavaScriptAnalyzer instance = new JavaScriptAnalyzer();
+76 String expResult = "JavaScript Analyzer" ;
+77 String result = instance.getName();
+78 assertEquals(expResult, result);
+79 }
+80
+81
+82
+83
+84 @Test
+85 public void testSupportsExtension() {
+86 String extension = "js" ;
+87 JavaScriptAnalyzer instance = new JavaScriptAnalyzer();
+88 boolean expResult = true ;
+89 boolean result = instance.supportsExtension(extension);
+90 assertEquals(expResult, result);
+91 }
+92
+93
+94
+95
+96 @Test
+97 public void testGetAnalysisPhase() {
+98 JavaScriptAnalyzer instance = new JavaScriptAnalyzer();
+99 AnalysisPhase expResult = AnalysisPhase.INFORMATION_COLLECTION;
+100 AnalysisPhase result = instance.getAnalysisPhase();
+101 assertEquals(expResult, result);
+102 }
+103
+104
+105
+106
+107 @Test
+108 public void testAnalyze() throws Exception {
+109 File jq6 = new File(this .getClass().getClassLoader().getResource("jquery-1.6.2.min.js" ).getPath());
+110 File jq10 = new File(this .getClass().getClassLoader().getResource("jquery-1.10.2.js" ).getPath());
+111 File jq10min = new File(this .getClass().getClassLoader().getResource("jquery-1.10.2.min.js" ).getPath());
+112 Dependency depJQ6 = new Dependency(jq6);
+113 Dependency depJQ10 = new Dependency(jq10);
+114 Dependency depJQ10min = new Dependency(jq10min);
+115 Engine engine = null ;
+116 JavaScriptAnalyzer instance = new JavaScriptAnalyzer();
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129 }
+130
+131
+132
+133
+134 @Test
+135 public void testInitialize() throws Exception {
+136 }
+137
+138
+139
+140
+141 @Test
+142 public void testClose() throws Exception {
+143
+144 }
+145 }
+
+
+
+
+
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/NuspecAnalyzerTest.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/NuspecAnalyzerTest.html
new file mode 100644
index 000000000..2b764dd77
--- /dev/null
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/NuspecAnalyzerTest.html
@@ -0,0 +1,68 @@
+
+
+
+NuspecAnalyzerTest xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.analyzer;
+19
+20 import org.junit.Before;
+21 import org.junit.Test;
+22 import static org.junit.Assert.*;
+23
+24 public class NuspecAnalyzerTest {
+25 private NuspecAnalyzer instance;
+26
+27 @Before
+28 public void setUp() {
+29 instance = new NuspecAnalyzer();
+30 }
+31
+32 @Test
+33 public void testGetAnalyzerName() {
+34 assertEquals("Nuspec Analyzer" , instance.getName());
+35 }
+36
+37 @Test
+38 public void testGetSupportedExtensions() {
+39 assertTrue(instance.getSupportedExtensions().contains("nuspec" ));
+40 assertFalse(instance.getSupportedExtensions().contains("nupkg" ));
+41 }
+42
+43 @Test
+44 public void testSupportsExtension() {
+45 assertTrue(instance.supportsExtension("nuspec" ));
+46 assertFalse(instance.supportsExtension("nupkg" ));
+47 }
+48
+49 @Test
+50 public void testGetAnalysisPhaze() {
+51 assertEquals(AnalysisPhase.INFORMATION_COLLECTION, instance.getAnalysisPhase());
+52 }
+53 }
+54
+55
+
+
+
+
+
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/package-frame.html
index e2425d3fe..b365ac528 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.analyzer
@@ -38,6 +38,12 @@
JarAnalyzerTest
+
+
+ JavaScriptAnalyzerTest
+
+
+ NuspecAnalyzerTest
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/package-summary.html
index 5da2d9eda..ef23053dd 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/analyzer/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.analyzer
@@ -74,6 +74,16 @@
JarAnalyzerTest
+
+
+
+ JavaScriptAnalyzerTest
+
+
+
+
+ NuspecAnalyzerTest
+
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cpe/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cpe/package-frame.html
index a2ccc798a..715a2a9f6 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cpe/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cpe/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.cpe
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.cpe
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cpe/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cpe/package-summary.html
index 5e81ba53f..7add9ace9 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cpe/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cpe/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.cpe
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.cpe
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cwe/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cwe/package-frame.html
index 616ba600e..ff31df190 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cwe/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cwe/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.cwe
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.cwe
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cwe/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cwe/package-summary.html
index a5807baad..dd7beac8e 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cwe/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/cwe/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.cwe
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.cwe
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/lucene/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/lucene/package-frame.html
index c59e286bd..77138aa0d 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/lucene/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/lucene/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.lucene
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.lucene
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/lucene/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/lucene/package-summary.html
index b56f5d898..b23ed417c 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/lucene/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/lucene/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.lucene
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.lucene
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nexus/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nexus/package-frame.html
index 53b31e1ac..c246bf2d1 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nexus/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nexus/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.nexus
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nexus
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nexus/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nexus/package-summary.html
index 241b3c97f..c4b710523 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nexus/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nexus/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.nexus
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nexus
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/XPathNuspecParserTest.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/XPathNuspecParserTest.html
new file mode 100644
index 000000000..1760108e2
--- /dev/null
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/XPathNuspecParserTest.html
@@ -0,0 +1,86 @@
+
+
+
+
XPathNuspecParserTest xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.data.nuget;
+19
+20 import java.io.InputStream;
+21
+22 import org.junit.Test;
+23 import static org.junit.Assert.*;
+24
+25
+26
+27
+28
+29
+30
+31 public class XPathNuspecParserTest {
+32
+33
+34
+35
+36
+37 @Test
+38 public void testGoodDocument() throws Exception {
+39 NuspecParser parser = new XPathNuspecParser();
+40 InputStream is = XPathNuspecParserTest.class .getClassLoader().getResourceAsStream("log4net.2.0.3.nuspec" );
+41 NugetPackage np = parser.parse(is);
+42 assertEquals("log4net" , np.getId());
+43 assertEquals("2.0.3" , np.getVersion());
+44 assertEquals("log4net [1.2.13]" , np.getTitle());
+45 assertEquals("Apache Software Foundation" , np.getAuthors());
+46 assertEquals("Apache Software Foundation" , np.getOwners());
+47 assertEquals("http://logging.apache.org/log4net/license.html" , np.getLicenseUrl());
+48 }
+49
+50
+51
+52
+53
+54
+55 @Test(expected=NuspecParseException.class )
+56 public void testMissingDocument() throws Exception {
+57 NuspecParser parser = new XPathNuspecParser();
+58 InputStream is = XPathNuspecParserTest.class .getClassLoader().getResourceAsStream("dependencycheck.properties" );
+59 NugetPackage np = parser.parse(is);
+60 }
+61
+62
+63
+64
+65
+66
+67 @Test(expected=NuspecParseException.class )
+68 public void testNotNuspec() throws Exception {
+69 NuspecParser parser = new XPathNuspecParser();
+70 InputStream is = XPathNuspecParserTest.class .getClassLoader().getResourceAsStream("suppressions.xml" );
+71 NugetPackage np = parser.parse(is);
+72 }
+73 }
+
+
+
+
+
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/package-frame.html
new file mode 100644
index 000000000..3e95b28e8
--- /dev/null
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/package-frame.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nuget
+
+
+
+
+
+
+
Classes
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/package-summary.html
new file mode 100644
index 000000000..c3c15e36c
--- /dev/null
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nuget/package-summary.html
@@ -0,0 +1,69 @@
+
+
+
+
+
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nuget
+
+
+
+
+
+
+
Package org.owasp.dependencycheck.data.nuget
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nvdcve/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nvdcve/package-frame.html
index c6f95fbec..a95ae92d6 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nvdcve/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nvdcve/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.nvdcve
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nvdcve
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nvdcve/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nvdcve/package-summary.html
index f9a25589e..e08674dea 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nvdcve/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/nvdcve/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.nvdcve
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nvdcve
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/package-frame.html
index 8d8ee8105..57aa107f5 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/package-summary.html
index 3c4f66bee..a5b21bbd9 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/xml/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/xml/package-frame.html
index b9896dc28..6e79e2e4e 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/xml/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/xml/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update.xml
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update.xml
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/xml/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/xml/package-summary.html
index 940b6c33f..19ddd8595 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/xml/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/data/update/xml/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update.xml
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update.xml
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/VulnerableSoftwareTest.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/VulnerableSoftwareTest.html
index a271905bb..3b20f2dc3 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/VulnerableSoftwareTest.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/VulnerableSoftwareTest.html
@@ -95,8 +95,16 @@
87 int expResult = -2;
88 int result = instance.compareTo(vs);
89 assertEquals(expResult, result);
-
90 }
-
91 }
+
90
+
91 vs =
new VulnerableSoftware();
+
92 vs.setCpe(
"cpe:/a:yahoo:toolbar:3.1.0.20130813024103" );
+
93 instance =
new VulnerableSoftware();
+
94 instance.setCpe(
"cpe:/a:yahoo:toolbar:3.1.0.20130813024104" );
+
95 expResult = 1;
+
96 result = instance.compareTo(vs);
+
97 assertEquals(expResult, result);
+
98 }
+
99 }
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/package-frame.html
index 17288460a..ccd1d743b 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.dependency
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/package-summary.html
index d1a9a3962..88d3d4686 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/dependency/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.dependency
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/package-frame.html
index ce0796eac..e39a4cf87 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/package-summary.html
index 962b5553f..bb5443876 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/reporting/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/reporting/package-frame.html
index 19c18085b..474ea37c6 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/reporting/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/reporting/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.reporting
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.reporting
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/reporting/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/reporting/package-summary.html
index 855b5ed47..e35ddd0bc 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/reporting/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/reporting/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.reporting
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.reporting
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/suppression/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/suppression/package-frame.html
index 05ef11d2a..f71e6a35f 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/suppression/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/suppression/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.suppression
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.suppression
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/suppression/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/suppression/package-summary.html
index 18eeefff8..15542019c 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/suppression/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/suppression/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.suppression
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.suppression
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-frame.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-frame.html
index 4b0aa3f54..084e54cc8 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-frame.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.utils
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.utils
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-summary.html
index 88fdd822e..f241b6dcf 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-summary.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.utils
+
Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.utils
diff --git a/dependency-check-core/xref-test/overview-frame.html b/dependency-check-core/xref-test/overview-frame.html
index abebb5a57..b16b45bf7 100644
--- a/dependency-check-core/xref-test/overview-frame.html
+++ b/dependency-check-core/xref-test/overview-frame.html
@@ -3,7 +3,7 @@
-
Dependency-Check Core 1.1.0 Reference
+
Dependency-Check Core 1.1.1 Reference
@@ -32,6 +32,9 @@
org.owasp.dependencycheck.data.nexus
+
+
+ org.owasp.dependencycheck.data.nuget
org.owasp.dependencycheck.data.nvdcve
diff --git a/dependency-check-core/xref-test/overview-summary.html b/dependency-check-core/xref-test/overview-summary.html
index abd3ff49a..c9a2e1359 100644
--- a/dependency-check-core/xref-test/overview-summary.html
+++ b/dependency-check-core/xref-test/overview-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference
+ Dependency-Check Core 1.1.1 Reference
@@ -24,7 +24,7 @@
-
Dependency-Check Core 1.1.0 Reference
+
Dependency-Check Core 1.1.1 Reference
@@ -62,6 +62,11 @@
org.owasp.dependencycheck.data.nexus
+
+
+
+ org.owasp.dependencycheck.data.nuget
+
diff --git a/dependency-check-core/xref/allclasses-frame.html b/dependency-check-core/xref/allclasses-frame.html
index 6bba2c98b..4bf5834ad 100644
--- a/dependency-check-core/xref/allclasses-frame.html
+++ b/dependency-check-core/xref/allclasses-frame.html
@@ -319,6 +319,18 @@
Notifiers
+
+
+ NugetPackage
+
+
+ NuspecAnalyzer
+
+
+ NuspecParseException
+
+
+ NuspecParser
NvdCve12Handler
@@ -496,6 +508,9 @@
VulnerableSoftware
+
+
+ XPathNuspecParser
diff --git a/dependency-check-core/xref/index.html b/dependency-check-core/xref/index.html
index a4104d262..a68ecfbd1 100644
--- a/dependency-check-core/xref/index.html
+++ b/dependency-check-core/xref/index.html
@@ -4,7 +4,7 @@
- Dependency-Check Core 1.1.0 Reference
+ Dependency-Check Core 1.1.1 Reference
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
index b5d456b59..a12f0dd66 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
@@ -90,316 +90,323 @@
82
83 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
84
-85
+85
86
-87 private static final Set<String> EXTENSIONS = newHashSet("zip" , "ear" , "war" , "tar" , "gz" , "tgz" );
-88
-89
-90
-91
-92
-93
-94 public Set<String> getSupportedExtensions() {
-95 return EXTENSIONS;
-96 }
-97
-98
-99
-100
-101
-102
-103 public String getName() {
-104 return ANALYZER_NAME;
-105 }
-106
-107
-108
-109
-110
-111
-112
-113 public boolean supportsExtension(String extension) {
-114 return EXTENSIONS.contains(extension);
-115 }
-116
-117
-118
-119
-120
-121
-122 public AnalysisPhase getAnalysisPhase() {
-123 return ANALYSIS_PHASE;
-124 }
-125
-126
-127
-128
-129
-130
-131
-132 @Override
-133 public void initialize() throws Exception {
-134 final File baseDir = Settings.getTempDirectory();
-135 if (!baseDir.exists()) {
-136 if (!baseDir.mkdirs()) {
-137 final String msg = String.format("Unable to make a temporary folder '%s'" , baseDir.getPath());
-138 throw new AnalysisException (msg);
-139 }
-140 }
-141 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
-142 if (!tempFileLocation.delete()) {
-143 final String msg = String.format("Unable to delete temporary file '%s'." , tempFileLocation.getAbsolutePath());
-144 throw new AnalysisException (msg);
-145 }
-146 if (!tempFileLocation.mkdirs()) {
-147 final String msg = String.format("Unable to create directory '%s'." , tempFileLocation.getAbsolutePath());
-148 throw new AnalysisException (msg);
-149 }
-150 }
-151
-152
-153
-154
-155
-156
-157 @Override
-158 public void close() throws Exception {
-159 if (tempFileLocation != null && tempFileLocation.exists()) {
-160 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
-161 }
-162 }
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172 @Override
-173 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
-174 final File f = new File(dependency.getActualFilePath());
-175 final File tmpDir = getNextTempDirectory();
-176 extractFiles(f, tmpDir, engine);
-177
-178
-179 final List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
-180 engine.scan(tmpDir);
-181 final List<Dependency> newDependencies = engine.getDependencies();
-182 if (dependencies.size() != newDependencies.size()) {
-183
-184 final Set<Dependency> dependencySet = new HashSet<Dependency>();
-185 dependencySet.addAll(newDependencies);
-186 dependencySet.removeAll(dependencies);
-187
-188 for (Dependency d : dependencySet) {
-189
-190 final String displayPath = String.format("%s%s" ,
-191 dependency.getFilePath(),
-192 d.getActualFilePath().substring(tmpDir.getAbsolutePath().length()));
-193 final String displayName = String.format("%s%s%s" ,
-194 dependency.getFileName(),
-195 File.separator,
-196 d.getFileName());
-197 d.setFilePath(displayPath);
-198 d.setFileName(displayName);
-199
-200
-201
-202 if (this .supportsExtension(d.getFileExtension()) && scanDepth < MAX_SCAN_DEPTH) {
-203 scanDepth += 1;
-204 analyze(d, engine);
-205 scanDepth -= 1;
-206 }
-207 }
-208 }
-209 Collections.sort(engine.getDependencies());
-210 }
-211
-212
-213
-214
-215
-216
-217
-218 private File getNextTempDirectory() throws AnalysisException {
-219 dirCount += 1;
-220 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
-221
-222 if (directory.exists()) {
-223 return getNextTempDirectory();
-224 }
-225 if (!directory.mkdirs()) {
-226 final String msg = String.format("Unable to create temp directory '%s'." , directory.getAbsolutePath());
-227 throw new AnalysisException (msg);
-228 }
-229 return directory;
-230 }
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240 private void extractFiles(File archive, File destination, Engine engine) throws AnalysisException {
-241 if (archive == null || destination == null ) {
-242 return ;
-243 }
-244
-245 FileInputStream fis = null ;
-246 try {
-247 fis = new FileInputStream(archive);
-248 } catch (FileNotFoundException ex) {
-249 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.INFO, null , ex);
-250 throw new AnalysisException ("Archive file was not found." , ex);
-251 }
-252 final String archiveExt = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(archive.getName()).toLowerCase();
+87 private static final Set<String> ZIPPABLES = newHashSet("zip" , "ear" , "war" , "nupkg" );
+88
+89
+90
+91 private static final Set<String> EXTENSIONS = newHashSet("tar" , "gz" , "tgz" );
+92 static {
+93 EXTENSIONS.addAll(ZIPPABLES);
+94 }
+95
+96
+97
+98
+99
+100
+101 public Set<String> getSupportedExtensions() {
+102 return EXTENSIONS;
+103 }
+104
+105
+106
+107
+108
+109
+110 public String getName() {
+111 return ANALYZER_NAME;
+112 }
+113
+114
+115
+116
+117
+118
+119
+120 public boolean supportsExtension(String extension) {
+121 return EXTENSIONS.contains(extension);
+122 }
+123
+124
+125
+126
+127
+128
+129 public AnalysisPhase getAnalysisPhase() {
+130 return ANALYSIS_PHASE;
+131 }
+132
+133
+134
+135
+136
+137
+138
+139 @Override
+140 public void initialize() throws Exception {
+141 final File baseDir = Settings.getTempDirectory();
+142 if (!baseDir.exists()) {
+143 if (!baseDir.mkdirs()) {
+144 final String msg = String.format("Unable to make a temporary folder '%s'" , baseDir.getPath());
+145 throw new AnalysisException (msg);
+146 }
+147 }
+148 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
+149 if (!tempFileLocation.delete()) {
+150 final String msg = String.format("Unable to delete temporary file '%s'." , tempFileLocation.getAbsolutePath());
+151 throw new AnalysisException (msg);
+152 }
+153 if (!tempFileLocation.mkdirs()) {
+154 final String msg = String.format("Unable to create directory '%s'." , tempFileLocation.getAbsolutePath());
+155 throw new AnalysisException (msg);
+156 }
+157 }
+158
+159
+160
+161
+162
+163
+164 @Override
+165 public void close() throws Exception {
+166 if (tempFileLocation != null && tempFileLocation.exists()) {
+167 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
+168 }
+169 }
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179 @Override
+180 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+181 final File f = new File(dependency.getActualFilePath());
+182 final File tmpDir = getNextTempDirectory();
+183 extractFiles(f, tmpDir, engine);
+184
+185
+186 final List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
+187 engine.scan(tmpDir);
+188 final List<Dependency> newDependencies = engine.getDependencies();
+189 if (dependencies.size() != newDependencies.size()) {
+190
+191 final Set<Dependency> dependencySet = new HashSet<Dependency>();
+192 dependencySet.addAll(newDependencies);
+193 dependencySet.removeAll(dependencies);
+194
+195 for (Dependency d : dependencySet) {
+196
+197 final String displayPath = String.format("%s%s" ,
+198 dependency.getFilePath(),
+199 d.getActualFilePath().substring(tmpDir.getAbsolutePath().length()));
+200 final String displayName = String.format("%s%s%s" ,
+201 dependency.getFileName(),
+202 File.separator,
+203 d.getFileName());
+204 d.setFilePath(displayPath);
+205 d.setFileName(displayName);
+206
+207
+208
+209 if (this .supportsExtension(d.getFileExtension()) && scanDepth < MAX_SCAN_DEPTH) {
+210 scanDepth += 1;
+211 analyze(d, engine);
+212 scanDepth -= 1;
+213 }
+214 }
+215 }
+216 Collections.sort(engine.getDependencies());
+217 }
+218
+219
+220
+221
+222
+223
+224
+225 private File getNextTempDirectory() throws AnalysisException {
+226 dirCount += 1;
+227 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
+228
+229 if (directory.exists()) {
+230 return getNextTempDirectory();
+231 }
+232 if (!directory.mkdirs()) {
+233 final String msg = String.format("Unable to create temp directory '%s'." , directory.getAbsolutePath());
+234 throw new AnalysisException (msg);
+235 }
+236 return directory;
+237 }
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247 private void extractFiles(File archive, File destination, Engine engine) throws AnalysisException {
+248 if (archive == null || destination == null ) {
+249 return ;
+250 }
+251
+252 FileInputStream fis = null ;
253 try {
-254 if ("zip" .equals(archiveExt) || "war" .equals(archiveExt) || "ear" .equals(archiveExt)) {
-255 extractArchive(new ZipArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
-256 } else if ("tar" .equals(archiveExt)) {
-257 extractArchive(new TarArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
-258 } else if ("gz" .equals(archiveExt) || "tgz" .equals(archiveExt)) {
-259 final String uncompressedName = GzipUtils.getUncompressedFilename(archive.getName());
-260 final String uncompressedExt = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(uncompressedName).toLowerCase();
-261 if (engine.supportsExtension(uncompressedExt)) {
-262 decompressFile(new GzipCompressorInputStream(new BufferedInputStream(fis)), new File(destination, uncompressedName));
-263 }
-264 }
-265 } catch (ArchiveExtractionException ex) {
-266 final String msg = String.format("Exception extracting archive '%s'." , archive.getName());
-267 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
-268 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
-269 } catch (IOException ex) {
-270 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
-271 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
-272 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
-273 } finally {
-274 try {
-275 fis.close();
-276 } catch (IOException ex) {
-277 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
-278 }
-279 }
-280 }
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290 private void extractArchive(ArchiveInputStream input, File destination, Engine engine) throws ArchiveExtractionException {
-291 ArchiveEntry entry;
-292 try {
-293 while ((entry = input.getNextEntry()) != null ) {
-294 if (entry.isDirectory()) {
-295 final File d = new File(destination, entry.getName());
-296 if (!d.exists()) {
-297 if (!d.mkdirs()) {
-298 final String msg = String.format("Unable to create directory '%s'." , d.getAbsolutePath());
-299 throw new AnalysisException (msg);
-300 }
-301 }
-302 } else {
-303 final File file = new File(destination, entry.getName());
-304 final String ext = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(file.getName());
-305 if (engine.supportsExtension(ext)) {
-306 BufferedOutputStream bos = null ;
-307 FileOutputStream fos;
-308 try {
-309 final File parent = file.getParentFile();
-310 if (!parent.isDirectory()) {
-311 if (!parent.mkdirs()) {
-312 final String msg = String.format("Unable to build directory '%s'." , parent.getAbsolutePath());
-313 throw new AnalysisException (msg);
-314 }
-315 }
-316 fos = new FileOutputStream(file);
-317 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
-318 int count;
-319 final byte data[] = new byte[BUFFER_SIZE];
-320 while ((count = input.read(data, 0, BUFFER_SIZE)) != -1) {
-321 bos.write(data, 0, count);
+254 fis = new FileInputStream(archive);
+255 } catch (FileNotFoundException ex) {
+256 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.INFO, null , ex);
+257 throw new AnalysisException ("Archive file was not found." , ex);
+258 }
+259 final String archiveExt = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(archive.getName()).toLowerCase();
+260 try {
+261 if (ZIPPABLES.contains(archiveExt)) {
+262 extractArchive(new ZipArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
+263 } else if ("tar" .equals(archiveExt)) {
+264 extractArchive(new TarArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
+265 } else if ("gz" .equals(archiveExt) || "tgz" .equals(archiveExt)) {
+266 final String uncompressedName = GzipUtils.getUncompressedFilename(archive.getName());
+267 final String uncompressedExt = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(uncompressedName).toLowerCase();
+268 if (engine.supportsExtension(uncompressedExt)) {
+269 decompressFile(new GzipCompressorInputStream(new BufferedInputStream(fis)), new File(destination, uncompressedName));
+270 }
+271 }
+272 } catch (ArchiveExtractionException ex) {
+273 final String msg = String.format("Exception extracting archive '%s'." , archive.getName());
+274 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
+275 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+276 } catch (IOException ex) {
+277 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
+278 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
+279 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+280 } finally {
+281 try {
+282 fis.close();
+283 } catch (IOException ex) {
+284 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+285 }
+286 }
+287 }
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297 private void extractArchive(ArchiveInputStream input, File destination, Engine engine) throws ArchiveExtractionException {
+298 ArchiveEntry entry;
+299 try {
+300 while ((entry = input.getNextEntry()) != null ) {
+301 if (entry.isDirectory()) {
+302 final File d = new File(destination, entry.getName());
+303 if (!d.exists()) {
+304 if (!d.mkdirs()) {
+305 final String msg = String.format("Unable to create directory '%s'." , d.getAbsolutePath());
+306 throw new AnalysisException (msg);
+307 }
+308 }
+309 } else {
+310 final File file = new File(destination, entry.getName());
+311 final String ext = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(file.getName());
+312 if (engine.supportsExtension(ext)) {
+313 BufferedOutputStream bos = null ;
+314 FileOutputStream fos;
+315 try {
+316 final File parent = file.getParentFile();
+317 if (!parent.isDirectory()) {
+318 if (!parent.mkdirs()) {
+319 final String msg = String.format("Unable to build directory '%s'." , parent.getAbsolutePath());
+320 throw new AnalysisException (msg);
+321 }
322 }
-323 bos.flush();
-324 } catch (FileNotFoundException ex) {
-325 Logger.getLogger(ArchiveAnalyzer.class
-326 .getName()).log(Level.FINE, null , ex);
-327 final String msg = String.format("Unable to find file '%s'." , file.getName());
-328 throw new AnalysisException (msg, ex);
-329 } catch (IOException ex) {
-330 Logger.getLogger(ArchiveAnalyzer.class
-331 .getName()).log(Level.FINE, null , ex);
-332 final String msg = String.format("IO Exception while parsing file '%s'." , file.getName());
-333 throw new AnalysisException (msg, ex);
-334 } finally {
-335 if (bos != null ) {
-336 try {
-337 bos.close();
-338 } catch (IOException ex) {
-339 Logger.getLogger(ArchiveAnalyzer.class
-340 .getName()).log(Level.FINEST, null , ex);
-341 }
-342 }
-343 }
-344 }
-345 }
-346 }
-347 } catch (IOException ex) {
-348 throw new ArchiveExtractionException (ex);
-349 } catch (Throwable ex) {
-350 throw new ArchiveExtractionException (ex);
-351 } finally {
-352 if (input != null ) {
-353 try {
-354 input.close();
-355 } catch (IOException ex) {
-356 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
-357 }
-358 }
-359 }
-360 }
-361
-362
-363
-364
-365
-366
-367
-368
-369 private void decompressFile(CompressorInputStream inputStream, File outputFile) throws ArchiveExtractionException {
-370 FileOutputStream out = null ;
-371 try {
-372 out = new FileOutputStream(outputFile);
-373 final byte[] buffer = new byte[BUFFER_SIZE];
-374 int n = 0;
-375 while (-1 != (n = inputStream.read(buffer))) {
-376 out.write(buffer, 0, n);
-377 }
-378 } catch (FileNotFoundException ex) {
-379 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
-380 throw new ArchiveExtractionException (ex);
-381 } catch (IOException ex) {
-382 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
-383 throw new ArchiveExtractionException (ex);
-384 } finally {
-385 if (out != null ) {
-386 try {
-387 out.close();
-388 } catch (IOException ex) {
-389 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
-390 }
-391 }
-392 }
-393 }
-394 }
+323 fos = new FileOutputStream(file);
+324 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
+325 int count;
+326 final byte data[] = new byte[BUFFER_SIZE];
+327 while ((count = input.read(data, 0, BUFFER_SIZE)) != -1) {
+328 bos.write(data, 0, count);
+329 }
+330 bos.flush();
+331 } catch (FileNotFoundException ex) {
+332 Logger.getLogger(ArchiveAnalyzer.class
+333 .getName()).log(Level.FINE, null , ex);
+334 final String msg = String.format("Unable to find file '%s'." , file.getName());
+335 throw new AnalysisException (msg, ex);
+336 } catch (IOException ex) {
+337 Logger.getLogger(ArchiveAnalyzer.class
+338 .getName()).log(Level.FINE, null , ex);
+339 final String msg = String.format("IO Exception while parsing file '%s'." , file.getName());
+340 throw new AnalysisException (msg, ex);
+341 } finally {
+342 if (bos != null ) {
+343 try {
+344 bos.close();
+345 } catch (IOException ex) {
+346 Logger.getLogger(ArchiveAnalyzer.class
+347 .getName()).log(Level.FINEST, null , ex);
+348 }
+349 }
+350 }
+351 }
+352 }
+353 }
+354 } catch (IOException ex) {
+355 throw new ArchiveExtractionException (ex);
+356 } catch (Throwable ex) {
+357 throw new ArchiveExtractionException (ex);
+358 } finally {
+359 if (input != null ) {
+360 try {
+361 input.close();
+362 } catch (IOException ex) {
+363 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+364 }
+365 }
+366 }
+367 }
+368
+369
+370
+371
+372
+373
+374
+375
+376 private void decompressFile(CompressorInputStream inputStream, File outputFile) throws ArchiveExtractionException {
+377 FileOutputStream out = null ;
+378 try {
+379 out = new FileOutputStream(outputFile);
+380 final byte[] buffer = new byte[BUFFER_SIZE];
+381 int n = 0;
+382 while (-1 != (n = inputStream.read(buffer))) {
+383 out.write(buffer, 0, n);
+384 }
+385 } catch (FileNotFoundException ex) {
+386 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+387 throw new ArchiveExtractionException (ex);
+388 } catch (IOException ex) {
+389 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+390 throw new ArchiveExtractionException (ex);
+391 } finally {
+392 if (out != null ) {
+393 try {
+394 out.close();
+395 } catch (IOException ex) {
+396 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+397 }
+398 }
+399 }
+400 }
+401 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.html
index 684520895..95df14cbf 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.html
@@ -21,109 +21,122 @@
13
14
15
-16
+16
17
18 package org.owasp.dependencycheck.analyzer;
19
-20 import java.util.Set;
-21 import java.util.regex.Pattern;
-22 import org.owasp.dependencycheck.Engine;
-23 import org.owasp.dependencycheck.dependency.Dependency;
-24
-25
-26
-27
-28
-29
-30
-31 public class JavaScriptAnalyzer extends AbstractAnalyzer implements Analyzer {
-32
-33
-34
-35
-36
-37 private static final String ANALYZER_NAME = "JavaScript Analyzer" ;
-38
-39
-40
-41 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
-42
-43
-44
-45 private static final Set<String> EXTENSIONS = newHashSet("js" );
-46
-47
-48
-49
-50
+20 import java.io.BufferedReader;
+21 import java.io.File;
+22 import java.io.FileNotFoundException;
+23 import java.io.FileReader;
+24 import java.io.IOException;
+25 import java.util.Set;
+26 import java.util.logging.Level;
+27 import java.util.logging.Logger;
+28 import java.util.regex.Pattern;
+29 import org.owasp.dependencycheck.Engine;
+30 import org.owasp.dependencycheck.dependency.Dependency;
+31
+32
+33
+34
+35
+36
+37
+38 public class JavaScriptAnalyzer extends AbstractAnalyzer implements Analyzer {
+39
+40
+41
+42
+43
+44 private static final String ANALYZER_NAME = "JavaScript Analyzer" ;
+45
+46
+47
+48 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+49
+50
51
-52 public Set<String> getSupportedExtensions() {
-53 return EXTENSIONS;
-54 }
-55
-56
-57
-58
-59
-60
-61 public String getName() {
-62 return ANALYZER_NAME;
-63 }
-64
-65
-66
-67
-68
-69
-70
-71 public boolean supportsExtension(String extension) {
-72 return EXTENSIONS.contains(extension);
-73 }
-74
-75
-76
-77
-78
+52 private static final Set<String> EXTENSIONS = newHashSet("js" );
+53
+54
+55
+56
+57
+58
+59 @Override
+60 public Set<String> getSupportedExtensions() {
+61 return EXTENSIONS;
+62 }
+63
+64
+65
+66
+67
+68
+69 @Override
+70 public String getName() {
+71 return ANALYZER_NAME;
+72 }
+73
+74
+75
+76
+77
+78
79
-80 public AnalysisPhase getAnalysisPhase() {
-81 return ANALYSIS_PHASE;
-82 }
-83
+80 @Override
+81 public boolean supportsExtension(String extension) {
+82 return EXTENSIONS.contains(extension);
+83 }
84
85
-86
-87
-88
-89
-90
-91
-92
-93 @Override
-94 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
-95 final Pattern extractComments = Pattern.compile("(/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+/)|(//.*)" );
-96
-97 }
-98
-99
-100
-101
-102
-103
-104 @Override
-105 public void initialize() throws Exception {
-106
-107 }
-108
-109
-110
-111
-112
-113
-114 @Override
-115 public void close() throws Exception {
-116
-117 }
-118 }
+86
+87
+88
+89
+90 @Override
+91 public AnalysisPhase getAnalysisPhase() {
+92 return ANALYSIS_PHASE;
+93 }
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103 @Override
+104 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+105 BufferedReader fin = null ;;
+106 try {
+107
+108 final Pattern extractComments = Pattern.compile("(/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+/)|(//.*)" , Pattern.MULTILINE);
+109 File file = dependency.getActualFile();
+110 fin = new BufferedReader(new FileReader(file));
+111 StringBuilder sb = new StringBuilder(2000);
+112 String text;
+113 while ((text = fin.readLine()) != null ) {
+114 sb.append(text);
+115 }
+116 } catch (FileNotFoundException ex) {
+117 final String msg = String.format("Dependency file not found: '%s'" , dependency.getActualFilePath());
+118 throw new AnalysisException (msg, ex);
+119 } catch (IOException ex) {
+120 Logger.getLogger(JavaScriptAnalyzer.class .getName()).log(Level.SEVERE, null , ex);
+121 } finally {
+122 if (fin != null ) {
+123 try {
+124 fin.close();
+125 } catch (IOException ex) {
+126 Logger.getLogger(JavaScriptAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+127 }
+128 }
+129 }
+130 }
+131 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.html
new file mode 100644
index 000000000..687ee2d64
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.html
@@ -0,0 +1,160 @@
+
+
+
+NuspecAnalyzer xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.analyzer;
+19
+20 import java.io.FileInputStream;
+21 import java.util.Set;
+22 import java.util.logging.Level;
+23 import java.util.logging.Logger;
+24
+25 import org.owasp.dependencycheck.Engine;
+26 import org.owasp.dependencycheck.data.nuget.NugetPackage;
+27 import org.owasp.dependencycheck.data.nuget.NuspecParser;
+28 import org.owasp.dependencycheck.data.nuget.XPathNuspecParser;
+29 import org.owasp.dependencycheck.dependency.Confidence;
+30 import org.owasp.dependencycheck.dependency.Dependency;
+31
+32
+33
+34
+35
+36
+37 public class NuspecAnalyzer extends AbstractAnalyzer {
+38
+39
+40
+41
+42 private static final Logger LOGGER = Logger.getLogger(NuspecAnalyzer.class .getName());
+43
+44
+45
+46
+47 private static final String ANALYZER_NAME = "Nuspec Analyzer" ;
+48
+49
+50
+51
+52 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+53
+54
+55
+56
+57 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("nuspec" );
+58
+59
+60
+61
+62
+63
+64 @Override
+65 public void initialize() throws Exception {
+66 }
+67
+68
+69
+70
+71
+72
+73 @Override
+74 public String getName() {
+75 return ANALYZER_NAME;
+76 }
+77
+78
+79
+80
+81
+82
+83 @Override
+84 public AnalysisPhase getAnalysisPhase() {
+85 return ANALYSIS_PHASE;
+86 }
+87
+88
+89
+90
+91
+92
+93 @Override
+94 public Set<String> getSupportedExtensions() {
+95 return SUPPORTED_EXTENSIONS;
+96 }
+97
+98
+99
+100
+101
+102
+103
+104 @Override
+105 public boolean supportsExtension(String extension) {
+106 return SUPPORTED_EXTENSIONS.contains(extension);
+107 }
+108
+109
+110
+111
+112
+113
+114
+115
+116 @Override
+117 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+118 LOGGER.log(Level.INFO, "Checking Nuspec file {0}" , dependency.toString());
+119 try {
+120 final NuspecParser parser = new XPathNuspecParser ();
+121 NugetPackage np = null ;
+122 FileInputStream fis = null ;
+123 try {
+124 fis = new FileInputStream(dependency.getActualFilePath());
+125 np = parser.parse(fis);
+126 } finally {
+127 if (fis != null ) {
+128 try { fis.close(); } catch (Exception e) { }
+129 }
+130 }
+131
+132 if (np.getOwners() != null ) {
+133 dependency.getVendorEvidence().addEvidence("nuspec" , "owners" , np.getOwners(), Confidence.HIGHEST);
+134 }
+135 dependency.getVendorEvidence().addEvidence("nuspec" , "authors" , np.getAuthors(), Confidence.HIGH);
+136 dependency.getVersionEvidence().addEvidence("nuspec" , "version" , np.getVersion(), Confidence.HIGHEST);
+137 dependency.getProductEvidence().addEvidence("nuspec" , "id" , np.getId(), Confidence.HIGHEST);
+138 if (np.getTitle() != null ) {
+139 dependency.getProductEvidence().addEvidence("nuspec" , "title" , np.getTitle(), Confidence.MEDIUM);
+140 }
+141 } catch (Exception e) {
+142 throw new AnalysisException (e);
+143 }
+144 }
+145 }
+146
+147
+
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-frame.html
index 4032dd663..c5506462c 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.analyzer
@@ -74,6 +74,9 @@
NexusAnalyzer
+
+
+ NuspecAnalyzer
NvdCveAnalyzer
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-summary.html
index 18cffc409..433f5d19b 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.analyzer
@@ -134,6 +134,11 @@
NexusAnalyzer
+
+
+
+ NuspecAnalyzer
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-frame.html
index 1e0e0934b..850dbe734 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.cpe
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.cpe
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-summary.html
index f38ac9695..6c05371c6 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.cpe
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.cpe
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-frame.html
index eb24f7df2..d87cd3d99 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.cwe
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.cwe
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-summary.html
index af4cf2959..ff7b46b41 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.cwe
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.cwe
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-frame.html
index a85727c02..d2ec90416 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.lucene
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.lucene
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-summary.html
index d4744b0a2..f99bff932 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.lucene
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.lucene
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nexus/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nexus/package-frame.html
index 7a3ef671c..2172b0102 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/nexus/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nexus/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.nexus
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nexus
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nexus/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nexus/package-summary.html
index cf5936410..742f6bf77 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/nexus/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nexus/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.nexus
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nexus
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NugetPackage.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NugetPackage.html
new file mode 100644
index 000000000..680cb1e19
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NugetPackage.html
@@ -0,0 +1,199 @@
+
+
+
+NugetPackage xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.data.nuget;
+19
+20
+21
+22
+23
+24
+25 public class NugetPackage {
+26
+27
+28
+29 private String id;
+30
+31
+32
+33
+34 private String version;
+35
+36
+37
+38
+39 private String title;
+40
+41
+42
+43
+44 private String authors;
+45
+46
+47
+48
+49 private String owners;
+50
+51
+52
+53
+54 private String licenseUrl;
+55
+56
+57
+58
+59 public NugetPackage () {
+60 }
+61
+62
+63
+64
+65
+66 public void setId(String id) {
+67 this .id = id;
+68 }
+69
+70
+71
+72
+73
+74 public String getId() {
+75 return id;
+76 }
+77
+78
+79
+80
+81
+82 public void setVersion(String version) {
+83 this .version = version;
+84 }
+85
+86
+87
+88
+89
+90 public String getVersion() {
+91 return version;
+92 }
+93
+94
+95
+96
+97
+98 public void setTitle(String title) {
+99 this .title = title;
+100 }
+101
+102
+103
+104
+105
+106 public String getTitle() {
+107 return title;
+108 }
+109
+110
+111
+112
+113
+114 public void setAuthors(String authors) {
+115 this .authors = authors;
+116 }
+117
+118
+119
+120
+121
+122 public String getAuthors() {
+123 return authors;
+124 }
+125
+126
+127
+128
+129
+130 public void setOwners(String owners) {
+131 this .owners = owners;
+132 }
+133
+134
+135
+136
+137
+138 public String getOwners() {
+139 return owners;
+140 }
+141
+142
+143
+144
+145
+146 public void setLicenseUrl(String licenseUrl) {
+147 this .licenseUrl = licenseUrl;
+148 }
+149
+150
+151
+152
+153
+154 public String getLicenseUrl() {
+155 return licenseUrl;
+156 }
+157
+158 @Override
+159 public boolean equals(Object other) {
+160 if (this == other) {
+161 return true ;
+162 }
+163 if (other == null || other.getClass() != this .getClass()) {
+164 return false;
+165 }
+166 final NugetPackage o = (NugetPackage) other;
+167 return o.getId().equals(id)
+168 && o.getVersion().equals(version)
+169 && o.getTitle().equals(title)
+170 && o.getAuthors().equals(authors)
+171 && o.getOwners().equals(owners)
+172 && o.getLicenseUrl().equals(licenseUrl);
+173 }
+174
+175 @Override
+176 public int hashCode() {
+177 int hash = 7;
+178 hash = 31 * hash + (null == id ? 0 : id.hashCode());
+179 hash = 31 * hash + (null == version ? 0 : version.hashCode());
+180 hash = 31 * hash + (null == title ? 0 : title.hashCode());
+181 hash = 31 * hash + (null == authors ? 0 : authors.hashCode());
+182 hash = 31 * hash + (null == owners ? 0 : owners.hashCode());
+183 hash = 31 * hash + (null == licenseUrl ? 0 : licenseUrl.hashCode());
+184 return hash;
+185 }
+186 }
+
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NuspecParseException.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NuspecParseException.html
new file mode 100644
index 000000000..2e71c6de7
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NuspecParseException.html
@@ -0,0 +1,81 @@
+
+
+
+NuspecParseException xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.data.nuget;
+19
+20
+21
+22
+23
+24
+25 public class NuspecParseException extends Exception {
+26
+27
+28
+29 private static final long serialVersionUID = 1;
+30
+31
+32
+33
+34
+35
+36
+37 public NuspecParseException () {
+38 super ();
+39 }
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49 public NuspecParseException (String message) {
+50 super (message);
+51 }
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65 public NuspecParseException (String message, Throwable cause) {
+66 super (message, cause);
+67 }
+68 }
+
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NuspecParser.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NuspecParser.html
new file mode 100644
index 000000000..df8ef121b
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/NuspecParser.html
@@ -0,0 +1,50 @@
+
+
+
+NuspecParser xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.data.nuget;
+19
+20 import java.io.InputStream;
+21
+22
+23
+24
+25
+26
+27
+28 public interface NuspecParser {
+29
+30
+31
+32
+33
+34
+35
+36 NugetPackage parse(InputStream stream) throws NuspecParseException;
+37 }
+
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/XPathNuspecParser.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/XPathNuspecParser.html
new file mode 100644
index 000000000..d46b89af4
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/XPathNuspecParser.html
@@ -0,0 +1,95 @@
+
+
+
+XPathNuspecParser xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.data.nuget;
+19
+20 import java.io.InputStream;
+21
+22 import javax.xml.parsers.DocumentBuilderFactory;
+23 import javax.xml.xpath.XPath;
+24 import javax.xml.xpath.XPathConstants;
+25 import javax.xml.xpath.XPathFactory;
+26
+27 import org.w3c.dom.Document;
+28 import org.w3c.dom.Node;
+29
+30
+31
+32
+33
+34
+35 public class XPathNuspecParser implements NuspecParser {
+36
+37
+38
+39
+40
+41
+42 private String getOrNull(Node n) {
+43 if (n != null ) {
+44 return n.getTextContent();
+45 } else {
+46 return null ;
+47 }
+48 }
+49
+50
+51
+52
+53
+54
+55
+56
+57 @Override
+58 public NugetPackage parse(InputStream stream) throws NuspecParseException {
+59 try {
+60 final Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(stream);
+61 final XPath xpath = XPathFactory.newInstance().newXPath();
+62 final NugetPackage nuspec = new NugetPackage ();
+63
+64 if (xpath.evaluate("/package/metadata/id" , d, XPathConstants.NODE) == null
+65 || xpath.evaluate("/package/metadata/version" , d, XPathConstants.NODE) == null
+66 || xpath.evaluate("/package/metadata/authors" , d, XPathConstants.NODE) == null
+67 || xpath.evaluate("/package/metadata/description" , d, XPathConstants.NODE) == null ) {
+68 throw new NuspecParseException ("Invalid Nuspec format" );
+69 }
+70
+71 nuspec.setId(xpath.evaluate("/package/metadata/id" , d));
+72 nuspec.setVersion(xpath.evaluate("/package/metadata/version" , d));
+73 nuspec.setAuthors(xpath.evaluate("/package/metadata/authors" , d));
+74 nuspec.setOwners(getOrNull((Node) xpath.evaluate("/package/metadata/owners" , d, XPathConstants.NODE)));
+75 nuspec.setLicenseUrl(getOrNull((Node) xpath.evaluate("/package/metadata/licenseUrl" , d, XPathConstants.NODE)));
+76 nuspec.setTitle(getOrNull((Node) xpath.evaluate("/package/metadata/title" , d, XPathConstants.NODE)));
+77 return nuspec;
+78 } catch (Exception e) {
+79 throw new NuspecParseException ("Unable to parse nuspec" , e);
+80 }
+81 }
+82 }
+
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/package-frame.html
new file mode 100644
index 000000000..a86eced7c
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/package-frame.html
@@ -0,0 +1,33 @@
+
+
+
+
+
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nuget
+
+
+
+
+
+
+ Classes
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/package-summary.html
new file mode 100644
index 000000000..8faf3107e
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nuget/package-summary.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nuget
+
+
+
+
+
+
+ Package org.owasp.dependencycheck.data.nuget
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-frame.html
index bb402b0af..91724073d 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.nvdcve
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nvdcve
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-summary.html
index 3546b2e09..de4b2ceab 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.nvdcve
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.nvdcve
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/exception/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/exception/package-frame.html
index 19090dc8c..a41b4c2e9 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/exception/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/exception/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update.exception
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update.exception
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/exception/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/exception/package-summary.html
index 8ba2f2c1b..ef6f1a0ac 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/exception/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/exception/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update.exception
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update.exception
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-frame.html
index 9217928e6..d31450d26 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-summary.html
index aa0f9affb..60a5235fc 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/task/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/task/package-frame.html
index c7168dea8..ef5bb7e04 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/task/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/task/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update.task
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update.task
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/task/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/task/package-summary.html
index e7eb7e77a..da8f36dbc 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/task/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/task/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update.task
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update.task
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/xml/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/xml/package-frame.html
index 759bff9b4..40a0bee04 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/xml/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/xml/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update.xml
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update.xml
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/xml/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/xml/package-summary.html
index d86c8ea1e..afeb1d3ec 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/xml/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/xml/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.data.update.xml
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.data.update.xml
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/Dependency.html b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/Dependency.html
index 8a7c7e89d..6a5f3e11f 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/Dependency.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/Dependency.html
@@ -154,141 +154,141 @@
146 }
147
148
-149
+149
150
-151
+151
152
-153 public void setFilePath(String filePath) {
-154 this .filePath = filePath;
+153 public File getActualFile() {
+154 return new File(this .actualFilePath);
155 }
156
157
-158
-159
-160
-161
-162
-163
-164
-165
-166 public String getFilePath() {
-167 return this .filePath;
-168 }
-169
-170
-171
+158
+159
+160
+161
+162 public void setFilePath(String filePath) {
+163 this .filePath = filePath;
+164 }
+165
+166
+167
+168
+169
+170
+171
172
-173
+173
174
-175 public void setFileExtension(String fileExtension) {
-176 this .fileExtension = fileExtension;
+175 public String getFilePath() {
+176 return this .filePath;
177 }
178
179
-180
+180
181
-182
+182
183
-184 public String getFileExtension() {
-185 return this .fileExtension;
+184 public void setFileExtension(String fileExtension) {
+185 this .fileExtension = fileExtension;
186 }
187
188
-189
+189
190
-191
+191
192
-193 public String getMd5sum() {
-194 return this .md5sum;
+193 public String getFileExtension() {
+194 return this .fileExtension;
195 }
196
197
-198
+198
199
-200
+200
201
-202 public void setMd5sum(String md5sum) {
-203 this .md5sum = md5sum;
+202 public String getMd5sum() {
+203 return this .md5sum;
204 }
205
206
-207
+207
208
-209
+209
210
-211 public String getSha1sum() {
-212 return this .sha1sum;
+211 public void setMd5sum(String md5sum) {
+212 this .md5sum = md5sum;
213 }
214
215
-216
+216
217
-218
+218
219
-220 public void setSha1sum(String sha1sum) {
-221 this .sha1sum = sha1sum;
+220 public String getSha1sum() {
+221 return this .sha1sum;
222 }
223
224
-225
+225
226
-227
+227
228
-229 public Set<Identifier> getIdentifiers() {
-230 return this .identifiers;
+229 public void setSha1sum(String sha1sum) {
+230 this .sha1sum = sha1sum;
231 }
232
233
-234
+234
235
-236
+236
237
-238 public void setIdentifiers(Set<Identifier> identifiers) {
-239 this .identifiers = identifiers;
+238 public Set<Identifier> getIdentifiers() {
+239 return this .identifiers;
240 }
241
242
-243
+243
244
-245
-246
-247
-248
-249 public void addIdentifier(String type, String value, String url) {
-250 final Identifier i = new Identifier (type, value, url);
-251 this .identifiers.add(i);
-252 }
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262 public void addIdentifier(String type, String value, String url, Confidence confidence) {
-263 final Identifier i = new Identifier (type, value, url);
-264 i.setConfidence(confidence);
-265 this .identifiers.add(i);
-266 }
-267
-268
-269
-270
-271
-272
-273 public void addIdentifier(Identifier identifier) {
-274 this .identifiers.add(identifier);
+245
+246
+247 public void setIdentifiers(Set<Identifier> identifiers) {
+248 this .identifiers = identifiers;
+249 }
+250
+251
+252
+253
+254
+255
+256
+257
+258 public void addIdentifier(String type, String value, String url) {
+259 final Identifier i = new Identifier (type, value, url);
+260 this .identifiers.add(i);
+261 }
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271 public void addIdentifier(String type, String value, String url, Confidence confidence) {
+272 final Identifier i = new Identifier (type, value, url);
+273 i.setConfidence(confidence);
+274 this .identifiers.add(i);
275 }
276
277
-278
+278
279
-280
+280
281
-282 public EvidenceCollection getEvidence() {
-283 return EvidenceCollection.merge(this .productEvidence, this .vendorEvidence, this .versionEvidence);
+282 public void addIdentifier(Identifier identifier) {
+283 this .identifiers.add(identifier);
284 }
285
286
@@ -296,309 +296,318 @@
288
289
290
-291 public EvidenceCollection getEvidenceUsed() {
-292 return EvidenceCollection.mergeUsed(this .productEvidence, this .vendorEvidence, this .versionEvidence);
+291 public EvidenceCollection getEvidence() {
+292 return EvidenceCollection.merge(this .productEvidence, this .vendorEvidence, this .versionEvidence);
293 }
294
295
-296
+296
297
298
299
-300 public EvidenceCollection getVendorEvidence() {
-301 return this .vendorEvidence;
+300 public EvidenceCollection getEvidenceUsed() {
+301 return EvidenceCollection.mergeUsed(this .productEvidence, this .vendorEvidence, this .versionEvidence);
302 }
303
304
-305
+305
306
307
308
-309 public EvidenceCollection getProductEvidence() {
-310 return this .productEvidence;
+309 public EvidenceCollection getVendorEvidence() {
+310 return this .vendorEvidence;
311 }
312
313
-314
+314
315
316
317
-318 public EvidenceCollection getVersionEvidence() {
-319 return this .versionEvidence;
+318 public EvidenceCollection getProductEvidence() {
+319 return this .productEvidence;
320 }
-321
-322
-323
-324 private List<Exception> analysisExceptions = new ArrayList<Exception>();
-325
-326
-327
-328
-329
-330
-331 public List<Exception> getAnalysisExceptions() {
-332 return analysisExceptions;
-333 }
+321
+322
+323
+324
+325
+326
+327 public EvidenceCollection getVersionEvidence() {
+328 return this .versionEvidence;
+329 }
+330
+331
+332
+333 private List<Exception> analysisExceptions = new ArrayList<Exception>();
334
335
-336
+336
337
-338
+338
339
-340 public void setAnalysisExceptions(List<Exception> analysisExceptions) {
-341 this .analysisExceptions = analysisExceptions;
+340 public List<Exception> getAnalysisExceptions() {
+341 return analysisExceptions;
342 }
343
344
-345
+345
346
-347
+347
348
-349 public void addAnalysisException(Exception ex) {
-350 this .analysisExceptions.add(ex);
+349 public void setAnalysisExceptions(List<Exception> analysisExceptions) {
+350 this .analysisExceptions = analysisExceptions;
351 }
-352
-353
-354
-355 private String description;
-356
-357
-358
-359
-360
-361
-362 public String getDescription() {
-363 return description;
-364 }
+352
+353
+354
+355
+356
+357
+358 public void addAnalysisException(Exception ex) {
+359 this .analysisExceptions.add(ex);
+360 }
+361
+362
+363
+364 private String description;
365
366
-367
+367
368
-369
+369
370
-371 public void setDescription(String description) {
-372 this .description = description;
+371 public String getDescription() {
+372 return description;
373 }
-374
-375
-376
-377 private String license;
-378
-379
-380
-381
-382
-383
-384 public String getLicense() {
-385 return license;
-386 }
+374
+375
+376
+377
+378
+379
+380 public void setDescription(String description) {
+381 this .description = description;
+382 }
+383
+384
+385
+386 private String license;
387
388
-389
+389
390
-391
+391
392
-393 public void setLicense(String license) {
-394 this .license = license;
+393 public String getLicense() {
+394 return license;
395 }
-396
-397
-398
-399 private SortedSet<Vulnerability> vulnerabilities;
-400
-401
-402
-403
-404
-405
-406 public SortedSet<Vulnerability> getVulnerabilities() {
-407 return vulnerabilities;
-408 }
+396
+397
+398
+399
+400
+401
+402 public void setLicense(String license) {
+403 this .license = license;
+404 }
+405
+406
+407
+408 private SortedSet<Vulnerability> vulnerabilities;
409
410
-411
+411
412
-413
+413
414
-415 public void setVulnerabilities(SortedSet<Vulnerability> vulnerabilities) {
-416 this .vulnerabilities = vulnerabilities;
+415 public SortedSet<Vulnerability> getVulnerabilities() {
+416 return vulnerabilities;
417 }
418
419
-420
+420
421
-422
+422
423
-424 private void determineHashes(File file) {
-425 String md5 = null ;
-426 String sha1 = null ;
-427 try {
-428 md5 = Checksum.getMD5Checksum(file);
-429 sha1 = Checksum.getSHA1Checksum(file);
-430 } catch (IOException ex) {
-431 final String msg = String.format("Unable to read '%s' to determine hashes." , file.getName());
-432 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
-433 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
-434 } catch (NoSuchAlgorithmException ex) {
-435 final String msg = "Unable to use MD5 of SHA1 checksums." ;
-436 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
-437 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
-438 }
-439 this .setMd5sum(md5);
-440 this .setSha1sum(sha1);
-441 }
-442
-443
-444
-445
-446
-447
-448 public void addVulnerability(Vulnerability vulnerability) {
-449 this .vulnerabilities.add(vulnerability);
+424 public void setVulnerabilities(SortedSet<Vulnerability> vulnerabilities) {
+425 this .vulnerabilities = vulnerabilities;
+426 }
+427
+428
+429
+430
+431
+432
+433 private void determineHashes(File file) {
+434 String md5 = null ;
+435 String sha1 = null ;
+436 try {
+437 md5 = Checksum.getMD5Checksum(file);
+438 sha1 = Checksum.getSHA1Checksum(file);
+439 } catch (IOException ex) {
+440 final String msg = String.format("Unable to read '%s' to determine hashes." , file.getName());
+441 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
+442 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
+443 } catch (NoSuchAlgorithmException ex) {
+444 final String msg = "Unable to use MD5 of SHA1 checksums." ;
+445 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
+446 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
+447 }
+448 this .setMd5sum(md5);
+449 this .setSha1sum(sha1);
450 }
-451
-452
-453
-454 private Set<Dependency> relatedDependencies = new TreeSet<Dependency>();
-455
-456
-457
-458
-459
-460
-461 public Set<Dependency> getRelatedDependencies() {
-462 return relatedDependencies;
-463 }
+451
+452
+453
+454
+455
+456
+457 public void addVulnerability(Vulnerability vulnerability) {
+458 this .vulnerabilities.add(vulnerability);
+459 }
+460
+461
+462
+463 private Set<Dependency> relatedDependencies = new TreeSet<Dependency>();
464
465
-466
+466
467
-468
+468
469
-470 public void setRelatedDependencies(Set<Dependency> relatedDependencies) {
-471 this .relatedDependencies = relatedDependencies;
+470 public Set<Dependency> getRelatedDependencies() {
+471 return relatedDependencies;
472 }
473
474
-475
+475
476
-477
+477
478
-479 public void addRelatedDependency(Dependency dependency) {
-480 relatedDependencies.add(dependency);
+479 public void setRelatedDependencies(Set<Dependency> relatedDependencies) {
+480 this .relatedDependencies = relatedDependencies;
481 }
482
483
-484
+484
485
-486
-487
-488
-489 public int compareTo(Dependency o) {
-490 return this .getFileName().compareToIgnoreCase(o.getFileName());
-491 }
-492
-493
-494
-495
-496
-497
-498
-499 @Override
-500 public boolean equals(Object obj) {
-501 if (obj == null ) {
-502 return false;
-503 }
-504 if (getClass() != obj.getClass()) {
-505 return false;
-506 }
-507 final Dependency other = (Dependency) obj;
-508 if ((this .actualFilePath == null ) ? (other.actualFilePath != null ) : !this .actualFilePath.equals(other.actualFilePath)) {
-509 return false;
-510 }
-511 if ((this .filePath == null ) ? (other.filePath != null ) : !this .filePath.equals(other.filePath)) {
-512 return false;
-513 }
-514 if ((this .fileName == null ) ? (other.fileName != null ) : !this .fileName.equals(other.fileName)) {
-515 return false;
-516 }
-517 if ((this .fileExtension == null ) ? (other.fileExtension != null ) : !this .fileExtension.equals(other.fileExtension)) {
+486
+487
+488 public void addRelatedDependency(Dependency dependency) {
+489 relatedDependencies.add(dependency);
+490 }
+491
+492
+493
+494
+495
+496
+497
+498 public int compareTo(Dependency o) {
+499 return this .getFileName().compareToIgnoreCase(o.getFileName());
+500 }
+501
+502
+503
+504
+505
+506
+507
+508 @Override
+509 public boolean equals(Object obj) {
+510 if (obj == null ) {
+511 return false;
+512 }
+513 if (getClass() != obj.getClass()) {
+514 return false;
+515 }
+516 final Dependency other = (Dependency) obj;
+517 if ((this .actualFilePath == null ) ? (other.actualFilePath != null ) : !this .actualFilePath.equals(other.actualFilePath)) {
518 return false;
519 }
-520 if ((this .md5sum == null ) ? (other.md5sum != null ) : !this .md5sum.equals(other.md5sum)) {
+520 if ((this .filePath == null ) ? (other.filePath != null ) : !this .filePath.equals(other.filePath)) {
521 return false;
522 }
-523 if ((this .sha1sum == null ) ? (other.sha1sum != null ) : !this .sha1sum.equals(other.sha1sum)) {
+523 if ((this .fileName == null ) ? (other.fileName != null ) : !this .fileName.equals(other.fileName)) {
524 return false;
525 }
-526 if (this .identifiers != other.identifiers && (this .identifiers == null || !this .identifiers.equals(other.identifiers))) {
+526 if ((this .fileExtension == null ) ? (other.fileExtension != null ) : !this .fileExtension.equals(other.fileExtension)) {
527 return false;
528 }
-529 if (this .vendorEvidence != other.vendorEvidence && (this .vendorEvidence == null || !this .vendorEvidence.equals(other.vendorEvidence))) {
+529 if ((this .md5sum == null ) ? (other.md5sum != null ) : !this .md5sum.equals(other.md5sum)) {
530 return false;
531 }
-532 if (this .productEvidence != other.productEvidence && (this .productEvidence == null || !this .productEvidence.equals(other.productEvidence))) {
+532 if ((this .sha1sum == null ) ? (other.sha1sum != null ) : !this .sha1sum.equals(other.sha1sum)) {
533 return false;
534 }
-535 if (this .versionEvidence != other.versionEvidence && (this .versionEvidence == null || !this .versionEvidence.equals(other.versionEvidence))) {
+535 if (this .identifiers != other.identifiers && (this .identifiers == null || !this .identifiers.equals(other.identifiers))) {
536 return false;
537 }
-538 if (this .analysisExceptions != other.analysisExceptions
-539 && (this .analysisExceptions == null || !this .analysisExceptions.equals(other.analysisExceptions))) {
-540 return false;
-541 }
-542 if ((this .description == null ) ? (other.description != null ) : !this .description.equals(other.description)) {
-543 return false;
-544 }
-545 if ((this .license == null ) ? (other.license != null ) : !this .license.equals(other.license)) {
-546 return false;
-547 }
-548 if (this .vulnerabilities != other.vulnerabilities && (this .vulnerabilities == null || !this .vulnerabilities.equals(other.vulnerabilities))) {
+538 if (this .vendorEvidence != other.vendorEvidence && (this .vendorEvidence == null || !this .vendorEvidence.equals(other.vendorEvidence))) {
+539 return false;
+540 }
+541 if (this .productEvidence != other.productEvidence && (this .productEvidence == null || !this .productEvidence.equals(other.productEvidence))) {
+542 return false;
+543 }
+544 if (this .versionEvidence != other.versionEvidence && (this .versionEvidence == null || !this .versionEvidence.equals(other.versionEvidence))) {
+545 return false;
+546 }
+547 if (this .analysisExceptions != other.analysisExceptions
+548 && (this .analysisExceptions == null || !this .analysisExceptions.equals(other.analysisExceptions))) {
549 return false;
550 }
-551 if (this .relatedDependencies != other.relatedDependencies
-552 && (this .relatedDependencies == null || !this .relatedDependencies.equals(other.relatedDependencies))) {
-553 return false;
-554 }
-555 return true ;
-556 }
-557
-558
-559
-560
-561
-562
-563 @Override
-564 public int hashCode() {
-565 int hash = 3;
-566 hash = 47 * hash + (this .actualFilePath != null ? this .actualFilePath.hashCode() : 0);
-567 hash = 47 * hash + (this .filePath != null ? this .filePath.hashCode() : 0);
-568 hash = 47 * hash + (this .fileName != null ? this .fileName.hashCode() : 0);
-569 hash = 47 * hash + (this .fileExtension != null ? this .fileExtension.hashCode() : 0);
-570 hash = 47 * hash + (this .md5sum != null ? this .md5sum.hashCode() : 0);
-571 hash = 47 * hash + (this .sha1sum != null ? this .sha1sum.hashCode() : 0);
-572 hash = 47 * hash + (this .identifiers != null ? this .identifiers.hashCode() : 0);
-573 hash = 47 * hash + (this .vendorEvidence != null ? this .vendorEvidence.hashCode() : 0);
-574 hash = 47 * hash + (this .productEvidence != null ? this .productEvidence.hashCode() : 0);
-575 hash = 47 * hash + (this .versionEvidence != null ? this .versionEvidence.hashCode() : 0);
-576 hash = 47 * hash + (this .analysisExceptions != null ? this .analysisExceptions.hashCode() : 0);
-577 hash = 47 * hash + (this .description != null ? this .description.hashCode() : 0);
-578 hash = 47 * hash + (this .license != null ? this .license.hashCode() : 0);
-579 hash = 47 * hash + (this .vulnerabilities != null ? this .vulnerabilities.hashCode() : 0);
-580 hash = 47 * hash + (this .relatedDependencies != null ? this .relatedDependencies.hashCode() : 0);
-581 return hash;
-582 }
-583
-584
-585
-586
-587
-588
-589 @Override
-590 public String toString() {
-591 return "Dependency{ fileName='" + fileName + "', actualFilePath='" + actualFilePath + "', filePath='" + filePath + "'}" ;
-592 }
-593 }
+551 if ((this .description == null ) ? (other.description != null ) : !this .description.equals(other.description)) {
+552 return false;
+553 }
+554 if ((this .license == null ) ? (other.license != null ) : !this .license.equals(other.license)) {
+555 return false;
+556 }
+557 if (this .vulnerabilities != other.vulnerabilities && (this .vulnerabilities == null || !this .vulnerabilities.equals(other.vulnerabilities))) {
+558 return false;
+559 }
+560 if (this .relatedDependencies != other.relatedDependencies
+561 && (this .relatedDependencies == null || !this .relatedDependencies.equals(other.relatedDependencies))) {
+562 return false;
+563 }
+564 return true ;
+565 }
+566
+567
+568
+569
+570
+571
+572 @Override
+573 public int hashCode() {
+574 int hash = 3;
+575 hash = 47 * hash + (this .actualFilePath != null ? this .actualFilePath.hashCode() : 0);
+576 hash = 47 * hash + (this .filePath != null ? this .filePath.hashCode() : 0);
+577 hash = 47 * hash + (this .fileName != null ? this .fileName.hashCode() : 0);
+578 hash = 47 * hash + (this .fileExtension != null ? this .fileExtension.hashCode() : 0);
+579 hash = 47 * hash + (this .md5sum != null ? this .md5sum.hashCode() : 0);
+580 hash = 47 * hash + (this .sha1sum != null ? this .sha1sum.hashCode() : 0);
+581 hash = 47 * hash + (this .identifiers != null ? this .identifiers.hashCode() : 0);
+582 hash = 47 * hash + (this .vendorEvidence != null ? this .vendorEvidence.hashCode() : 0);
+583 hash = 47 * hash + (this .productEvidence != null ? this .productEvidence.hashCode() : 0);
+584 hash = 47 * hash + (this .versionEvidence != null ? this .versionEvidence.hashCode() : 0);
+585 hash = 47 * hash + (this .analysisExceptions != null ? this .analysisExceptions.hashCode() : 0);
+586 hash = 47 * hash + (this .description != null ? this .description.hashCode() : 0);
+587 hash = 47 * hash + (this .license != null ? this .license.hashCode() : 0);
+588 hash = 47 * hash + (this .vulnerabilities != null ? this .vulnerabilities.hashCode() : 0);
+589 hash = 47 * hash + (this .relatedDependencies != null ? this .relatedDependencies.hashCode() : 0);
+590 return hash;
+591 }
+592
+593
+594
+595
+596
+597
+598 @Override
+599 public String toString() {
+600 return "Dependency{ fileName='" + fileName + "', actualFilePath='" + actualFilePath + "', filePath='" + filePath + "'}" ;
+601 }
+602 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/VulnerableSoftware.html b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/VulnerableSoftware.html
index e664d2529..db54f0eb0 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/VulnerableSoftware.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/VulnerableSoftware.html
@@ -192,152 +192,160 @@
184 if (subMax > 0) {
185 for (int x = 0; result == 0 && x < subMax; x++) {
186 if (isPositiveInteger(subLeft[x]) && isPositiveInteger(subRight[x])) {
-187 final int iLeft = Integer.parseInt(subLeft[x]);
-188 final int iRight = Integer.parseInt(subRight[x]);
-189 if (iLeft != iRight) {
-190 if (iLeft > iRight) {
-191 result = 2;
-192 } else {
-193 result = -2;
-194 }
-195 }
-196 } else {
-197 result = subLeft[x].compareToIgnoreCase(subRight[x]);
-198 }
-199 }
-200 if (result == 0) {
-201 if (subLeft.length > subRight.length) {
-202 result = 2;
-203 }
-204 if (subRight.length > subLeft.length) {
-205 result = -2;
+187 try {
+188 result = Long.valueOf(subLeft[x]).compareTo(Long.valueOf(subRight[x]));
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198 } catch (NumberFormatException ex) {
+199
+200 if (!subLeft[x].equalsIgnoreCase(subRight[x])) {
+201 result = subLeft[x].compareToIgnoreCase(subRight[x]);
+202 }
+203 }
+204 } else {
+205 result = subLeft[x].compareToIgnoreCase(subRight[x]);
206 }
207 }
-208 } else {
-209 result = left[i].compareToIgnoreCase(right[i]);
-210 }
-211 }
-212 if (result == 0) {
-213 if (left.length > right.length) {
-214 result = 2;
-215 }
-216 if (right.length > left.length) {
-217 result = -2;
+208 if (result == 0) {
+209 if (subLeft.length > subRight.length) {
+210 result = 2;
+211 }
+212 if (subRight.length > subLeft.length) {
+213 result = -2;
+214 }
+215 }
+216 } else {
+217 result = left[i].compareToIgnoreCase(right[i]);
218 }
219 }
-220 } else {
-221 result = this .getName().compareToIgnoreCase(vs.getName());
-222 }
-223 return result;
-224 }
-225
-226
-227
-228
-229
-230
-231
-232 private static boolean isPositiveInteger(final String str) {
-233 if (str == null || str.isEmpty()) {
-234 return false;
-235 }
-236 for (int i = 0; i < str.length(); i++) {
-237 final char c = str.charAt(i);
-238 if (c < '0' || c > '9') {
-239 return false;
-240 }
-241 }
-242 return true ;
-243 }
-244
-245
-246
-247 private String name;
-248
-249
-250
-251
-252
-253
-254 public String getName() {
-255 return name;
-256 }
-257
-258
-259
-260
-261
-262
-263 public void setName(String name) {
-264 this .name = name;
-265 }
+220 if (result == 0) {
+221 if (left.length > right.length) {
+222 result = 2;
+223 }
+224 if (right.length > left.length) {
+225 result = -2;
+226 }
+227 }
+228 } else {
+229 result = this .getName().compareToIgnoreCase(vs.getName());
+230 }
+231 return result;
+232 }
+233
+234
+235
+236
+237
+238
+239
+240 private static boolean isPositiveInteger(final String str) {
+241 if (str == null || str.isEmpty()) {
+242 return false;
+243 }
+244 for (int i = 0; i < str.length(); i++) {
+245 final char c = str.charAt(i);
+246 if (c < '0' || c > '9') {
+247 return false;
+248 }
+249 }
+250 return true ;
+251 }
+252
+253
+254
+255 private String name;
+256
+257
+258
+259
+260
+261
+262 public String getName() {
+263 return name;
+264 }
+265
266
-267
-268
-269 private String version;
-270
-271
-272
-273
-274
-275
-276 public String getVersion() {
-277 return version;
-278 }
-279
-280
-281
-282
-283
-284
-285 public void setVersion(String version) {
-286 this .version = version;
-287 }
+267
+268
+269
+270
+271 public void setName(String name) {
+272 this .name = name;
+273 }
+274
+275
+276
+277 private String version;
+278
+279
+280
+281
+282
+283
+284 public String getVersion() {
+285 return version;
+286 }
+287
288
-289
-290
-291 private String revision;
-292
-293
-294
-295
-296
-297
-298 public String getRevision() {
-299 return revision;
-300 }
-301
-302
-303
-304
-305
-306
-307 public void setRevision(String revision) {
-308 this .revision = revision;
-309 }
+289
+290
+291
+292
+293 public void setVersion(String version) {
+294 this .version = version;
+295 }
+296
+297
+298
+299 private String revision;
+300
+301
+302
+303
+304
+305
+306 public String getRevision() {
+307 return revision;
+308 }
+309
310
-311
-312
-313 private String edition;
-314
-315
-316
-317
-318
-319
-320 public String getEdition() {
-321 return edition;
-322 }
-323
-324
-325
-326
-327
-328
-329 public void setEdition(String edition) {
-330 this .edition = edition;
-331 }
-332 }
+311
+312
+313
+314
+315 public void setRevision(String revision) {
+316 this .revision = revision;
+317 }
+318
+319
+320
+321 private String edition;
+322
+323
+324
+325
+326
+327
+328 public String getEdition() {
+329 return edition;
+330 }
+331
+332
+333
+334
+335
+336
+337 public void setEdition(String edition) {
+338 this .edition = edition;
+339 }
+340 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-frame.html
index 8bd91f84b..90a7ac05f 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.dependency
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-summary.html
index 1f96de128..787b3628c 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.dependency
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/exception/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/exception/package-frame.html
index c29c1e746..eea656e31 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/exception/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/exception/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.exception
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.exception
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/exception/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/exception/package-summary.html
index c7f111b94..5dd977bb1 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/exception/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/exception/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.exception
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.exception
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
index 5321cbe77..f6de20915 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
index 513820029..f0a742a0e 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-frame.html
index 233a5a954..96afe5762 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.jaxb.pom
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.jaxb.pom
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-summary.html
index 52dd98521..c35688fb2 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.jaxb.pom
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.jaxb.pom
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/package-frame.html
index cbeb7a1cd..9c94c490c 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/package-summary.html
index 7c6295c8f..70b345f74 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-frame.html
index 945675658..1214ece5f 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.reporting
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.reporting
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-summary.html
index efa2fa349..6c673bb41 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.reporting
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.reporting
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/suppression/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/suppression/package-frame.html
index 45cabce5a..22edbb59a 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/suppression/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/suppression/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.suppression
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.suppression
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/suppression/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/suppression/package-summary.html
index 5cef1e123..736e56e60 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/suppression/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/suppression/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.suppression
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.suppression
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-frame.html
index 390a75f59..e506588b5 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.utils
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-summary.html
index b9deec0db..1c01b0213 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.1.1 Reference Package org.owasp.dependencycheck.utils
diff --git a/dependency-check-core/xref/overview-frame.html b/dependency-check-core/xref/overview-frame.html
index da9603163..8f9d5b7a1 100644
--- a/dependency-check-core/xref/overview-frame.html
+++ b/dependency-check-core/xref/overview-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference
+ Dependency-Check Core 1.1.1 Reference
@@ -32,6 +32,9 @@
org.owasp.dependencycheck.data.nexus
+
+
+ org.owasp.dependencycheck.data.nuget
org.owasp.dependencycheck.data.nvdcve
diff --git a/dependency-check-core/xref/overview-summary.html b/dependency-check-core/xref/overview-summary.html
index 6189282cf..77bdb4a1a 100644
--- a/dependency-check-core/xref/overview-summary.html
+++ b/dependency-check-core/xref/overview-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.1.0 Reference
+ Dependency-Check Core 1.1.1 Reference
@@ -24,7 +24,7 @@
- Dependency-Check Core 1.1.0 Reference
+ Dependency-Check Core 1.1.1 Reference
@@ -62,6 +62,11 @@
org.owasp.dependencycheck.data.nexus
+
+
+
+ org.owasp.dependencycheck.data.nuget
+
diff --git a/dependency-check-jenkins/index.html b/dependency-check-jenkins/index.html
index 6392a7876..02d127b34 100644
--- a/dependency-check-jenkins/index.html
+++ b/dependency-check-jenkins/index.html
@@ -1,13 +1,13 @@
-
+
dependency-check-jenkins -
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -139,17 +139,19 @@
Dependency-Check Jenkins Plugin
+
Dependency-Check is a utility that identifies project dependencies and checks if there are any known, publicly disclosed, vulnerabilities. This tool can be part of the solution to the OWASP Top 10 2013: A9 - Using Components with Known Vulnerabilities. This plug-in can independently execute a Dependency-Check analysis and visualize results.
The Dependency-Check Jenkins Plugin features the ability to perform a dependency analysis build and later view results post build. The plugin is built using analysis-core and features many of the same features that Jenkins static analysis plugins offer, including thresholds, charts and the ability to view vulnerability information should a dependency have one identified.
-
The main repository is located at jenkins-cli/dependency-check-jenkins .
-
The main site for documentation is located at OWASP Dependency-Check-Jenkins .
-
More information can be found on the wiki .
+
More information can be found on the wiki .
-
Copyright
-
Dependency-Check Jenkins Plugin is Copyright (c) 2013-2014 Steve Springett. All Rights Reserved.
+
Copyright & License
+
Dependency-Check is Copyright (c) 2012-2014 Jeremy Long. All Rights Reserved.
+
Dependency-Check Jenkins Plugin is Copyright (c) 2013-2014 Steve Springett. All Rights Reserved.
+
Permission to modify and redistribute is granted under the terms of the Apache 2.0 license. See the LICENSE.txt file for the full license.
+
Dependency-Check makes use of several other open source libraries. Please see the NOTICE.txt file for more information.
diff --git a/dependency-check-jenkins/license.html b/dependency-check-jenkins/license.html
index 0f6b04141..088520da4 100644
--- a/dependency-check-jenkins/license.html
+++ b/dependency-check-jenkins/license.html
@@ -1,13 +1,13 @@
-
+
dependency-check-jenkins - Project License
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-jenkins/project-info.html b/dependency-check-jenkins/project-info.html
index 37e50ef4c..12b4bae2e 100644
--- a/dependency-check-jenkins/project-info.html
+++ b/dependency-check-jenkins/project-info.html
@@ -1,13 +1,13 @@
-
+
dependency-check-jenkins - Project Information
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-jenkins/project-summary.html b/dependency-check-jenkins/project-summary.html
index 6c607323d..d56de3f0a 100644
--- a/dependency-check-jenkins/project-summary.html
+++ b/dependency-check-jenkins/project-summary.html
@@ -1,13 +1,13 @@
-
+
dependency-check-jenkins - Project Summary
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -181,7 +181,7 @@
dependency-check-jenkins
Version
-1.1.0
+1.1.1
Type
pom
diff --git a/dependency-check-maven/apidocs/allclasses-frame.html b/dependency-check-maven/apidocs/allclasses-frame.html
index 27a59ecbf..e2559e7ae 100644
--- a/dependency-check-maven/apidocs/allclasses-frame.html
+++ b/dependency-check-maven/apidocs/allclasses-frame.html
@@ -2,10 +2,10 @@
-
+
-All Classes (Dependency-Check Maven Plugin 1.1.0 API)
-
+All Classes (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/allclasses-noframe.html b/dependency-check-maven/apidocs/allclasses-noframe.html
index a78ff4f27..5ce15d446 100644
--- a/dependency-check-maven/apidocs/allclasses-noframe.html
+++ b/dependency-check-maven/apidocs/allclasses-noframe.html
@@ -2,10 +2,10 @@
-
+
-All Classes (Dependency-Check Maven Plugin 1.1.0 API)
-
+All Classes (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/constant-values.html b/dependency-check-maven/apidocs/constant-values.html
index 0c50c2a0a..d6d924475 100644
--- a/dependency-check-maven/apidocs/constant-values.html
+++ b/dependency-check-maven/apidocs/constant-values.html
@@ -2,16 +2,16 @@
-
+
-Constant Field Values (Dependency-Check Maven Plugin 1.1.0 API)
-
+Constant Field Values (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/deprecated-list.html b/dependency-check-maven/apidocs/deprecated-list.html
index b2570e952..4c8acbb1f 100644
--- a/dependency-check-maven/apidocs/deprecated-list.html
+++ b/dependency-check-maven/apidocs/deprecated-list.html
@@ -2,16 +2,16 @@
-
+
-Deprecated List (Dependency-Check Maven Plugin 1.1.0 API)
-
+Deprecated List (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/help-doc.html b/dependency-check-maven/apidocs/help-doc.html
index db2267917..a982f8375 100644
--- a/dependency-check-maven/apidocs/help-doc.html
+++ b/dependency-check-maven/apidocs/help-doc.html
@@ -2,16 +2,16 @@
-
+
-API Help (Dependency-Check Maven Plugin 1.1.0 API)
-
+API Help (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/index-all.html b/dependency-check-maven/apidocs/index-all.html
index 39caccfcd..32ae6c3c6 100644
--- a/dependency-check-maven/apidocs/index-all.html
+++ b/dependency-check-maven/apidocs/index-all.html
@@ -2,16 +2,16 @@
-
+
-Index (Dependency-Check Maven Plugin 1.1.0 API)
-
+Index (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/index.html b/dependency-check-maven/apidocs/index.html
index 408bad6ed..d0b9859a6 100644
--- a/dependency-check-maven/apidocs/index.html
+++ b/dependency-check-maven/apidocs/index.html
@@ -2,9 +2,9 @@
-
+
-Dependency-Check Maven Plugin 1.1.0 API
+Dependency-Check Maven Plugin 1.1.1 API
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/HelpMojo.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/HelpMojo.html
index 8d1f654d2..fea041a49 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/HelpMojo.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/HelpMojo.html
@@ -2,16 +2,16 @@
-
+
-HelpMojo (Dependency-Check Maven Plugin 1.1.0 API)
-
+HelpMojo (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/DependencyCheckMojo.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/DependencyCheckMojo.html
index 8785d94fe..5eb2b16a9 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/DependencyCheckMojo.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/DependencyCheckMojo.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.maven.DependencyCheckMojo (Dependency-Check Maven Plugin 1.1.0 API)
-
+Uses of Class org.owasp.dependencycheck.maven.DependencyCheckMojo (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/HelpMojo.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/HelpMojo.html
index a8aa00e33..365ff7888 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/HelpMojo.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/HelpMojo.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.maven.HelpMojo (Dependency-Check Maven Plugin 1.1.0 API)
-
+Uses of Class org.owasp.dependencycheck.maven.HelpMojo (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-frame.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-frame.html
index 85b13bb76..80e688172 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-frame.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.1.0 API)
-
+org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-summary.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-summary.html
index 443edca1d..15140dbf3 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-summary.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.1.0 API)
-
+org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-tree.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-tree.html
index e73c2c18a..ceb32d0a4 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-tree.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.maven Class Hierarchy (Dependency-Check Maven Plugin 1.1.0 API)
-
+org.owasp.dependencycheck.maven Class Hierarchy (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-use.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-use.html
index d9f4196e3..872acebd4 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-use.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.1.0 API)
-
+Uses of Package org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/apidocs/overview-tree.html b/dependency-check-maven/apidocs/overview-tree.html
index d6d4556b0..a4e1482c6 100644
--- a/dependency-check-maven/apidocs/overview-tree.html
+++ b/dependency-check-maven/apidocs/overview-tree.html
@@ -2,16 +2,16 @@
-
+
-Class Hierarchy (Dependency-Check Maven Plugin 1.1.0 API)
-
+Class Hierarchy (Dependency-Check Maven Plugin 1.1.1 API)
+
diff --git a/dependency-check-maven/check-mojo.html b/dependency-check-maven/check-mojo.html
index af8b96109..dc9966d90 100644
--- a/dependency-check-maven/check-mojo.html
+++ b/dependency-check-maven/check-mojo.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven -
dependency-check:check
@@ -55,7 +55,7 @@
-
+
/
@@ -69,8 +69,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -150,7 +150,7 @@
Full name :
-org.owasp:dependency-check-maven:1.1.0:check
+org.owasp:dependency-check-maven:1.1.1:check
Description :
@@ -286,7 +286,7 @@ Dependency-Check report.Default value is : ${project.reporting.o
-
-The database connection string.User property is : nexusUrl .
+The database connection string.User property is : connectionString .
@@ -508,7 +508,7 @@ is not recommended that this be turned to false. Default is true.
Required : No
-User Property : nexusUrl
+User Property : connectionString
connectionTimeout :
diff --git a/dependency-check-maven/checkstyle.html b/dependency-check-maven/checkstyle.html
index 1c9dfdb28..deffe2e58 100644
--- a/dependency-check-maven/checkstyle.html
+++ b/dependency-check-maven/checkstyle.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Checkstyle Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-maven/cobertura/frame-summary-org.owasp.dependencycheck.maven.html b/dependency-check-maven/cobertura/frame-summary-org.owasp.dependencycheck.maven.html
index ee742b274..42aa7a2cb 100644
--- a/dependency-check-maven/cobertura/frame-summary-org.owasp.dependencycheck.maven.html
+++ b/dependency-check-maven/cobertura/frame-summary-org.owasp.dependencycheck.maven.html
@@ -39,6 +39,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-maven/cobertura/frame-summary.html b/dependency-check-maven/cobertura/frame-summary.html
index 8428da0f5..099b10ae0 100644
--- a/dependency-check-maven/cobertura/frame-summary.html
+++ b/dependency-check-maven/cobertura/frame-summary.html
@@ -25,6 +25,6 @@ var packageTable = new SortableTable(document.getElementById("packageResults"),
["String", "Number", "Percentage", "Percentage", "FormattedNumber"]);
packageTable.sort(0);
-
+
diff --git a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html
index c0ea9eb91..7d48e01cd 100644
--- a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html
+++ b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html
@@ -420,7 +420,7 @@
208
@SuppressWarnings({"CanBeFinal" , "FieldCanBeLocal" })
209
- @Parameter(property = "nexusUrl" , defaultValue = "" , required = false )
+ @Parameter(property = "connectionString" , defaultValue = "" , required = false )
210
private String connectionString;
211
@@ -1485,6 +1485,6 @@
}
-
+
diff --git a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.HelpMojo.html b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.HelpMojo.html
index 0c6bf3972..1ad26a9b5 100644
--- a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.HelpMojo.html
+++ b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.HelpMojo.html
@@ -744,6 +744,6 @@
}
-
+
diff --git a/dependency-check-maven/configuration.html b/dependency-check-maven/configuration.html
index ad15d26b2..c50122dc9 100644
--- a/dependency-check-maven/configuration.html
+++ b/dependency-check-maven/configuration.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Configuration
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
-
Last Published: 2014-01-26 |
-
Version: 1.1.0
+
Last Published: 2014-01-30 |
+
Version: 1.1.1
diff --git a/dependency-check-maven/cpd.html b/dependency-check-maven/cpd.html
index 78b7d347d..a6ae23b4e 100644
--- a/dependency-check-maven/cpd.html
+++ b/dependency-check-maven/cpd.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - CPD Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-maven/dependency-updates-report.html b/dependency-check-maven/dependency-updates-report.html
index 1759b8171..d914a508a 100644
--- a/dependency-check-maven/dependency-updates-report.html
+++ b/dependency-check-maven/dependency-updates-report.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Dependency Updates Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -360,7 +360,7 @@
org.owasp
dependency-check-core
-1.1.0
+1.1.1
compile
jar
@@ -580,7 +580,7 @@
dependency-check-core
Current Version
-1.1.0
+1.1.1
Scope
compile
diff --git a/dependency-check-maven/findbugs.html b/dependency-check-maven/findbugs.html
index 78e3b8c5f..b4c402aa4 100644
--- a/dependency-check-maven/findbugs.html
+++ b/dependency-check-maven/findbugs.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - FindBugs Bug Detector Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-maven/help-mojo.html b/dependency-check-maven/help-mojo.html
index 987669536..973651064 100644
--- a/dependency-check-maven/help-mojo.html
+++ b/dependency-check-maven/help-mojo.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven -
dependency-check:help
@@ -55,7 +55,7 @@
-
+
/
@@ -69,8 +69,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -148,7 +148,7 @@
Full name :
-org.owasp:dependency-check-maven:1.1.0:help
+org.owasp:dependency-check-maven:1.1.1:help
Description :
diff --git a/dependency-check-maven/index.html b/dependency-check-maven/index.html
index 6392a7876..02d127b34 100644
--- a/dependency-check-maven/index.html
+++ b/dependency-check-maven/index.html
@@ -1,13 +1,13 @@
-
+
dependency-check-jenkins -
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -139,17 +139,19 @@
Dependency-Check Jenkins Plugin
+
Dependency-Check is a utility that identifies project dependencies and checks if there are any known, publicly disclosed, vulnerabilities. This tool can be part of the solution to the OWASP Top 10 2013: A9 - Using Components with Known Vulnerabilities. This plug-in can independently execute a Dependency-Check analysis and visualize results.
The Dependency-Check Jenkins Plugin features the ability to perform a dependency analysis build and later view results post build. The plugin is built using analysis-core and features many of the same features that Jenkins static analysis plugins offer, including thresholds, charts and the ability to view vulnerability information should a dependency have one identified.
-
The main repository is located at jenkins-cli/dependency-check-jenkins .
-
The main site for documentation is located at OWASP Dependency-Check-Jenkins .
-
More information can be found on the wiki .
+
More information can be found on the wiki .
-
Copyright
-
Dependency-Check Jenkins Plugin is Copyright (c) 2013-2014 Steve Springett. All Rights Reserved.
+
Copyright & License
+
Dependency-Check is Copyright (c) 2012-2014 Jeremy Long. All Rights Reserved.
+
Dependency-Check Jenkins Plugin is Copyright (c) 2013-2014 Steve Springett. All Rights Reserved.
+
Permission to modify and redistribute is granted under the terms of the Apache 2.0 license. See the LICENSE.txt file for the full license.
+
Dependency-Check makes use of several other open source libraries. Please see the NOTICE.txt file for more information.
diff --git a/dependency-check-maven/license.html b/dependency-check-maven/license.html
index 0f6b04141..088520da4 100644
--- a/dependency-check-maven/license.html
+++ b/dependency-check-maven/license.html
@@ -1,13 +1,13 @@
-
+
dependency-check-jenkins - Project License
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-maven/plugin-info.html b/dependency-check-maven/plugin-info.html
index 30b45c651..643b8217b 100644
--- a/dependency-check-maven/plugin-info.html
+++ b/dependency-check-maven/plugin-info.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Plugin Documentation
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -278,7 +278,7 @@ Call mvn dependency-check:help -Ddetail=true
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.1.0</version>
+ <version>1.1.1</version>
</plugin>
...
</plugins>
@@ -288,7 +288,7 @@ Call mvn dependency-check:help -Ddetail=true
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.1.0</version>
+ <version>1.1.1</version>
</plugin>
...
</plugins>
@@ -300,7 +300,7 @@ Call mvn dependency-check:help -Ddetail=true
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.1.0</version>
+ <version>1.1.1</version>
</plugin>
...
</plugins>
diff --git a/dependency-check-maven/plugin-updates-report.html b/dependency-check-maven/plugin-updates-report.html
index b0e0372a4..3e1828f0d 100644
--- a/dependency-check-maven/plugin-updates-report.html
+++ b/dependency-check-maven/plugin-updates-report.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Plugin Updates Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-maven/pmd.html b/dependency-check-maven/pmd.html
index 9f4cfc82b..ecb5feb65 100644
--- a/dependency-check-maven/pmd.html
+++ b/dependency-check-maven/pmd.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - PMD Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-maven/project-info.html b/dependency-check-maven/project-info.html
index 37e50ef4c..12b4bae2e 100644
--- a/dependency-check-maven/project-info.html
+++ b/dependency-check-maven/project-info.html
@@ -1,13 +1,13 @@
-
+
dependency-check-jenkins - Project Information
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-maven/project-reports.html b/dependency-check-maven/project-reports.html
index c1f1299f0..867505e60 100644
--- a/dependency-check-maven/project-reports.html
+++ b/dependency-check-maven/project-reports.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Generated Reports
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/dependency-check-maven/project-summary.html b/dependency-check-maven/project-summary.html
index 6c607323d..d56de3f0a 100644
--- a/dependency-check-maven/project-summary.html
+++ b/dependency-check-maven/project-summary.html
@@ -1,13 +1,13 @@
-
+
dependency-check-jenkins - Project Summary
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -181,7 +181,7 @@
dependency-check-jenkins
Version
-1.1.0
+1.1.1
Type
pom
diff --git a/dependency-check-maven/surefire-report.html b/dependency-check-maven/surefire-report.html
index a0fe40e45..f7500237b 100644
--- a/dependency-check-maven/surefire-report.html
+++ b/dependency-check-maven/surefire-report.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Surefire Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -266,7 +266,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.093
+0.09
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Package List
@@ -287,7 +287,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
0.093
+
0.09
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
org.owasp.dependencycheck.maven
@@ -309,7 +309,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
0.093
+0.09
Test Cases
[Summary ] [Package List ] [Test Cases ]
diff --git a/dependency-check-maven/taglist.html b/dependency-check-maven/taglist.html
index e9f14b1d2..bc57f884c 100644
--- a/dependency-check-maven/taglist.html
+++ b/dependency-check-maven/taglist.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Tag List report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
-
Last Published: 2014-01-26 |
-
Version: 1.1.0
+
Last Published: 2014-01-30 |
+
Version: 1.1.1
diff --git a/dependency-check-maven/usage.html b/dependency-check-maven/usage.html
index 3c2865d4f..beac7bcd8 100644
--- a/dependency-check-maven/usage.html
+++ b/dependency-check-maven/usage.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Usage
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -154,7 +154,7 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.1.0</version>
+ <version>1.1.1</version>
<executions>
<execution>
<goals>
@@ -182,7 +182,7 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.1.0</version>
+ <version>1.1.1</version>
<configuration>
<failBuildOnCVSS>8</failBuildOnCVSS>
</configuration>
@@ -218,7 +218,7 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.1.0</version>
+ <version>1.1.1</version>
<configuration>
<externalReport>false</externalReport>
</configuration>
diff --git a/dependency-check-maven/xref-test/index.html b/dependency-check-maven/xref-test/index.html
index e8a74de8a..04bf7d392 100644
--- a/dependency-check-maven/xref-test/index.html
+++ b/dependency-check-maven/xref-test/index.html
@@ -4,7 +4,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference
+ Dependency-Check Maven Plugin 1.1.1 Reference
diff --git a/dependency-check-maven/xref-test/org/owasp/dependencycheck/maven/package-frame.html b/dependency-check-maven/xref-test/org/owasp/dependencycheck/maven/package-frame.html
index f8fc782b3..4ecb5a631 100644
--- a/dependency-check-maven/xref-test/org/owasp/dependencycheck/maven/package-frame.html
+++ b/dependency-check-maven/xref-test/org/owasp/dependencycheck/maven/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference Package org.owasp.dependencycheck.maven
+ Dependency-Check Maven Plugin 1.1.1 Reference Package org.owasp.dependencycheck.maven
diff --git a/dependency-check-maven/xref-test/org/owasp/dependencycheck/maven/package-summary.html b/dependency-check-maven/xref-test/org/owasp/dependencycheck/maven/package-summary.html
index 97d114644..fc994cfde 100644
--- a/dependency-check-maven/xref-test/org/owasp/dependencycheck/maven/package-summary.html
+++ b/dependency-check-maven/xref-test/org/owasp/dependencycheck/maven/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference Package org.owasp.dependencycheck.maven
+ Dependency-Check Maven Plugin 1.1.1 Reference Package org.owasp.dependencycheck.maven
diff --git a/dependency-check-maven/xref-test/overview-frame.html b/dependency-check-maven/xref-test/overview-frame.html
index 735ee4fd5..0c235b500 100644
--- a/dependency-check-maven/xref-test/overview-frame.html
+++ b/dependency-check-maven/xref-test/overview-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference
+ Dependency-Check Maven Plugin 1.1.1 Reference
diff --git a/dependency-check-maven/xref-test/overview-summary.html b/dependency-check-maven/xref-test/overview-summary.html
index 8e9cdcba3..cf5fd2668 100644
--- a/dependency-check-maven/xref-test/overview-summary.html
+++ b/dependency-check-maven/xref-test/overview-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference
+ Dependency-Check Maven Plugin 1.1.1 Reference
@@ -24,7 +24,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference
+ Dependency-Check Maven Plugin 1.1.1 Reference
diff --git a/dependency-check-maven/xref/index.html b/dependency-check-maven/xref/index.html
index e8a74de8a..04bf7d392 100644
--- a/dependency-check-maven/xref/index.html
+++ b/dependency-check-maven/xref/index.html
@@ -4,7 +4,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference
+ Dependency-Check Maven Plugin 1.1.1 Reference
diff --git a/dependency-check-maven/xref/org/owasp/dependencycheck/maven/DependencyCheckMojo.html b/dependency-check-maven/xref/org/owasp/dependencycheck/maven/DependencyCheckMojo.html
index de1d4e54b..badee5838 100644
--- a/dependency-check-maven/xref/org/owasp/dependencycheck/maven/DependencyCheckMojo.html
+++ b/dependency-check-maven/xref/org/owasp/dependencycheck/maven/DependencyCheckMojo.html
@@ -214,7 +214,7 @@
206
207
208 @SuppressWarnings({"CanBeFinal" , "FieldCanBeLocal" })
-209 @Parameter(property = "nexusUrl" , defaultValue = "" , required = false)
+209 @Parameter(property = "connectionString" , defaultValue = "" , required = false)
210 private String connectionString;
211
212
diff --git a/dependency-check-maven/xref/org/owasp/dependencycheck/maven/package-frame.html b/dependency-check-maven/xref/org/owasp/dependencycheck/maven/package-frame.html
index 8e673cd31..40947c9b2 100644
--- a/dependency-check-maven/xref/org/owasp/dependencycheck/maven/package-frame.html
+++ b/dependency-check-maven/xref/org/owasp/dependencycheck/maven/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference Package org.owasp.dependencycheck.maven
+ Dependency-Check Maven Plugin 1.1.1 Reference Package org.owasp.dependencycheck.maven
diff --git a/dependency-check-maven/xref/org/owasp/dependencycheck/maven/package-summary.html b/dependency-check-maven/xref/org/owasp/dependencycheck/maven/package-summary.html
index 14b00f4b8..809415d21 100644
--- a/dependency-check-maven/xref/org/owasp/dependencycheck/maven/package-summary.html
+++ b/dependency-check-maven/xref/org/owasp/dependencycheck/maven/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference Package org.owasp.dependencycheck.maven
+ Dependency-Check Maven Plugin 1.1.1 Reference Package org.owasp.dependencycheck.maven
diff --git a/dependency-check-maven/xref/overview-frame.html b/dependency-check-maven/xref/overview-frame.html
index 735ee4fd5..0c235b500 100644
--- a/dependency-check-maven/xref/overview-frame.html
+++ b/dependency-check-maven/xref/overview-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference
+ Dependency-Check Maven Plugin 1.1.1 Reference
diff --git a/dependency-check-maven/xref/overview-summary.html b/dependency-check-maven/xref/overview-summary.html
index 8e9cdcba3..cf5fd2668 100644
--- a/dependency-check-maven/xref/overview-summary.html
+++ b/dependency-check-maven/xref/overview-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference
+ Dependency-Check Maven Plugin 1.1.1 Reference
@@ -24,7 +24,7 @@
- Dependency-Check Maven Plugin 1.1.0 Reference
+ Dependency-Check Maven Plugin 1.1.1 Reference
diff --git a/index.html b/index.html
index ba41e7012..6e1cfd06d 100644
--- a/index.html
+++ b/index.html
@@ -1,13 +1,13 @@
-
+
dependency-check - About
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/issue-tracking.html b/issue-tracking.html
index c4ccc5367..8fd4c732f 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Issue Tracking
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/license.html b/license.html
index 1aef376d4..35e12cf47 100644
--- a/license.html
+++ b/license.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project License
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/mail-lists.html b/mail-lists.html
index e4e3cb20a..e0f9c2a2d 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project Mailing Lists
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/modules.html b/modules.html
index 2e9c47b40..5c8720258 100644
--- a/modules.html
+++ b/modules.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project Modules
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/project-info.html b/project-info.html
index 987c331cf..8fe400e1b 100644
--- a/project-info.html
+++ b/project-info.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project Information
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/project-summary.html b/project-summary.html
index 7949f1ed4..a87fefed2 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project Summary
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
@@ -276,7 +276,7 @@
dependency-check-parent
Version
-1.1.0
+1.1.1
Type
pom
diff --git a/source-repository.html b/source-repository.html
index 55fa8a1d1..4edbd4507 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Source Repository
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/suppression.html b/suppression.html
index 80a3972c1..64c79cf24 100644
--- a/suppression.html
+++ b/suppression.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Suppressing False Positives
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1
diff --git a/team-list.html b/team-list.html
index 43ea65a88..f7048ac56 100644
--- a/team-list.html
+++ b/team-list.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Team list
@@ -62,8 +62,8 @@
- Last Published: 2014-01-26 |
- Version: 1.1.0
+ Last Published: 2014-01-30 |
+ Version: 1.1.1