File: 203,
- Errors: 6,
+ File: 184,
+ Errors: 7,
Warnings: 0,
Infos: 0
@@ -46,7 +46,7 @@ under the License.
- org/owasp/dependencycheck/data/update/StandardUpdate.java
+ org/owasp/dependencycheck/data/lucene/package-info.java
0
@@ -71,1448 +71,6 @@ under the License.
0
-
-
-
- org/owasp/dependencycheck/data/nexus/NexusSearch.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/HintAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/exception/ScanAgentException.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/update/CachedWebDataSource.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/utils/DependencyVersion.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Dependency.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/dependency/Dependency.java
-
-
- 0
-
-
- 0
-
-
- 1
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/IssueManagement.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/task.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/utils/Pair.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/FileTypeAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/nexus/MavenArtifact.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/CpeSuppressionAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/exception/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/dependency/EvidenceCollection.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Parent.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-ant/target/classes/task.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-maven/target/generated-classes/cobertura/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/RepositoryPolicy.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/utils/NonClosingStream.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/cwe/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/nvdcve/CorruptDatabaseException.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Exclusion.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Build.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/utils/DBUtils.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Relocation.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/taskdefs.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Developer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/dependency/VulnerableSoftware.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Notifier.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/cpe/CpeMemoryIndex.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/lucene/DependencySimilarity.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/suppression/PropertyType.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/cpe/Fields.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/suppression/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-cli/target/maven-archiver/pom.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/dependency/VulnerabilityComparator.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/update/exception/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/dependency/Identifier.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-core/src/main/resources/dependencycheck.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-ant/target/classes/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/NexusAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/update/task/DownloadTask.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/nvdcve/DriverLoader.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-utils/src/test/resources/dependencycheck.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/lucene/TokenPairConcatenatingFilter.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Reporting.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-cli/target/generated-classes/cobertura/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/utils/Checksum.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-core/src/test/resources/dependencycheck.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-core/target/generated-classes/cobertura/dependencycheck-resources.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/lucene/FieldAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/dependency/Confidence.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 2
-
-
-
-
- org/owasp/dependencycheck/dependency/Evidence.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Prerequisites.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-core/target/test-classes/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/dependency/Reference.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-cli/src/main/resources/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/nvdcve/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/update/exception/UpdateException.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-utils/src/test/resources/test.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-maven/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/cwe/CweHandler.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/lucene/LuceneUtils.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/utils/Filter.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/cwe/CweDB.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/utils/ExtractionUtil.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/nvdcve/CveDB.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Profile.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/ActivationFile.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/reporting/VelocityLoggerRedirect.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/Organization.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-cli/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/nuget/NuspecParseException.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/cpe/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/suppression/SuppressionParseException.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-core/target/generated-classes/cobertura/dependencycheck.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/lucene/SearchFieldAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/exception/ArchiveExtractionException.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/lucene/VersionTokenizingFilter.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/exception/NoDataException.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/update/task/ProcessTask.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/DistributionManagement.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/nvdcve/DriverShim.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/dependency/Vulnerability.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/generated/MailingList.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/jaxb/pom/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 2
-
-
-
-
- dependency-check-maven/src/main/resources/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/update/xml/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/nuget/NugetPackage.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-core/target/classes/dependencycheck.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- org/owasp/dependencycheck/data/update/NvdCveUpdater.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1530,7 +88,7 @@ under the License.
- org/owasp/dependencycheck/data/lucene/package-info.java
+ org/owasp/dependencycheck/data/update/StandardUpdate.java
0
@@ -1544,21 +102,7 @@ under the License.
- dependency-check-maven/target/classes/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-maven/target/generated-classes/cobertura/mojo.properties
+ org/owasp/dependencycheck/data/nexus/NexusSearch.java
0
@@ -1583,6 +127,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/analyzer/HintAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1597,6 +155,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/exception/ScanAgentException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1628,7 +200,21 @@ under the License.
- org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.java
+ org/owasp/dependencycheck/data/update/CachedWebDataSource.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/utils/DependencyVersion.java
0
@@ -1653,6 +239,34 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Dependency.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1667,6 +281,34 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/dependency/Dependency.java
+
+
+ 0
+
+
+ 0
+
+
+ 1
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/IssueManagement.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1698,7 +340,7 @@ under the License.
- dependency-check-maven/target/maven-archiver/pom.properties
+ org/owasp/dependencycheck/utils/Pair.java
0
@@ -1723,6 +365,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/analyzer/FileTypeAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1754,7 +410,7 @@ under the License.
- dependency-check-maven/target/maven-plugin-help.properties
+ org/owasp/dependencycheck/data/nexus/MavenArtifact.java
0
@@ -1782,7 +438,21 @@ under the License.
- org/owasp/dependencycheck/jaxb/pom/generated/Model.java
+ org/owasp/dependencycheck/analyzer/CpeSuppressionAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/analyzer/exception/package-info.java
0
@@ -1807,6 +477,48 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Parent.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Model.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/dependency/EvidenceCollection.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1835,6 +547,76 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/utils/NonClosingStream.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/RepositoryPolicy.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/cwe/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Exclusion.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/nvdcve/CorruptDatabaseException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1877,6 +659,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Build.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1905,6 +701,76 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/utils/DBUtils.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Relocation.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Developer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Notifier.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/dependency/VulnerableSoftware.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1919,6 +785,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/cpe/CpeMemoryIndex.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1961,6 +841,34 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/suppression/PropertyType.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/lucene/DependencySimilarity.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1992,7 +900,7 @@ under the License.
- dependency-check-ant/target/maven-archiver/pom.properties
+ org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.java
0
@@ -2017,6 +925,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/cpe/Fields.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2090,7 +1012,7 @@ under the License.
- org/owasp/dependencycheck/data/lucene/VersionAnalyzer.java
+ org/owasp/dependencycheck/suppression/package-info.java
0
@@ -2104,7 +1026,7 @@ under the License.
- org/owasp/dependencycheck/data/nuget/package-info.java
+ org/owasp/dependencycheck/data/lucene/VersionAnalyzer.java
0
@@ -2129,6 +1051,48 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/nuget/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/dependency/VulnerabilityComparator.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2140,6 +1104,20 @@ under the License.
0
+
+ 1
+
+
+
+
+ org/owasp/dependencycheck/data/update/exception/package-info.java
+
+
+ 0
+
+
+ 0
+
0
@@ -2157,6 +1135,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/dependency/Identifier.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2171,6 +1163,20 @@ under the License.
0
+
+
+
+ dependency-check-core/src/main/resources/dependencycheck.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2199,6 +1205,34 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/analyzer/NexusAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/update/task/DownloadTask.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2213,6 +1247,104 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/nvdcve/DriverLoader.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-utils/src/test/resources/dependencycheck.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/lucene/TokenPairConcatenatingFilter.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Reporting.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/utils/Checksum.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-core/src/test/resources/dependencycheck.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-core/target/generated-classes/cobertura/dependencycheck-resources.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2227,6 +1359,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/lucene/FieldAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2241,6 +1387,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/dependency/Confidence.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2258,7 +1418,7 @@ under the License.
- dependency-check-ant/target/classes/taskdefs.properties
+ org/owasp/dependencycheck/jaxb/pom/generated/Scm.java
0
@@ -2272,7 +1432,7 @@ under the License.
- org/owasp/dependencycheck/jaxb/pom/generated/Scm.java
+ org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java
0
@@ -2281,7 +1441,7 @@ under the License.
0
- 0
+ 2
@@ -2339,6 +1499,76 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/dependency/Evidence.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-core/target/test-classes/log.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Prerequisites.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/analyzer/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-cli/src/main/resources/log.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2353,6 +1583,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/dependency/Reference.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2367,6 +1611,62 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/nvdcve/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/update/exception/UpdateException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2381,6 +1681,20 @@ under the License.
0
+
+
+
+ dependency-check-utils/src/test/resources/test.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2423,6 +1737,34 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/lucene/LuceneUtils.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/cwe/CweHandler.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2465,6 +1807,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/utils/Filter.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2479,6 +1835,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/cwe/CweDB.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2493,6 +1863,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2507,6 +1891,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/utils/ExtractionUtil.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2524,7 +1922,7 @@ under the License.
- org/owasp/dependencycheck/analyzer/VulnerabilitySuppressionAnalyzer.java
+ org/owasp/dependencycheck/jaxb/pom/generated/Extension.java
0
@@ -2538,7 +1936,7 @@ under the License.
- org/owasp/dependencycheck/jaxb/pom/generated/Extension.java
+ org/owasp/dependencycheck/analyzer/VulnerabilitySuppressionAnalyzer.java
0
@@ -2591,6 +1989,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/nvdcve/CveDB.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2605,6 +2017,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Profile.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2619,6 +2045,48 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/ActivationFile.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/reporting/VelocityLoggerRedirect.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/Organization.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2633,6 +2101,62 @@ under the License.
0
+
+
+
+ dependency-check-core/target/generated-classes/cobertura/dependencycheck.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/suppression/SuppressionParseException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/cpe/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/nuget/NuspecParseException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2664,7 +2188,35 @@ under the License.
- dependency-check-cli/target/classes/log.properties
+ org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/lucene/SearchFieldAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/analyzer/exception/ArchiveExtractionException.java
0
@@ -2689,6 +2241,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/lucene/VersionTokenizingFilter.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2717,6 +2283,20 @@ under the License.
1
+
+
+
+ org/owasp/dependencycheck/exception/NoDataException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2759,6 +2339,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/update/task/ProcessTask.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2776,7 +2370,21 @@ under the License.
- dependency-check-maven/target/classes/mojo.properties
+ org/owasp/dependencycheck/jaxb/pom/generated/DistributionManagement.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/nvdcve/DriverShim.java
0
@@ -2801,6 +2409,20 @@ under the License.
0
+
+
+
+ dependency-check-core/target/test-classes/test.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2818,7 +2440,35 @@ under the License.
- dependency-check-core/target/test-classes/test.properties
+ org/owasp/dependencycheck/dependency/Vulnerability.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/generated/MailingList.java
0
@@ -2843,6 +2493,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/src/main/resources/log.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2857,6 +2521,62 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.java
+
+
+ 0
+
+
+ 0
+
+
+ 2
+
+
+
+
+ org/owasp/dependencycheck/data/nuget/NugetPackage.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/update/xml/package-info.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-core/target/classes/dependencycheck.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2871,6 +2591,20 @@ under the License.
0
+
+
+
+ org/owasp/dependencycheck/data/update/NvdCveUpdater.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.suppression.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.suppression.html
index f5bb0e2af..f5122b70d 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.suppression.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.suppression.html
@@ -27,7 +27,7 @@ org.owasp.dependencycheck.suppression
SuppressionParseException (N/A)
-SuppressionParser (68%)
+SuppressionParser (62%)
SuppressionRule (70%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles.html b/dependency-check-core/cobertura/frame-sourcefiles.html
index 2b23ef089..2d2779614 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles.html
@@ -369,7 +369,7 @@ All Packages
SuppressionParseException (N/A)
-SuppressionParser (68%)
+SuppressionParser (62%)
SuppressionRule (70%)
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.agent.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.agent.html
index b8933b2db..24beb4ca6 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.agent.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.agent.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.analyzer.exception.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.exception.html
index fcb005bf5..e3f694634 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.exception.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.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.analyzer.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html
index f56272d9b..d5b29902e 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 @@
@@ -33,7 +33,7 @@ packageTable.sort(0);
AbstractFileTypeAnalyzer 1.6153846153846154; 1.615
- AbstractSuppressionAnalyzer 3.8333333333333335; 3.833
+ AbstractSuppressionAnalyzer 3.8333333333333335; 3.833
AnalysisPhase 0.0; 0
@@ -81,6 +81,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.cpe.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html
index d53b793fb..a6c13877a 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 928b04dd0..f4713cbe2 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 103bfc491..33ebd343f 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 12893ce4c..f09aaf13b 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
@@ -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.nuget.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nuget.html
index 86675d65d..82887b81a 100644
--- 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
@@ -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.nvdcve.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html
index 843e58c6e..9b3e9d84e 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
@@ -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.exception.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html
index 2c5a89956..10a63c4ca 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 3e8342d7c..2fe449e8d 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 24a6b2f8b..cfda78582 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 033c858c3..9434f8a63 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 65f4929ea..c73bfa565 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
@@ -58,6 +58,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.exception.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html
index 379063ca1..8e7ee396d 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
@@ -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.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
index c830c3009..5c7e0f179 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
@@ -18,7 +18,7 @@
org.owasp.dependencycheck 1 3.1818181818181817; 3.182
org.owasp.dependencycheck.agent 1 1.878787878787879; 1.879
- org.owasp.dependencycheck.analyzer 24 5.133720930232558; 5.134
+ org.owasp.dependencycheck.analyzer 24 5.133720930232558; 5.134
org.owasp.dependencycheck.analyzer.exception 2 1.0; 1
org.owasp.dependencycheck.data.cpe 4 2.5; 2.5
org.owasp.dependencycheck.data.cwe 2 2.8; 2.8
@@ -35,7 +35,7 @@
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 4 3.7142857142857144; 3.714
- org.owasp.dependencycheck.suppression 6 3.0384615384615383; 3.038
+ org.owasp.dependencycheck.suppression 6 3.056603773584906; 3.057
org.owasp.dependencycheck.utils 11 3.4583333333333335; 3.458
@@ -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.jaxb.pom.generated.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html
index c5b491708..92a379e66 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 e0640f80e..0186fde3b 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 6f196a1e5..0ed1f2eae 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
@@ -42,6 +42,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.suppression.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html
index 7865aa33f..dd8cdcd08 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
@@ -16,7 +16,7 @@
-
+
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 95d804d10..ed12d4b24 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
@@ -55,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.html b/dependency-check-core/cobertura/frame-summary.html
index f38b67846..3db9bfb3e 100644
--- a/dependency-check-core/cobertura/frame-summary.html
+++ b/dependency-check-core/cobertura/frame-summary.html
@@ -16,10 +16,10 @@
@@ -45,6 +45,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 925b195cb..7bfd8c64b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
@@ -167,7 +167,7 @@
75
- 76 2 private static final Logger LOGGER = Logger.getLogger(Engine.class .getName());
+ 76 1 private static final Logger LOGGER = Logger.getLogger(Engine.class .getName());
77
78
@@ -182,8 +182,8 @@
83
public Engine() throws DatabaseException {
- 84 2 this (Thread.currentThread().getContextClassLoader());
- 85 2 }
+ 84 1 this (Thread.currentThread().getContextClassLoader());
+ 85 1 }
86
87
@@ -198,29 +198,29 @@
92
- 93 2 public Engine(ClassLoader serviceClassLoader) throws DatabaseException {
- 94 2 this .dependencies = new ArrayList<Dependency>();
- 95 2 this .analyzers = new EnumMap<AnalysisPhase, List<Analyzer>>(AnalysisPhase.class );
- 96 2 this .fileTypeAnalyzers = new HashSet<FileTypeAnalyzer>();
- 97 2 this .serviceClassLoader = serviceClassLoader;
+ 93 1 public Engine(ClassLoader serviceClassLoader) throws DatabaseException {
+ 94 1 this .dependencies = new ArrayList<Dependency>();
+ 95 1 this .analyzers = new EnumMap<AnalysisPhase, List<Analyzer>>(AnalysisPhase.class );
+ 96 1 this .fileTypeAnalyzers = new HashSet<FileTypeAnalyzer>();
+ 97 1 this .serviceClassLoader = serviceClassLoader;
98
- 99 2 ConnectionFactory.initialize();
+ 99 1 ConnectionFactory.initialize();
100
- 101 2 boolean autoUpdate = true ;
+ 101 1 boolean autoUpdate = true ;
102
try {
- 103 2 autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE);
+ 103 1 autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE);
104 0 } catch (InvalidSettingException ex) {
105 0 LOGGER.log(Level.FINE, "Invalid setting for auto-update; using true." );
- 106 2 }
- 107 2 if (autoUpdate) {
+ 106 1 }
+ 107 1 if (autoUpdate) {
108 0 doUpdates();
109
}
- 110 2 loadAnalyzers();
- 111 2 }
+ 110 1 loadAnalyzers();
+ 111 1 }
112
113
@@ -245,23 +245,23 @@
private void loadAnalyzers() {
124
- 125 20 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 126 18 analyzers.put(phase, new ArrayList<Analyzer>());
+ 125 10 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 126 9 analyzers.put(phase, new ArrayList<Analyzer>());
127
}
128
- 129 2 final AnalyzerService service = new AnalyzerService(serviceClassLoader);
- 130 2 final Iterator<Analyzer> iterator = service.getAnalyzers();
- 131 28 while (iterator.hasNext()) {
- 132 26 final Analyzer a = iterator.next();
- 133 26 analyzers.get(a.getAnalysisPhase()).add(a);
- 134 26 if (a instanceof FileTypeAnalyzer) {
- 135 10 this .fileTypeAnalyzers.add((FileTypeAnalyzer) a);
+ 129 1 final AnalyzerService service = new AnalyzerService(serviceClassLoader);
+ 130 1 final Iterator<Analyzer> iterator = service.getAnalyzers();
+ 131 14 while (iterator.hasNext()) {
+ 132 13 final Analyzer a = iterator.next();
+ 133 13 analyzers.get(a.getAnalysisPhase()).add(a);
+ 134 13 if (a instanceof FileTypeAnalyzer) {
+ 135 5 this .fileTypeAnalyzers.add((FileTypeAnalyzer) a);
136
}
- 137 26 }
- 138 2 }
+ 137 13 }
+ 138 1 }
139
140
@@ -466,17 +466,17 @@
255
public void scan(File file) {
- 256 8 if (file.exists()) {
- 257 8 if (file.isDirectory()) {
- 258 4 scanDirectory(file);
+ 256 4 if (file.exists()) {
+ 257 4 if (file.isDirectory()) {
+ 258 2 scanDirectory(file);
259
} else {
- 260 4 scanFile(file);
+ 260 2 scanFile(file);
261
}
262
}
- 263 8 }
+ 263 4 }
264
265
@@ -491,11 +491,11 @@
270
protected void scanDirectory(File dir) {
- 271 76 final File[] files = dir.listFiles();
- 272 76 if (files != null ) {
- 273 148 for (File f : files) {
- 274 72 if (f.isDirectory()) {
- 275 72 scanDirectory(f);
+ 271 38 final File[] files = dir.listFiles();
+ 272 38 if (files != null ) {
+ 273 74 for (File f : files) {
+ 274 36 if (f.isDirectory()) {
+ 275 36 scanDirectory(f);
276
} else {
277 0 scanFile(f);
@@ -505,7 +505,7 @@
}
280
}
- 281 76 }
+ 281 38 }
282
283
@@ -520,19 +520,19 @@
288
protected void scanFile(File file) {
- 289 4 if (!file.isFile()) {
+ 289 2 if (!file.isFile()) {
290 0 final String msg = String.format("Path passed to scanFile(File) is not a file: %s. Skipping the file." , file.toString());
291 0 LOGGER.log(Level.FINE, msg);
292 0 return ;
293
}
- 294 4 final String fileName = file.getName();
- 295 4 final String extension = FileUtils.getFileExtension(fileName);
- 296 4 if (extension != null ) {
- 297 4 if (supportsExtension(extension)) {
- 298 4 final Dependency dependency = new Dependency(file);
- 299 4 dependencies.add(dependency);
- 300 4 }
+ 294 2 final String fileName = file.getName();
+ 295 2 final String extension = FileUtils.getFileExtension(fileName);
+ 296 2 if (extension != null ) {
+ 297 2 if (supportsExtension(extension)) {
+ 298 2 final Dependency dependency = new Dependency(file);
+ 299 2 dependencies.add(dependency);
+ 300 2 }
301
} else {
302 0 final String msg = String.format("No file extension found on file '%s'. The file was not analyzed." ,
@@ -541,7 +541,7 @@
304 0 LOGGER.log(Level.FINEST, msg);
305
}
- 306 4 }
+ 306 2 }
307
308
@@ -556,7 +556,7 @@
313
try {
- 314 2 ensureDataExists();
+ 314 1 ensureDataExists();
315 0 } catch (NoDataException ex) {
316 0 final String msg = String.format("%s%n%nUnable to continue dependency-check analysis." , ex.getMessage());
317 0 LOGGER.log(Level.SEVERE, msg);
@@ -569,28 +569,28 @@
324 0 return ;
325
- 326 2 }
+ 326 1 }
327
- 328 2 final String logHeader = String.format("%n"
+ 328 1 final String logHeader = String.format("%n"
329
+ "----------------------------------------------------%n"
330
+ "BEGIN ANALYSIS%n"
331
+ "----------------------------------------------------" );
- 332 2 LOGGER.log(Level.FINE, logHeader);
- 333 2 LOGGER.log(Level.INFO, "Analysis Starting" );
+ 332 1 LOGGER.log(Level.FINE, logHeader);
+ 333 1 LOGGER.log(Level.INFO, "Analysis Starting" );
334
335
- 336 20 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 337 18 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 336 10 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 337 9 final List<Analyzer> analyzerList = analyzers.get(phase);
338
- 339 18 for (Analyzer a : analyzerList) {
- 340 26 initializeAnalyzer(a);
+ 339 9 for (Analyzer a : analyzerList) {
+ 340 13 initializeAnalyzer(a);
341
342
@@ -601,23 +601,23 @@
345
- 346 26 final String msg = String.format("Begin Analyzer '%s'" , a.getName());
- 347 26 LOGGER.log(Level.FINE, msg);
- 348 26 final Set<Dependency> dependencySet = new HashSet<Dependency>();
- 349 26 dependencySet.addAll(dependencies);
- 350 26 for (Dependency d : dependencySet) {
- 351 52 boolean shouldAnalyze = true ;
- 352 52 if (a instanceof FileTypeAnalyzer) {
- 353 20 final FileTypeAnalyzer fAnalyzer = (FileTypeAnalyzer) a;
- 354 20 shouldAnalyze = fAnalyzer.supportsExtension(d.getFileExtension());
+ 346 13 final String msg = String.format("Begin Analyzer '%s'" , a.getName());
+ 347 13 LOGGER.log(Level.FINE, msg);
+ 348 13 final Set<Dependency> dependencySet = new HashSet<Dependency>();
+ 349 13 dependencySet.addAll(dependencies);
+ 350 13 for (Dependency d : dependencySet) {
+ 351 26 boolean shouldAnalyze = true ;
+ 352 26 if (a instanceof FileTypeAnalyzer) {
+ 353 10 final FileTypeAnalyzer fAnalyzer = (FileTypeAnalyzer) a;
+ 354 10 shouldAnalyze = fAnalyzer.supportsExtension(d.getFileExtension());
355
}
- 356 52 if (shouldAnalyze) {
- 357 40 final String msgFile = String.format("Begin Analysis of '%s'" , d.getActualFilePath());
- 358 40 LOGGER.log(Level.FINE, msgFile);
+ 356 26 if (shouldAnalyze) {
+ 357 20 final String msgFile = String.format("Begin Analysis of '%s'" , d.getActualFilePath());
+ 358 20 LOGGER.log(Level.FINE, msgFile);
359
try {
- 360 40 a.analyze(d, this );
+ 360 20 a.analyze(d, this );
361 0 } catch (AnalysisException ex) {
362 0 final String exMsg = String.format("An error occurred while analyzing '%s'." , d.getActualFilePath());
363 0 LOGGER.log(Level.WARNING, exMsg);
@@ -628,34 +628,34 @@
368 0 LOGGER.log(Level.WARNING, axMsg);
369 0 LOGGER.log(Level.FINE, "" , ex);
- 370 40 }
+ 370 20 }
371
}
- 372 52 }
- 373 26 }
+ 372 26 }
+ 373 13 }
374
}
- 375 20 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 376 18 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 375 10 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 376 9 final List<Analyzer> analyzerList = analyzers.get(phase);
377
- 378 18 for (Analyzer a : analyzerList) {
- 379 26 closeAnalyzer(a);
- 380 26 }
+ 378 9 for (Analyzer a : analyzerList) {
+ 379 13 closeAnalyzer(a);
+ 380 13 }
381
}
382
- 383 2 final String logFooter = String.format("%n"
+ 383 1 final String logFooter = String.format("%n"
384
+ "----------------------------------------------------%n"
385
+ "END ANALYSIS%n"
386
+ "----------------------------------------------------" );
- 387 2 LOGGER.log(Level.FINE, logFooter);
- 388 2 LOGGER.log(Level.INFO, "Analysis Complete" );
- 389 2 }
+ 387 1 LOGGER.log(Level.FINE, logFooter);
+ 388 1 LOGGER.log(Level.INFO, "Analysis Complete" );
+ 389 1 }
390
391
@@ -672,9 +672,9 @@
private void initializeAnalyzer(Analyzer analyzer) {
397
try {
- 398 26 final String msg = String.format("Initializing %s" , analyzer.getName());
- 399 26 LOGGER.log(Level.FINE, msg);
- 400 26 analyzer.initialize();
+ 398 13 final String msg = String.format("Initializing %s" , analyzer.getName());
+ 399 13 LOGGER.log(Level.FINE, msg);
+ 400 13 analyzer.initialize();
401 0 } catch (Throwable ex) {
402 0 final String msg = String.format("Exception occurred initializing %s." , analyzer.getName());
403 0 LOGGER.log(Level.SEVERE, msg);
@@ -685,8 +685,8 @@
407 0 } catch (Throwable ex1) {
408 0 LOGGER.log(Level.FINEST, null , ex1);
409 0 }
- 410 26 }
- 411 26 }
+ 410 13 }
+ 411 13 }
412
413
@@ -701,15 +701,15 @@
418
private void closeAnalyzer(Analyzer analyzer) {
- 419 26 final String msg = String.format("Closing Analyzer '%s'" , analyzer.getName());
- 420 26 LOGGER.log(Level.FINE, msg);
+ 419 13 final String msg = String.format("Closing Analyzer '%s'" , analyzer.getName());
+ 420 13 LOGGER.log(Level.FINE, msg);
421
try {
- 422 26 analyzer.close();
+ 422 13 analyzer.close();
423 0 } catch (Throwable ex) {
424 0 LOGGER.log(Level.FINEST, null , ex);
- 425 26 }
- 426 26 }
+ 425 13 }
+ 426 13 }
427
428
@@ -776,19 +776,19 @@
467
public boolean supportsExtension(String ext) {
- 468 1702 if (ext == null ) {
- 469 6 return false ;
+ 468 851 if (ext == null ) {
+ 469 3 return false ;
470
}
- 471 1696 boolean scan = false ;
- 472 1696 for (FileTypeAnalyzer a : this .fileTypeAnalyzers) {
+ 471 848 boolean scan = false ;
+ 472 848 for (FileTypeAnalyzer a : this .fileTypeAnalyzers) {
473
474
- 475 8480 scan |= a.supportsExtension(ext);
- 476 8480 }
- 477 1696 return scan;
+ 475 4240 scan |= a.supportsExtension(ext);
+ 476 4240 }
+ 477 848 return scan;
478
}
479
@@ -807,32 +807,32 @@
486
private void ensureDataExists() throws NoDataException, DatabaseException {
- 487 2 final CpeMemoryIndex cpe = CpeMemoryIndex.getInstance();
- 488 2 final CveDB cve = new CveDB();
+ 487 1 final CpeMemoryIndex cpe = CpeMemoryIndex.getInstance();
+ 488 1 final CveDB cve = new CveDB();
489
490
try {
- 491 2 cve.open();
- 492 2 cpe.open(cve);
+ 491 1 cve.open();
+ 492 1 cpe.open(cve);
493 0 } catch (IndexException ex) {
494 0 throw new NoDataException(ex.getMessage(), ex);
495 0 } catch (DatabaseException ex) {
496 0 throw new NoDataException(ex.getMessage(), ex);
497
} finally {
- 498 2 cve.close();
- 499 2 }
- 500 2 if (cpe.numDocs() <= 0) {
+ 498 1 cve.close();
+ 499 1 }
+ 500 1 if (cpe.numDocs() <= 0) {
501 0 cpe.close();
502 0 throw new NoDataException("No documents exist" );
503
}
- 504 2 }
+ 504 1 }
505
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.agent.DependencyCheckScanAgent.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.agent.DependencyCheckScanAgent.html
index ac606eb9e..9c760aa85 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.agent.DependencyCheckScanAgent.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.agent.DependencyCheckScanAgent.html
@@ -1867,6 +1867,6 @@
}
-
+
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 0b5dcc9e3..e236d2c4d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
@@ -83,7 +83,7 @@
public void initialize() throws Exception {
33
- 34 20 }
+ 34 10 }
35
36
@@ -102,11 +102,11 @@
public void close() throws Exception {
43
- 44 30 }
+ 44 15 }
45
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer.html
index 6f96557fa..8d69720d8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer.html
@@ -101,19 +101,19 @@
42
- 43 58 public AbstractFileTypeAnalyzer() {
- 44 58 final String key = getAnalyzerEnabledSettingKey();
+ 43 29 public AbstractFileTypeAnalyzer() {
+ 44 29 final String key = getAnalyzerEnabledSettingKey();
45
try {
- 46 58 enabled = Settings.getBoolean(key, true );
+ 46 29 enabled = Settings.getBoolean(key, true );
47 0 } catch (InvalidSettingException ex) {
48 0 String msg = String.format("Invalid setting for property '%s'" , key);
49 0 LOGGER.log(Level.WARNING, msg);
50 0 LOGGER.log(Level.FINE, "" , ex);
51 0 msg = String.format("%s has been disabled" , getName());
52 0 LOGGER.log(Level.WARNING, msg);
- 53 58 }
- 54 58 }
+ 53 29 }
+ 54 29 }
55
56
@@ -126,14 +126,14 @@
60
- 61 2 private static final Logger LOGGER = Logger.getLogger(AbstractFileTypeAnalyzer.class .getName());
+ 61 1 private static final Logger LOGGER = Logger.getLogger(AbstractFileTypeAnalyzer.class .getName());
62
63
64
- 65 58 private boolean filesMatched = false ;
+ 65 29 private boolean filesMatched = false ;
66
67
@@ -178,7 +178,7 @@
87
- 88 58 private boolean enabled = true ;
+ 88 29 private boolean enabled = true ;
89
90
@@ -321,14 +321,14 @@
@Override
159
public final void initialize() throws Exception {
- 160 20 if (filesMatched) {
- 161 14 initializeFileTypeAnalyzer();
+ 160 10 if (filesMatched) {
+ 161 7 initializeFileTypeAnalyzer();
162
} else {
- 163 6 enabled = false ;
+ 163 3 enabled = false ;
164
}
- 165 20 }
+ 165 10 }
166
167
@@ -351,11 +351,11 @@
@Override
176
public final void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 177 20 if (enabled) {
- 178 20 analyzeFileType(dependency, engine);
+ 177 10 if (enabled) {
+ 178 10 analyzeFileType(dependency, engine);
179
}
- 180 18 }
+ 180 9 }
181
182
@@ -374,12 +374,12 @@
@Override
189
public final boolean supportsExtension(String extension) {
- 190 8518 if (!enabled) {
- 191 1708 return false ;
+ 190 4259 if (!enabled) {
+ 191 854 return false ;
192
}
- 193 6810 final Set<String> ext = getSupportedExtensions();
- 194 6810 if (ext == null ) {
+ 193 3405 final Set<String> ext = getSupportedExtensions();
+ 194 3405 if (ext == null ) {
195 0 final String msg = String.format("The '%s' analyzer is misconfigured and does not have any file extensions;"
196
+ " it will be disabled" , getName());
@@ -387,12 +387,12 @@
198 0 return false ;
199
} else {
- 200 6810 final boolean match = ext.contains(extension);
- 201 6810 if (match) {
- 202 32 filesMatched = match;
+ 200 3405 final boolean match = ext.contains(extension);
+ 201 3405 if (match) {
+ 202 16 filesMatched = match;
203
}
- 204 6810 return match;
+ 204 3405 return match;
205
}
206
@@ -429,11 +429,11 @@
222
protected static Set<String> newHashSet(String... strings) {
- 223 22 final Set<String> set = new HashSet<String>();
+ 223 11 final Set<String> set = new HashSet<String>();
224
- 225 22 Collections.addAll(set, strings);
- 226 22 return set;
+ 225 11 Collections.addAll(set, strings);
+ 226 11 return set;
227
}
228
@@ -442,6 +442,6 @@
}
-
+
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 5441b75a2..904c95cb2 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html
@@ -12,7 +12,7 @@
@@ -111,7 +111,7 @@
47
- 48 2 private static final Logger LOGGER = Logger.getLogger(AbstractSuppressionAnalyzer.class .getName());
+ 48 1 private static final Logger LOGGER = Logger.getLogger(AbstractSuppressionAnalyzer.class .getName());
49
50
@@ -150,9 +150,9 @@
@Override
67
public void initialize() throws Exception {
- 68 10 super .initialize();
- 69 10 loadSuppressionData();
- 70 8 }
+ 68 5 super .initialize();
+ 69 5 loadSuppressionData();
+ 70 4 }
71
72
@@ -213,113 +213,112 @@
100
private void loadSuppressionData() throws SuppressionParseException {
- 101 10 final SuppressionParser parser = new SuppressionParser();
- 102 10 File file = null ;
- 103 10 file = new File(this .getClass().getClassLoader().getResource("dependencycheck-base-suppression.xml" ).getPath());
- 104
+ 101 5 final SuppressionParser parser = new SuppressionParser();
+ 102 5 File file = null ;
+ 103
try {
- 105 10 rules = parser.parseSuppressionRules(file);
- 106 0 } catch (SuppressionParseException ex) {
- 107 0 LOGGER.log(Level.FINE, "Unable to parse the base suppression data file" , ex);
- 108 10 }
- 109 10 final String suppressionFilePath = Settings.getString(Settings.KEYS.SUPPRESSION_FILE);
- 110 10 if (suppressionFilePath == null ) {
- 111 4 return ;
- 112
+ 104 5 rules = parser.parseSuppressionRules(this .getClass().getClassLoader().getResourceAsStream("dependencycheck-base-suppression.xml" ));
+ 105 0 } catch (SuppressionParseException ex) {
+ 106 0 LOGGER.log(Level.FINE, "Unable to parse the base suppression data file" , ex);
+ 107 5 }
+ 108 5 final String suppressionFilePath = Settings.getString(Settings.KEYS.SUPPRESSION_FILE);
+ 109 5 if (suppressionFilePath == null ) {
+ 110 2 return ;
+ 111
}
- 113 6 boolean deleteTempFile = false ;
- 114
+ 112 3 boolean deleteTempFile = false ;
+ 113
try {
- 115 6 final Pattern uriRx = Pattern.compile("^(https?|file)\\:.*" , Pattern.CASE_INSENSITIVE);
- 116 6 if (uriRx.matcher(suppressionFilePath).matches()) {
- 117 2 deleteTempFile = true ;
- 118 2 file = FileUtils.getTempFile("suppression" , "xml" );
- 119 2 final URL url = new URL(suppressionFilePath);
- 120
+ 114 3 final Pattern uriRx = Pattern.compile("^(https?|file)\\:.*" , Pattern.CASE_INSENSITIVE);
+ 115 3 if (uriRx.matcher(suppressionFilePath).matches()) {
+ 116 1 deleteTempFile = true ;
+ 117 1 file = FileUtils.getTempFile("suppression" , "xml" );
+ 118 1 final URL url = new URL(suppressionFilePath);
+ 119
try {
- 121 2 Downloader.fetchFile(url, file, false );
- 122 0 } catch (DownloadFailedException ex) {
- 123 0 Downloader.fetchFile(url, file, true );
- 124 2 }
- 125 2 } else {
- 126 4 file = new File(suppressionFilePath);
- 127 4 if (!file.exists()) {
- 128 4 final InputStream suppressionsFromClasspath = this .getClass().getClassLoader().getResourceAsStream(suppressionFilePath);
- 129 4 if (suppressionsFromClasspath != null ) {
- 130 2 deleteTempFile = true ;
- 131 2 file = FileUtils.getTempFile("suppression" , "xml" );
- 132
+ 120 1 Downloader.fetchFile(url, file, false );
+ 121 0 } catch (DownloadFailedException ex) {
+ 122 0 Downloader.fetchFile(url, file, true );
+ 123 1 }
+ 124 1 } else {
+ 125 2 file = new File(suppressionFilePath);
+ 126 2 if (!file.exists()) {
+ 127 2 final InputStream suppressionsFromClasspath = this .getClass().getClassLoader().getResourceAsStream(suppressionFilePath);
+ 128 2 if (suppressionsFromClasspath != null ) {
+ 129 1 deleteTempFile = true ;
+ 130 1 file = FileUtils.getTempFile("suppression" , "xml" );
+ 131
try {
- 133 2 org.apache.commons.io.FileUtils.copyInputStreamToFile(suppressionsFromClasspath, file);
- 134 0 } catch (IOException ex) {
- 135 0 throwSuppressionParseException("Unable to locate suppressions file in classpath" , ex);
- 136 2 }
- 137
+ 132 1 org.apache.commons.io.FileUtils.copyInputStreamToFile(suppressionsFromClasspath, file);
+ 133 0 } catch (IOException ex) {
+ 134 0 throwSuppressionParseException("Unable to locate suppressions file in classpath" , ex);
+ 135 1 }
+ 136
}
- 138
+ 137
}
+ 138
+ }
139
- }
- 140
- 141 6 if (file != null ) {
- 142
+ 140 3 if (file != null ) {
+ 141
try {
- 143
+ 142
- 144 6 rules.addAll(parser.parseSuppressionRules(file));
- 145 4 LOGGER.log(Level.FINE, rules.size() + " suppression rules were loaded." );
- 146 2 } catch (SuppressionParseException ex) {
- 147 2 final String msg = String.format("Unable to parse suppression xml file '%s'" , file.getPath());
- 148 2 LOGGER.log(Level.WARNING, msg);
- 149 2 LOGGER.log(Level.WARNING, ex.getMessage());
- 150 2 LOGGER.log(Level.FINE, "" , ex);
- 151 2 throw ex;
- 152 4 }
- 153
+ 143 3 rules.addAll(parser.parseSuppressionRules(file));
+ 144 2 LOGGER.log(Level.FINE, rules.size() + " suppression rules were loaded." );
+ 145 1 } catch (SuppressionParseException ex) {
+ 146 1 final String msg = String.format("Unable to parse suppression xml file '%s'" , file.getPath());
+ 147 1 LOGGER.log(Level.WARNING, msg);
+ 148 1 LOGGER.log(Level.WARNING, ex.getMessage());
+ 149 1 LOGGER.log(Level.FINE, "" , ex);
+ 150 1 throw ex;
+ 151 2 }
+ 152
}
- 154 0 } catch (DownloadFailedException ex) {
- 155 0 throwSuppressionParseException("Unable to fetch the configured suppression file" , ex);
- 156 0 } catch (MalformedURLException ex) {
- 157 0 throwSuppressionParseException("Configured suppression file has an invalid URL" , ex);
- 158 2 } catch (IOException ex) {
- 159 2 throwSuppressionParseException("Unable to create temp file for suppressions" , ex);
- 160
+ 153 0 } catch (DownloadFailedException ex) {
+ 154 0 throwSuppressionParseException("Unable to fetch the configured suppression file" , ex);
+ 155 0 } catch (MalformedURLException ex) {
+ 156 0 throwSuppressionParseException("Configured suppression file has an invalid URL" , ex);
+ 157 1 } catch (IOException ex) {
+ 158 1 throwSuppressionParseException("Unable to create temp file for suppressions" , ex);
+ 159
} finally {
- 161 6 if (deleteTempFile && file != null ) {
- 162 4 FileUtils.delete(file);
- 163
+ 160 3 if (deleteTempFile && file != null ) {
+ 161 2 FileUtils.delete(file);
+ 162
}
- 164
+ 163
}
- 165 4 }
- 166
+ 164 2 }
+ 165
- 167
+ 166
- 168
+ 167
- 169
+ 168
- 170
+ 169
- 171
+ 170
- 172
+ 171
- 173
+ 172
- 174
+ 173
private void throwSuppressionParseException(String message, Exception exception) throws SuppressionParseException {
- 175 2 LOGGER.log(Level.WARNING, message);
- 176 2 LOGGER.log(Level.FINE, "" , exception);
- 177 2 throw new SuppressionParseException(message, exception);
- 178
+ 174 1 LOGGER.log(Level.WARNING, message);
+ 175 1 LOGGER.log(Level.FINE, "" , exception);
+ 176 1 throw new SuppressionParseException(message, exception);
+ 177
}
- 179
+ 178
}
-
+
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 651c29bcb..aba57293d 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 10 public enum AnalysisPhase {
+ 25 5 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 2229f539b..d2d366d93 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
@@ -161,6 +161,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 831084125..33e5ba556 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 4 public AnalyzerService(ClassLoader classLoader) {
- 42 4 loader = ServiceLoader.load(Analyzer.class , classLoader);
- 43 4 }
+ 41 2 public AnalyzerService(ClassLoader classLoader) {
+ 42 2 loader = ServiceLoader.load(Analyzer.class , classLoader);
+ 43 2 }
44
45
@@ -114,13 +114,13 @@
50
public Iterator<Analyzer> getAnalyzers() {
- 51 4 return loader.iterator();
+ 51 2 return loader.iterator();
52
}
53
}
-
+
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 c8a0450e5..953c02ca3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html
@@ -143,7 +143,7 @@
63
- 64 2 private static final Logger LOGGER = Logger.getLogger(ArchiveAnalyzer.class .getName());
+ 64 1 private static final Logger LOGGER = Logger.getLogger(ArchiveAnalyzer.class .getName());
65
66
@@ -158,7 +158,7 @@
71
- 72 2 private static int dirCount = 0;
+ 72 1 private static int dirCount = 0;
73
74
@@ -173,7 +173,7 @@
79
- 80 2 private static final int MAX_SCAN_DEPTH = Settings.getInt("archive.scan.depth" , 3);
+ 80 1 private static final int MAX_SCAN_DEPTH = Settings.getInt("archive.scan.depth" , 3);
81
82
@@ -200,14 +200,14 @@
93
- 94 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
+ 94 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
95
96
97
- 98 2 private static final Set<String> ZIPPABLES = newHashSet("zip" , "ear" , "war" , "jar" , "sar" , "apk" , "nupkg" );
+ 98 1 private static final Set<String> ZIPPABLES = newHashSet("zip" , "ear" , "war" , "jar" , "sar" , "apk" , "nupkg" );
99
100
@@ -216,7 +216,7 @@
102
- 103 2 private static final Set<String> EXTENSIONS = newHashSet("tar" , "gz" , "tgz" );
+ 103 1 private static final Set<String> EXTENSIONS = newHashSet("tar" , "gz" , "tgz" );
104
105
@@ -225,19 +225,19 @@
107
- 108 2 private static final Set<String> REMOVE_FROM_ANALYSIS = newHashSet("zip" , "tar" , "gz" , "tgz" );
+ 108 1 private static final Set<String> REMOVE_FROM_ANALYSIS = newHashSet("zip" , "tar" , "gz" , "tgz" );
109
110
static {
- 111 2 final String additionalZipExt = Settings.getString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS);
- 112 2 if (additionalZipExt != null ) {
+ 111 1 final String additionalZipExt = Settings.getString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS);
+ 112 1 if (additionalZipExt != null ) {
113 0 final HashSet ext = new HashSet<String>(Arrays.asList(additionalZipExt));
114 0 ZIPPABLES.addAll(ext);
115
}
- 116 2 EXTENSIONS.addAll(ZIPPABLES);
- 117 2 }
+ 116 1 EXTENSIONS.addAll(ZIPPABLES);
+ 117 1 }
118
119
@@ -254,7 +254,7 @@
@Override
125
public Set<String> getSupportedExtensions() {
- 126 1700 return EXTENSIONS;
+ 126 850 return EXTENSIONS;
127
}
128
@@ -273,7 +273,7 @@
@Override
135
public String getName() {
- 136 8 return ANALYZER_NAME;
+ 136 4 return ANALYZER_NAME;
137
}
138
@@ -292,7 +292,7 @@
@Override
145
public AnalysisPhase getAnalysisPhase() {
- 146 2 return ANALYSIS_PHASE;
+ 146 1 return ANALYSIS_PHASE;
147
}
148
@@ -313,7 +313,7 @@
@Override
156
protected String getAnalyzerEnabledSettingKey() {
- 157 4 return Settings.KEYS.ANALYZER_ARCHIVE_ENABLED;
+ 157 2 return Settings.KEYS.ANALYZER_ARCHIVE_ENABLED;
158
}
159
@@ -332,19 +332,19 @@
@Override
166
public void initializeFileTypeAnalyzer() throws Exception {
- 167 2 final File baseDir = Settings.getTempDirectory();
- 168 2 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
- 169 2 if (!tempFileLocation.delete()) {
+ 167 1 final File baseDir = Settings.getTempDirectory();
+ 168 1 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
+ 169 1 if (!tempFileLocation.delete()) {
170 0 final String msg = String.format("Unable to delete temporary file '%s'." , tempFileLocation.getAbsolutePath());
171 0 throw new AnalysisException(msg);
172
}
- 173 2 if (!tempFileLocation.mkdirs()) {
+ 173 1 if (!tempFileLocation.mkdirs()) {
174 0 final String msg = String.format("Unable to create directory '%s'." , tempFileLocation.getAbsolutePath());
175 0 throw new AnalysisException(msg);
176
}
- 177 2 }
+ 177 1 }
178
179
@@ -361,16 +361,16 @@
@Override
185
public void close() throws Exception {
- 186 2 if (tempFileLocation != null && tempFileLocation.exists()) {
- 187 2 LOGGER.log(Level.FINE, "Attempting to delete temporary files" );
- 188 2 final boolean success = FileUtils.delete(tempFileLocation);
- 189 2 if (!success && tempFileLocation != null & tempFileLocation.exists()) {
+ 186 1 if (tempFileLocation != null && tempFileLocation.exists()) {
+ 187 1 LOGGER.log(Level.FINE, "Attempting to delete temporary files" );
+ 188 1 final boolean success = FileUtils.delete(tempFileLocation);
+ 189 1 if (!success && tempFileLocation != null & tempFileLocation.exists()) {
190 0 LOGGER.log(Level.WARNING, "Failed to delete some temporary files, see the log for more details" );
191
}
192
}
- 193 2 }
+ 193 1 }
194
195
@@ -393,17 +393,17 @@
@Override
204
public void analyzeFileType(Dependency dependency, Engine engine) throws AnalysisException {
- 205 4 final File f = new File(dependency.getActualFilePath());
- 206 4 final File tmpDir = getNextTempDirectory();
- 207 4 extractFiles(f, tmpDir, engine);
+ 205 2 final File f = new File(dependency.getActualFilePath());
+ 206 2 final File tmpDir = getNextTempDirectory();
+ 207 2 extractFiles(f, tmpDir, engine);
208
209
- 210 4 List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
- 211 4 engine.scan(tmpDir);
- 212 4 List<Dependency> newDependencies = engine.getDependencies();
- 213 4 if (dependencies.size() != newDependencies.size()) {
+ 210 2 List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
+ 211 2 engine.scan(tmpDir);
+ 212 2 List<Dependency> newDependencies = engine.getDependencies();
+ 213 2 if (dependencies.size() != newDependencies.size()) {
214
215 0 final Set<Dependency> dependencySet = new HashSet<Dependency>();
@@ -443,7 +443,7 @@
238 0 }
239
}
- 240 4 if (this .REMOVE_FROM_ANALYSIS.contains(dependency.getFileExtension())) {
+ 240 2 if (this .REMOVE_FROM_ANALYSIS.contains(dependency.getFileExtension())) {
241 0 if ("zip" .equals(dependency.getFileExtension()) && isZipFileActuallyJarFile(dependency)) {
242 0 final File tdir = getNextTempDirectory();
243 0 final String fileName = dependency.getFileName();
@@ -486,8 +486,8 @@
272 0 engine.getDependencies().remove(dependency);
273
}
- 274 4 Collections.sort(engine.getDependencies());
- 275 4 }
+ 274 2 Collections.sort(engine.getDependencies());
+ 275 2 }
276
277
@@ -504,20 +504,20 @@
283
private File getNextTempDirectory() throws AnalysisException {
- 284 4 dirCount += 1;
- 285 4 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
+ 284 2 dirCount += 1;
+ 285 2 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
286
- 287 4 if (directory.exists()) {
+ 287 2 if (directory.exists()) {
288 0 return getNextTempDirectory();
289
}
- 290 4 if (!directory.mkdirs()) {
+ 290 2 if (!directory.mkdirs()) {
291 0 final String msg = String.format("Unable to create temp directory '%s'." , directory.getAbsolutePath());
292 0 throw new AnalysisException(msg);
293
}
- 294 4 return directory;
+ 294 2 return directory;
295
}
296
@@ -540,25 +540,25 @@
305
private void extractFiles(File archive, File destination, Engine engine) throws AnalysisException {
- 306 4 if (archive == null || destination == null ) {
+ 306 2 if (archive == null || destination == null ) {
307 0 return ;
308
}
309
- 310 4 FileInputStream fis = null ;
+ 310 2 FileInputStream fis = null ;
311
try {
- 312 4 fis = new FileInputStream(archive);
+ 312 2 fis = new FileInputStream(archive);
313 0 } catch (FileNotFoundException ex) {
314 0 LOGGER.log(Level.FINE, null , ex);
315 0 throw new AnalysisException("Archive file was not found." , ex);
- 316 4 }
- 317 4 final String archiveExt = FileUtils.getFileExtension(archive.getName()).toLowerCase();
+ 316 2 }
+ 317 2 final String archiveExt = FileUtils.getFileExtension(archive.getName()).toLowerCase();
318
try {
- 319 4 if (ZIPPABLES.contains(archiveExt)) {
- 320 4 extractArchive(new ZipArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
+ 319 2 if (ZIPPABLES.contains(archiveExt)) {
+ 320 2 extractArchive(new ZipArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
321 0 } else if ("tar" .equals(archiveExt)) {
322 0 extractArchive(new TarArchiveInputStream(new BufferedInputStream(fis)), destination, engine);
323 0 } else if ("gz" .equals(archiveExt) || "tgz" .equals(archiveExt)) {
@@ -581,12 +581,12 @@
338
} finally {
339 0 try {
- 340 4 fis.close();
+ 340 2 fis.close();
341 0 } catch (IOException ex) {
342 0 LOGGER.log(Level.FINEST, null , ex);
- 343 4 }
+ 343 2 }
344 0 }
- 345 4 }
+ 345 2 }
346
347
@@ -611,21 +611,21 @@
ArchiveEntry entry;
357
try {
- 358 1774 while ((entry = input.getNextEntry()) != null ) {
- 359 1770 if (entry.isDirectory()) {
- 360 72 final File d = new File(destination, entry.getName());
- 361 72 if (!d.exists()) {
- 362 72 if (!d.mkdirs()) {
+ 358 887 while ((entry = input.getNextEntry()) != null ) {
+ 359 885 if (entry.isDirectory()) {
+ 360 36 final File d = new File(destination, entry.getName());
+ 361 36 if (!d.exists()) {
+ 362 36 if (!d.mkdirs()) {
363 0 final String msg = String.format("Unable to create directory '%s'." , d.getAbsolutePath());
364 0 throw new AnalysisException(msg);
365
}
366
}
- 367 72 } else {
- 368 1698 final File file = new File(destination, entry.getName());
- 369 1698 final String ext = FileUtils.getFileExtension(file.getName());
- 370 1698 if (engine.supportsExtension(ext)) {
+ 367 36 } else {
+ 368 849 final File file = new File(destination, entry.getName());
+ 369 849 final String ext = FileUtils.getFileExtension(file.getName());
+ 370 849 if (engine.supportsExtension(ext)) {
371 0 BufferedOutputStream bos = null ;
372
FileOutputStream fos;
@@ -673,7 +673,7 @@
}
406
}
- 407 1698 }
+ 407 849 }
408
}
409 0 } catch (IOException ex) {
@@ -682,18 +682,18 @@
412 0 throw new ArchiveExtractionException(ex);
413
} finally {
- 414 4 if (input != null ) {
+ 414 2 if (input != null ) {
415
try {
- 416 4 input.close();
+ 416 2 input.close();
417 0 } catch (IOException ex) {
418 0 LOGGER.log(Level.FINEST, null , ex);
- 419 4 }
+ 419 2 }
420
}
421
}
- 422 4 }
+ 422 2 }
423
424
@@ -796,6 +796,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.html
index 3ce37ef35..e6ac73e22 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.html
@@ -135,14 +135,14 @@
59
- 60 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 60 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
61
62
63
- 64 2 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("dll" , "exe" );
+ 64 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("dll" , "exe" );
65
66
@@ -165,7 +165,7 @@
75
- 76 2 private static final Logger LOGGER = Logger.getLogger(AssemblyAnalyzer.class .getName(), "dependencycheck-resources" );
+ 76 1 private static final Logger LOGGER = Logger.getLogger(AssemblyAnalyzer.class .getName(), "dependencycheck-resources" );
77
78
@@ -182,8 +182,8 @@
private List<String> buildArgumentList() {
84
- 85 16 final List<String> args = new ArrayList<String>();
- 86 16 if (!"\\" .equals(System.getProperty("file.separator" ))) {
+ 85 8 final List<String> args = new ArrayList<String>();
+ 86 8 if (!"\\" .equals(System.getProperty("file.separator" ))) {
87 0 if (Settings.getString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH) != null ) {
88 0 args.add(Settings.getString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH));
89
@@ -193,10 +193,10 @@
}
92
}
- 93 16 args.add(grokAssemblyExe.getPath());
+ 93 8 args.add(grokAssemblyExe.getPath());
94
- 95 16 return args;
+ 95 8 return args;
96
}
97
@@ -221,83 +221,83 @@
public void analyzeFileType(Dependency dependency, Engine engine)
107
throws AnalysisException {
- 108 6 if (grokAssemblyExe == null ) {
+ 108 3 if (grokAssemblyExe == null ) {
109 0 LOGGER.warning("analyzer.AssemblyAnalyzer.notdeployed" );
110 0 return ;
111
}
112
- 113 6 final List<String> args = buildArgumentList();
- 114 6 args.add(dependency.getActualFilePath());
- 115 6 final ProcessBuilder pb = new ProcessBuilder(args);
- 116 6 BufferedReader rdr = null ;
- 117 6 Document doc = null ;
+ 113 3 final List<String> args = buildArgumentList();
+ 114 3 args.add(dependency.getActualFilePath());
+ 115 3 final ProcessBuilder pb = new ProcessBuilder(args);
+ 116 3 BufferedReader rdr = null ;
+ 117 3 Document doc = null ;
118
try {
- 119 6 final Process proc = pb.start();
+ 119 3 final Process proc = pb.start();
120
- 121 6 rdr = new BufferedReader(new InputStreamReader(proc.getErrorStream(), "UTF-8" ));
- 122 6 String line = null ;
- 123 6 while (rdr.ready() && (line = rdr.readLine()) != null ) {
+ 121 3 rdr = new BufferedReader(new InputStreamReader(proc.getErrorStream(), "UTF-8" ));
+ 122 3 String line = null ;
+ 123 3 while (rdr.ready() && (line = rdr.readLine()) != null ) {
124 0 LOGGER.log(Level.WARNING, "analyzer.AssemblyAnalyzer.grokassembly.stderr" , line);
125
}
- 126 6 int rc = 0;
- 127 6 doc = builder.parse(proc.getInputStream());
+ 126 3 int rc = 0;
+ 127 3 doc = builder.parse(proc.getInputStream());
128
129
try {
- 130 6 rc = proc.waitFor();
+ 130 3 rc = proc.waitFor();
131 0 } catch (InterruptedException ie) {
132
return ;
- 133 6 }
- 134 6 if (rc == 3) {
+ 133 3 }
+ 134 3 if (rc == 3) {
135 0 LOGGER.log(Level.FINE, "analyzer.AssemblyAnalyzer.notassembly" , dependency.getActualFilePath());
136
return ;
- 137 6 } else if (rc != 0) {
- 138 2 LOGGER.log(Level.WARNING, "analyzer.AssemblyAnalyzer.grokassembly.rc" , rc);
+ 137 3 } else if (rc != 0) {
+ 138 1 LOGGER.log(Level.WARNING, "analyzer.AssemblyAnalyzer.grokassembly.rc" , rc);
139
}
140
- 141 6 final XPath xpath = XPathFactory.newInstance().newXPath();
+ 141 3 final XPath xpath = XPathFactory.newInstance().newXPath();
142
143
- 144 6 final String error = xpath.evaluate("/assembly/error" , doc);
- 145 6 if (error != null && !"" .equals(error)) {
- 146 2 throw new AnalysisException(error);
+ 144 3 final String error = xpath.evaluate("/assembly/error" , doc);
+ 145 3 if (error != null && !"" .equals(error)) {
+ 146 1 throw new AnalysisException(error);
147
}
148
- 149 4 final String version = xpath.evaluate("/assembly/version" , doc);
- 150 4 if (version != null ) {
- 151 4 dependency.getVersionEvidence().addEvidence(new Evidence("grokassembly" , "version" ,
+ 149 2 final String version = xpath.evaluate("/assembly/version" , doc);
+ 150 2 if (version != null ) {
+ 151 2 dependency.getVersionEvidence().addEvidence(new Evidence("grokassembly" , "version" ,
152
version, Confidence.HIGHEST));
153
}
154
- 155 4 final String vendor = xpath.evaluate("/assembly/company" , doc);
- 156 4 if (vendor != null ) {
- 157 4 dependency.getVendorEvidence().addEvidence(new Evidence("grokassembly" , "vendor" ,
+ 155 2 final String vendor = xpath.evaluate("/assembly/company" , doc);
+ 156 2 if (vendor != null ) {
+ 157 2 dependency.getVendorEvidence().addEvidence(new Evidence("grokassembly" , "vendor" ,
158
vendor, Confidence.HIGH));
159
}
160
- 161 4 final String product = xpath.evaluate("/assembly/product" , doc);
- 162 4 if (product != null ) {
- 163 4 dependency.getProductEvidence().addEvidence(new Evidence("grokassembly" , "product" ,
+ 161 2 final String product = xpath.evaluate("/assembly/product" , doc);
+ 162 2 if (product != null ) {
+ 163 2 dependency.getProductEvidence().addEvidence(new Evidence("grokassembly" , "product" ,
164
product, Confidence.HIGH));
165
@@ -314,18 +314,18 @@
173 0 throw new AnalysisException(xpe);
174
} finally {
- 175 6 if (rdr != null ) {
+ 175 3 if (rdr != null ) {
176
try {
- 177 6 rdr.close();
+ 177 3 rdr.close();
178 0 } catch (IOException ex) {
179 0 LOGGER.log(Level.FINEST, "ignore" , ex);
- 180 8 }
+ 180 4 }
181
}
182
}
- 183 4 }
+ 183 2 }
184
185
@@ -342,46 +342,46 @@
@Override
191
public void initializeFileTypeAnalyzer() throws Exception {
- 192 10 final File tempFile = File.createTempFile("GKA" , ".exe" , Settings.getTempDirectory());
- 193 10 FileOutputStream fos = null ;
- 194 10 InputStream is = null ;
+ 192 5 final File tempFile = File.createTempFile("GKA" , ".exe" , Settings.getTempDirectory());
+ 193 5 FileOutputStream fos = null ;
+ 194 5 InputStream is = null ;
195
try {
- 196 10 fos = new FileOutputStream(tempFile);
- 197 10 is = AssemblyAnalyzer.class .getClassLoader().getResourceAsStream("GrokAssembly.exe" );
- 198 10 final byte [] buff = new byte [4096];
- 199 10 int bread = -1;
- 200 30 while ((bread = is.read(buff)) >= 0) {
- 201 20 fos.write(buff, 0, bread);
+ 196 5 fos = new FileOutputStream(tempFile);
+ 197 5 is = AssemblyAnalyzer.class .getClassLoader().getResourceAsStream("GrokAssembly.exe" );
+ 198 5 final byte [] buff = new byte [4096];
+ 199 5 int bread = -1;
+ 200 15 while ((bread = is.read(buff)) >= 0) {
+ 201 10 fos.write(buff, 0, bread);
202
}
- 203 10 grokAssemblyExe = tempFile;
+ 203 5 grokAssemblyExe = tempFile;
204
- 205 10 grokAssemblyExe.deleteOnExit();
- 206 10 LOGGER.log(Level.FINE, "analyzer.AssemblyAnalyzer.grokassembly.deployed" , grokAssemblyExe.getPath());
+ 205 5 grokAssemblyExe.deleteOnExit();
+ 206 5 LOGGER.log(Level.FINE, "analyzer.AssemblyAnalyzer.grokassembly.deployed" , grokAssemblyExe.getPath());
207 0 } catch (IOException ioe) {
208 0 this .setEnabled(false );
209 0 LOGGER.log(Level.WARNING, "analyzer.AssemblyAnalyzer.grokassembly.notdeployed" , ioe.getMessage());
210 0 throw new AnalysisException("Could not extract GrokAssembly.exe" , ioe);
211
} finally {
- 212 10 if (fos != null ) {
+ 212 5 if (fos != null ) {
213
try {
- 214 10 fos.close();
+ 214 5 fos.close();
215 0 } catch (Throwable e) {
216 0 LOGGER.fine("Error closing output stream" );
- 217 10 }
+ 217 5 }
218
}
- 219 10 if (is != null ) {
+ 219 5 if (is != null ) {
220
try {
- 221 10 is.close();
+ 221 5 is.close();
222 0 } catch (Throwable e) {
223 0 LOGGER.fine("Error closing input stream" );
- 224 10 }
+ 224 5 }
225
}
226
@@ -390,24 +390,24 @@
228
- 229 10 final List<String> args = buildArgumentList();
- 230 10 BufferedReader rdr = null ;
+ 229 5 final List<String> args = buildArgumentList();
+ 230 5 BufferedReader rdr = null ;
231
try {
- 232 10 final ProcessBuilder pb = new ProcessBuilder(args);
- 233 10 final Process p = pb.start();
+ 232 5 final ProcessBuilder pb = new ProcessBuilder(args);
+ 233 5 final Process p = pb.start();
234
- 235 10 rdr = new BufferedReader(new InputStreamReader(p.getErrorStream(), "UTF-8" ));
- 236 10 while (rdr.ready() && rdr.readLine() != null ) {
+ 235 5 rdr = new BufferedReader(new InputStreamReader(p.getErrorStream(), "UTF-8" ));
+ 236 5 while (rdr.ready() && rdr.readLine() != null ) {
237
238
}
- 239 10 final Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(p.getInputStream());
- 240 10 final XPath xpath = XPathFactory.newInstance().newXPath();
- 241 10 final String error = xpath.evaluate("/assembly/error" , doc);
- 242 10 if (p.waitFor() != 1 || error == null || "" .equals(error)) {
+ 239 5 final Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(p.getInputStream());
+ 240 5 final XPath xpath = XPathFactory.newInstance().newXPath();
+ 241 5 final String error = xpath.evaluate("/assembly/error" , doc);
+ 242 5 if (p.waitFor() != 1 || error == null || "" .equals(error)) {
243 0 LOGGER.warning("An error occurred with the .NET AssemblyAnalyzer, please see the log for more details." );
244 0 LOGGER.fine("GrokAssembly.exe is not working properly" );
245 0 grokAssemblyExe = null ;
@@ -428,36 +428,36 @@
}
258
} finally {
- 259 10 if (rdr != null ) {
+ 259 5 if (rdr != null ) {
260
try {
- 261 10 rdr.close();
+ 261 5 rdr.close();
262 0 } catch (IOException ex) {
263 0 LOGGER.log(Level.FINEST, "ignore" , ex);
- 264 10 }
+ 264 5 }
265
}
266
}
- 267 10 builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- 268 10 }
+ 267 5 builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ 268 5 }
269
270
@Override
271
public void close() throws Exception {
- 272 12 super .close();
+ 272 6 super .close();
273
try {
- 274 12 if (grokAssemblyExe != null && !grokAssemblyExe.delete()) {
+ 274 6 if (grokAssemblyExe != null && !grokAssemblyExe.delete()) {
275 0 grokAssemblyExe.deleteOnExit();
276
}
277 0 } catch (SecurityException se) {
278 0 LOGGER.fine("analyzer.AssemblyAnalyzer.grokassembly.notdeleted" );
- 279 12 }
- 280 12 }
+ 279 6 }
+ 280 6 }
281
282
@@ -474,7 +474,7 @@
@Override
288
public Set<String> getSupportedExtensions() {
- 289 1706 return SUPPORTED_EXTENSIONS;
+ 289 853 return SUPPORTED_EXTENSIONS;
290
}
291
@@ -493,7 +493,7 @@
@Override
298
public String getName() {
- 299 10 return ANALYZER_NAME;
+ 299 5 return ANALYZER_NAME;
300
}
301
@@ -512,7 +512,7 @@
@Override
308
public AnalysisPhase getAnalysisPhase() {
- 309 2 return ANALYSIS_PHASE;
+ 309 1 return ANALYSIS_PHASE;
310
}
311
@@ -531,13 +531,13 @@
@Override
318
protected String getAnalyzerEnabledSettingKey() {
- 319 14 return Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED;
+ 319 7 return Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED;
320
}
321
}
-
+
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 95f12048a..d6ef338c0 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
@@ -145,7 +145,7 @@
63
- 64 2 private static final Logger LOGGER = Logger.getLogger(CPEAnalyzer.class .getName());
+ 64 1 private static final Logger LOGGER = Logger.getLogger(CPEAnalyzer.class .getName());
65
66
@@ -228,7 +228,7 @@
@Override
105
public String getName() {
- 106 8 return "CPE Analyzer" ;
+ 106 4 return "CPE Analyzer" ;
107
}
108
@@ -247,7 +247,7 @@
@Override
115
public AnalysisPhase getAnalysisPhase() {
- 116 2 return AnalysisPhase.IDENTIFIER_ANALYSIS;
+ 116 1 return AnalysisPhase.IDENTIFIER_ANALYSIS;
117
}
118
@@ -266,8 +266,8 @@
@Override
125
public void initialize() throws Exception {
- 126 2 this .open();
- 127 2 }
+ 126 1 this .open();
+ 127 1 }
128
129
@@ -286,19 +286,19 @@
136
public void open() throws IOException, DatabaseException {
- 137 2 LOGGER.log(Level.FINE, "Opening the CVE Database" );
- 138 2 cve = new CveDB();
- 139 2 cve.open();
- 140 2 LOGGER.log(Level.FINE, "Creating the Lucene CPE Index" );
- 141 2 cpe = CpeMemoryIndex.getInstance();
+ 137 1 LOGGER.log(Level.FINE, "Opening the CVE Database" );
+ 138 1 cve = new CveDB();
+ 139 1 cve.open();
+ 140 1 LOGGER.log(Level.FINE, "Creating the Lucene CPE Index" );
+ 141 1 cpe = CpeMemoryIndex.getInstance();
142
try {
- 143 2 cpe.open(cve);
+ 143 1 cpe.open(cve);
144 0 } catch (IndexException ex) {
145 0 LOGGER.log(Level.FINE, "IndexException" , ex);
146 0 throw new DatabaseException(ex);
- 147 2 }
- 148 2 }
+ 147 1 }
+ 148 1 }
149
150
@@ -311,15 +311,15 @@
@Override
154
public void close() {
- 155 2 if (cpe != null ) {
- 156 2 cpe.close();
+ 155 1 if (cpe != null ) {
+ 156 1 cpe.close();
157
}
- 158 2 if (cve != null ) {
- 159 2 cve.close();
+ 158 1 if (cve != null ) {
+ 159 1 cve.close();
160
}
- 161 2 }
+ 161 1 }
162
163
@@ -342,56 +342,56 @@
172
protected void determineCPE(Dependency dependency) throws CorruptIndexException, IOException, ParseException {
- 173 4 Confidence confidence = Confidence.HIGHEST;
+ 173 2 Confidence confidence = Confidence.HIGHEST;
174
- 175 4 String vendors = addEvidenceWithoutDuplicateTerms("" , dependency.getVendorEvidence(), confidence);
- 176 4 String products = addEvidenceWithoutDuplicateTerms("" , dependency.getProductEvidence(), confidence);
+ 175 2 String vendors = addEvidenceWithoutDuplicateTerms("" , dependency.getVendorEvidence(), confidence);
+ 176 2 String products = addEvidenceWithoutDuplicateTerms("" , dependency.getProductEvidence(), confidence);
177
178
- 179 4 addEvidenceWithoutDuplicateTerms("" , dependency.getVersionEvidence(), confidence);
+ 179 2 addEvidenceWithoutDuplicateTerms("" , dependency.getVersionEvidence(), confidence);
180
- 181 4 int ctr = 0;
+ 181 2 int ctr = 0;
182
do {
- 183 16 if (!vendors.isEmpty() && !products.isEmpty()) {
- 184 16 final List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),
+ 183 8 if (!vendors.isEmpty() && !products.isEmpty()) {
+ 184 8 final List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),
185
dependency.getVendorEvidence().getWeighting());
186
- 187 16 for (IndexEntry e : entries) {
- 188 108 if (verifyEntry(e, dependency)) {
- 189 8 final String vendor = e.getVendor();
- 190 8 final String product = e.getProduct();
- 191 8 determineIdentifiers(dependency, vendor, product);
+ 187 8 for (IndexEntry e : entries) {
+ 188 54 if (verifyEntry(e, dependency)) {
+ 189 4 final String vendor = e.getVendor();
+ 190 4 final String product = e.getProduct();
+ 191 4 determineIdentifiers(dependency, vendor, product);
192
}
- 193 108 }
+ 193 54 }
194
}
- 195 16 confidence = reduceConfidence(confidence);
- 196 16 if (dependency.getVendorEvidence().contains(confidence)) {
- 197 16 vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);
+ 195 8 confidence = reduceConfidence(confidence);
+ 196 8 if (dependency.getVendorEvidence().contains(confidence)) {
+ 197 8 vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);
198
}
- 199 16 if (dependency.getProductEvidence().contains(confidence)) {
- 200 14 products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);
+ 199 8 if (dependency.getProductEvidence().contains(confidence)) {
+ 200 7 products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);
201
}
202
203
- 204 16 if (dependency.getVersionEvidence().contains(confidence)) {
- 205 12 addEvidenceWithoutDuplicateTerms("" , dependency.getVersionEvidence(), confidence);
+ 204 8 if (dependency.getVersionEvidence().contains(confidence)) {
+ 205 6 addEvidenceWithoutDuplicateTerms("" , dependency.getVersionEvidence(), confidence);
206
}
- 207 16 } while ((++ctr) < 4);
- 208 4 }
+ 207 8 } while ((++ctr) < 4);
+ 208 2 }
209
210
@@ -416,31 +416,31 @@
220
private String addEvidenceWithoutDuplicateTerms(final String text, final EvidenceCollection ec, Confidence confidenceFilter) {
- 221 54 final String txt = (text == null ) ? "" : text;
- 222 54 final StringBuilder sb = new StringBuilder(txt.length() + (20 * ec.size()));
- 223 54 sb.append(' ' ).append(txt).append(' ' );
- 224 54 for (Evidence e : ec.iterator(confidenceFilter)) {
- 225 152 String value = e.getValue();
+ 221 27 final String txt = (text == null ) ? "" : text;
+ 222 27 final StringBuilder sb = new StringBuilder(txt.length() + (20 * ec.size()));
+ 223 27 sb.append(' ' ).append(txt).append(' ' );
+ 224 27 for (Evidence e : ec.iterator(confidenceFilter)) {
+ 225 76 String value = e.getValue();
226
227
228
- 229 152 if (value.startsWith("http://" )) {
- 230 8 value = value.substring(7).replaceAll("\\." , " " );
+ 229 76 if (value.startsWith("http://" )) {
+ 230 4 value = value.substring(7).replaceAll("\\." , " " );
231
}
- 232 152 if (value.startsWith("https://" )) {
+ 232 76 if (value.startsWith("https://" )) {
233 0 value = value.substring(8).replaceAll("\\." , " " );
234
}
- 235 152 if (sb.indexOf(" " + value + " " ) < 0) {
- 236 96 sb.append(value).append(' ' );
+ 235 76 if (sb.indexOf(" " + value + " " ) < 0) {
+ 236 48 sb.append(value).append(' ' );
237
}
- 238 152 }
- 239 54 return sb.toString().trim();
+ 238 76 }
+ 239 27 return sb.toString().trim();
240
}
241
@@ -459,13 +459,13 @@
248
private Confidence reduceConfidence(final Confidence c) {
- 249 16 if (c == Confidence.HIGHEST) {
- 250 4 return Confidence.HIGH;
- 251 12 } else if (c == Confidence.HIGH) {
- 252 4 return Confidence.MEDIUM;
+ 249 8 if (c == Confidence.HIGHEST) {
+ 250 2 return Confidence.HIGH;
+ 251 6 } else if (c == Confidence.HIGH) {
+ 252 2 return Confidence.MEDIUM;
253
} else {
- 254 8 return Confidence.LOW;
+ 254 4 return Confidence.LOW;
255
}
256
@@ -514,23 +514,23 @@
Set<String> vendorWeightings, Set<String> productWeightings)
278
throws CorruptIndexException, IOException, ParseException {
- 279 16 final ArrayList<IndexEntry> ret = new ArrayList<IndexEntry>(MAX_QUERY_RESULTS);
+ 279 8 final ArrayList<IndexEntry> ret = new ArrayList<IndexEntry>(MAX_QUERY_RESULTS);
280
- 281 16 final String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);
- 282 16 if (searchString == null ) {
+ 281 8 final String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);
+ 282 8 if (searchString == null ) {
283 0 return ret;
284
}
285
- 286 16 final TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);
- 287 416 for (ScoreDoc d : docs.scoreDocs) {
- 288 400 if (d.score >= 0.08) {
- 289 108 final Document doc = cpe.getDocument(d.doc);
- 290 108 final IndexEntry entry = new IndexEntry();
- 291 108 entry.setVendor(doc.get(Fields.VENDOR));
- 292 108 entry.setProduct(doc.get(Fields.PRODUCT));
+ 286 8 final TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);
+ 287 208 for (ScoreDoc d : docs.scoreDocs) {
+ 288 200 if (d.score >= 0.08) {
+ 289 54 final Document doc = cpe.getDocument(d.doc);
+ 290 54 final IndexEntry entry = new IndexEntry();
+ 291 54 entry.setVendor(doc.get(Fields.VENDOR));
+ 292 54 entry.setProduct(doc.get(Fields.PRODUCT));
293
294
@@ -545,16 +545,16 @@
299
- 300 108 entry.setSearchScore(d.score);
- 301 108 if (!ret.contains(entry)) {
- 302 108 ret.add(entry);
+ 300 54 entry.setSearchScore(d.score);
+ 301 54 if (!ret.contains(entry)) {
+ 302 54 ret.add(entry);
303
}
304
}
305
}
- 306 16 return ret;
+ 306 8 return ret;
307
}
308
@@ -591,23 +591,23 @@
protected String buildSearch(String vendor, String product,
324
Set<String> vendorWeighting, Set<String> productWeightings) {
- 325 16 final String v = vendor;
- 326 16 final String p = product;
- 327 16 final StringBuilder sb = new StringBuilder(v.length() + p.length()
+ 325 8 final String v = vendor;
+ 326 8 final String p = product;
+ 327 8 final StringBuilder sb = new StringBuilder(v.length() + p.length()
328
+ Fields.PRODUCT.length() + Fields.VENDOR.length() + STRING_BUILDER_BUFFER);
329
- 330 16 if (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {
+ 330 8 if (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {
331 0 return null ;
332
}
- 333 16 sb.append(" AND " );
- 334 16 if (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {
+ 333 8 sb.append(" AND " );
+ 334 8 if (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {
335 0 return null ;
336
}
- 337 16 return sb.toString();
+ 337 8 return sb.toString();
338
}
339
@@ -636,47 +636,47 @@
351
private boolean appendWeightedSearch(StringBuilder sb, String field, String searchText, Set<String> weightedText) {
- 352 32 sb.append(" " ).append(field).append(":( " );
+ 352 16 sb.append(" " ).append(field).append(":( " );
353
- 354 32 final String cleanText = cleanseText(searchText);
+ 354 16 final String cleanText = cleanseText(searchText);
355
- 356 32 if ("" .equals(cleanText)) {
+ 356 16 if ("" .equals(cleanText)) {
357 0 return false ;
358
}
359
- 360 32 if (weightedText == null || weightedText.isEmpty()) {
+ 360 16 if (weightedText == null || weightedText.isEmpty()) {
361 0 LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);
362
} else {
- 363 32 final StringTokenizer tokens = new StringTokenizer(cleanText);
- 364 480 while (tokens.hasMoreElements()) {
- 365 448 final String word = tokens.nextToken();
- 366 448 String temp = null ;
- 367 448 for (String weighted : weightedText) {
- 368 816 final String weightedStr = cleanseText(weighted);
- 369 816 if (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {
- 370 60 temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;
- 371 60 if (!word.equalsIgnoreCase(weightedStr)) {
+ 363 16 final StringTokenizer tokens = new StringTokenizer(cleanText);
+ 364 240 while (tokens.hasMoreElements()) {
+ 365 224 final String word = tokens.nextToken();
+ 366 224 String temp = null ;
+ 367 224 for (String weighted : weightedText) {
+ 368 408 final String weightedStr = cleanseText(weighted);
+ 369 408 if (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {
+ 370 30 temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;
+ 371 30 if (!word.equalsIgnoreCase(weightedStr)) {
372 0 temp += " " + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;
373
}
374
}
- 375 816 }
- 376 448 if (temp == null ) {
- 377 388 temp = LuceneUtils.escapeLuceneQuery(word);
+ 375 408 }
+ 376 224 if (temp == null ) {
+ 377 194 temp = LuceneUtils.escapeLuceneQuery(word);
378
}
- 379 448 sb.append(" " ).append(temp);
- 380 448 }
+ 379 224 sb.append(" " ).append(temp);
+ 380 224 }
381
}
- 382 32 sb.append(" ) " );
- 383 32 return true ;
+ 382 16 sb.append(" ) " );
+ 383 16 return true ;
384
}
385
@@ -695,7 +695,7 @@
392
private String cleanseText(String text) {
- 393 848 return text.replaceAll(CLEANSE_CHARACTER_RX, " " );
+ 393 424 return text.replaceAll(CLEANSE_CHARACTER_RX, " " );
394
}
395
@@ -716,15 +716,15 @@
403
private boolean equalsIgnoreCaseAndNonAlpha(String l, String r) {
- 404 816 if (l == null || r == null ) {
+ 404 408 if (l == null || r == null ) {
405 0 return false ;
406
}
407
- 408 816 final String left = l.replaceAll(CLEANSE_NONALPHA_RX, "" );
- 409 816 final String right = r.replaceAll(CLEANSE_NONALPHA_RX, "" );
- 410 816 return left.equalsIgnoreCase(right);
+ 408 408 final String left = l.replaceAll(CLEANSE_NONALPHA_RX, "" );
+ 409 408 final String right = r.replaceAll(CLEANSE_NONALPHA_RX, "" );
+ 410 408 return left.equalsIgnoreCase(right);
411
}
412
@@ -747,18 +747,18 @@
421
private boolean verifyEntry(final IndexEntry entry, final Dependency dependency) {
- 422 108 boolean isValid = false ;
+ 422 54 boolean isValid = false ;
423
- 424 108 if (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())
+ 424 54 if (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())
425
&& collectionContainsString(dependency.getVendorEvidence(), entry.getVendor())) {
426
- 427 8 isValid = true ;
+ 427 4 isValid = true ;
428
}
- 429 108 return isValid;
+ 429 54 return isValid;
430
}
431
@@ -803,14 +803,14 @@
451
- 452 118 if (text == null ) {
+ 452 59 if (text == null ) {
453 0 return false ;
454
}
- 455 118 final String[] words = text.split("[\\s_-]" );
- 456 118 final List<String> list = new ArrayList<String>();
- 457 118 String tempWord = null ;
- 458 348 for (String word : words) {
+ 455 59 final String[] words = text.split("[\\s_-]" );
+ 456 59 final List<String> list = new ArrayList<String>();
+ 457 59 String tempWord = null ;
+ 458 174 for (String word : words) {
459
460
@@ -819,28 +819,28 @@
462
- 463 230 if (tempWord != null ) {
- 464 8 list.add(tempWord + word);
- 465 8 tempWord = null ;
- 466 222 } else if (word.length() <= 2) {
- 467 8 tempWord = word;
+ 463 115 if (tempWord != null ) {
+ 464 4 list.add(tempWord + word);
+ 465 4 tempWord = null ;
+ 466 111 } else if (word.length() <= 2) {
+ 467 4 tempWord = word;
468
} else {
- 469 214 list.add(word);
+ 469 107 list.add(word);
470
}
471
}
- 472 118 if (tempWord != null && !list.isEmpty()) {
+ 472 59 if (tempWord != null && !list.isEmpty()) {
473 0 final String tmp = list.get(list.size() - 1) + tempWord;
474 0 list.add(tmp);
475
}
- 476 118 boolean contains = true ;
- 477 118 for (String word : list) {
- 478 222 contains &= ec.containsUsedString(word);
- 479 222 }
- 480 118 return contains;
+ 476 59 boolean contains = true ;
+ 477 59 for (String word : list) {
+ 478 111 contains &= ec.containsUsedString(word);
+ 479 111 }
+ 480 59 return contains;
481
}
482
@@ -865,15 +865,15 @@
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
492
try {
- 493 4 determineCPE(dependency);
+ 493 2 determineCPE(dependency);
494 0 } catch (CorruptIndexException ex) {
495 0 throw new AnalysisException("CPE Index is corrupt." , ex);
496 0 } catch (IOException ex) {
497 0 throw new AnalysisException("Failure opening the CPE Index." , ex);
498 0 } catch (ParseException ex) {
499 0 throw new AnalysisException("Unable to parse the generated Lucene query for this dependency." , ex);
- 500 4 }
- 501 4 }
+ 500 2 }
+ 501 2 }
502
503
@@ -898,45 +898,45 @@
513
private void determineIdentifiers(Dependency dependency, String vendor, String product) throws UnsupportedEncodingException {
- 514 8 final Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);
- 515 8 DependencyVersion bestGuess = new DependencyVersion("-" );
- 516 8 Confidence bestGuessConf = null ;
- 517 8 final List<IdentifierMatch> collected = new ArrayList<IdentifierMatch>();
- 518 40 for (Confidence conf : Confidence.values()) {
- 519 32 for (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {
- 520 32 final DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());
- 521 32 if (evVer == null ) {
+ 514 4 final Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);
+ 515 4 DependencyVersion bestGuess = new DependencyVersion("-" );
+ 516 4 Confidence bestGuessConf = null ;
+ 517 4 final List<IdentifierMatch> collected = new ArrayList<IdentifierMatch>();
+ 518 20 for (Confidence conf : Confidence.values()) {
+ 519 16 for (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {
+ 520 16 final DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());
+ 521 16 if (evVer == null ) {
522 0 continue ;
523
}
- 524 32 for (VulnerableSoftware vs : cpes) {
+ 524 16 for (VulnerableSoftware vs : cpes) {
525
DependencyVersion dbVer;
- 526 1248 if (vs.getRevision() != null && !vs.getRevision().isEmpty()) {
- 527 512 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + "." + vs.getRevision());
+ 526 624 if (vs.getRevision() != null && !vs.getRevision().isEmpty()) {
+ 527 256 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + "." + vs.getRevision());
528
} else {
- 529 736 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());
+ 529 368 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());
530
}
- 531 1248 if (dbVer == null
+ 531 624 if (dbVer == null
532
|| evVer.equals(dbVer)) {
533
- 534 32 final String url = String.format(NVD_SEARCH_URL, URLEncoder.encode(vs.getName(), "UTF-8" ));
- 535 32 final IdentifierMatch match = new IdentifierMatch("cpe" , vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);
- 536 32 collected.add(match);
- 537 32 } else {
+ 534 16 final String url = String.format(NVD_SEARCH_URL, URLEncoder.encode(vs.getName(), "UTF-8" ));
+ 535 16 final IdentifierMatch match = new IdentifierMatch("cpe" , vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);
+ 536 16 collected.add(match);
+ 537 16 } else {
538
- 539 1216 if (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()
+ 539 608 if (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()
540
&& evVer.matchesAtLeastThreeLevels(dbVer)) {
- 541 256 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
- 542 8 if (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {
- 543 8 bestGuess = dbVer;
- 544 8 bestGuessConf = conf;
+ 541 128 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+ 542 4 if (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {
+ 543 4 bestGuess = dbVer;
+ 544 4 bestGuessConf = conf;
545
}
546
@@ -945,8 +945,8 @@
}
548
}
- 549 1248 }
- 550 32 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+ 549 624 }
+ 550 16 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
551 0 if (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {
552 0 bestGuess = evVer;
553 0 bestGuessConf = conf;
@@ -954,39 +954,39 @@
}
555
}
- 556 32 }
+ 556 16 }
557
}
- 558 8 final String cpeName = String.format("cpe:/a:%s:%s:%s" , vendor, product, bestGuess.toString());
- 559 8 final String url = null ;
- 560 8 if (bestGuessConf == null ) {
+ 558 4 final String cpeName = String.format("cpe:/a:%s:%s:%s" , vendor, product, bestGuess.toString());
+ 559 4 final String url = null ;
+ 560 4 if (bestGuessConf == null ) {
561 0 bestGuessConf = Confidence.LOW;
562
}
- 563 8 final IdentifierMatch match = new IdentifierMatch("cpe" , cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);
- 564 8 collected.add(match);
+ 563 4 final IdentifierMatch match = new IdentifierMatch("cpe" , cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);
+ 564 4 collected.add(match);
565
- 566 8 Collections.sort(collected);
- 567 8 final IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();
- 568 8 final Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();
- 569 8 for (IdentifierMatch m : collected) {
- 570 40 if (bestIdentifierQuality.equals(m.getConfidence())
+ 566 4 Collections.sort(collected);
+ 567 4 final IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();
+ 568 4 final Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();
+ 569 4 for (IdentifierMatch m : collected) {
+ 570 20 if (bestIdentifierQuality.equals(m.getConfidence())
571
&& bestEvidenceQuality.equals(m.getEvidenceConfidence())) {
- 572 8 final Identifier i = m.getIdentifier();
- 573 8 if (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {
+ 572 4 final Identifier i = m.getIdentifier();
+ 573 4 if (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {
574 0 i.setConfidence(Confidence.LOW);
575
} else {
- 576 8 i.setConfidence(bestEvidenceQuality);
+ 576 4 i.setConfidence(bestEvidenceQuality);
577
}
- 578 8 dependency.addIdentifier(i);
+ 578 4 dependency.addIdentifier(i);
579
}
- 580 40 }
- 581 8 }
+ 580 20 }
+ 581 4 }
582
583
@@ -995,7 +995,7 @@
585
- 586 2 private enum IdentifierConfidence {
+ 586 1 private enum IdentifierConfidence {
587
588
@@ -1004,14 +1004,14 @@
590
- 591 2 EXACT_MATCH,
+ 591 1 EXACT_MATCH,
592
593
594
- 595 2 BEST_GUESS
+ 595 1 BEST_GUESS
596
}
597
@@ -1022,7 +1022,7 @@
600
- 601 32 private static class IdentifierMatch implements Comparable<IdentifierMatch> {
+ 601 16 private static class IdentifierMatch implements Comparable<IdentifierMatch> {
602
603
@@ -1043,11 +1043,11 @@
611
- 612 40 IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {
- 613 40 this .identifier = new Identifier(type, value, url);
- 614 40 this .confidence = identifierConfidence;
- 615 40 this .evidenceConfidence = evidenceConfidence;
- 616 40 }
+ 612 20 IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {
+ 613 20 this .identifier = new Identifier(type, value, url);
+ 614 20 this .confidence = identifierConfidence;
+ 615 20 this .evidenceConfidence = evidenceConfidence;
+ 616 20 }
617
618
@@ -1294,16 +1294,16 @@
@Override
748
public int compareTo(IdentifierMatch o) {
- 749 32 int conf = this .confidence.compareTo(o.confidence);
- 750 32 if (conf == 0) {
- 751 24 conf = this .evidenceConfidence.compareTo(o.evidenceConfidence);
- 752 24 if (conf == 0) {
- 753 8 conf = identifier.compareTo(o.identifier);
+ 749 16 int conf = this .confidence.compareTo(o.confidence);
+ 750 16 if (conf == 0) {
+ 751 12 conf = this .evidenceConfidence.compareTo(o.evidenceConfidence);
+ 752 12 if (conf == 0) {
+ 753 4 conf = identifier.compareTo(o.identifier);
754
}
755
}
- 756 32 return conf;
+ 756 16 return conf;
757
}
758
@@ -1312,6 +1312,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 155412620..d87291871 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html
@@ -97,7 +97,7 @@
40
- 41 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
+ 41 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
42
43
@@ -114,7 +114,7 @@
@Override
49
public String getName() {
- 50 8 return ANALYZER_NAME;
+ 50 4 return ANALYZER_NAME;
51
}
52
@@ -133,7 +133,7 @@
@Override
59
public AnalysisPhase getAnalysisPhase() {
- 60 2 return ANALYSIS_PHASE;
+ 60 1 return ANALYSIS_PHASE;
61
}
62
@@ -146,20 +146,20 @@
public void analyze(final Dependency dependency, final Engine engine) throws AnalysisException {
66
- 67 4 if (getRules() == null || getRules().size() <= 0) {
+ 67 2 if (getRules() == null || getRules().size() <= 0) {
68 0 return ;
69
}
70
- 71 4 for (final SuppressionRule rule : getRules()) {
- 72 4 rule.process(dependency);
- 73 4 }
- 74 4 }
+ 71 2 for (final SuppressionRule rule : getRules()) {
+ 72 2 rule.process(dependency);
+ 73 2 }
+ 74 2 }
75
}
-
+
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 2516b5425..29e771842 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
@@ -119,7 +119,7 @@
51
- 52 2 private static final Logger LOGGER = Logger.getLogger(DependencyBundlingAnalyzer.class .getName());
+ 52 1 private static final Logger LOGGER = Logger.getLogger(DependencyBundlingAnalyzer.class .getName());
53
54
@@ -130,7 +130,7 @@
57
- 58 2 private static final Pattern STARTING_TEXT_PATTERN = Pattern.compile("^[a-zA-Z]*" );
+ 58 1 private static final Pattern STARTING_TEXT_PATTERN = Pattern.compile("^[a-zA-Z]*" );
59
60
@@ -157,7 +157,7 @@
71
- 72 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_FINDING_ANALYSIS;
+ 72 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_FINDING_ANALYSIS;
73
74
@@ -172,7 +172,7 @@
79
public String getName() {
- 80 10 return ANALYZER_NAME;
+ 80 5 return ANALYZER_NAME;
81
}
82
@@ -189,7 +189,7 @@
88
public AnalysisPhase getAnalysisPhase() {
- 89 4 return ANALYSIS_PHASE;
+ 89 2 return ANALYSIS_PHASE;
90
}
91
@@ -216,19 +216,19 @@
@Override
102
public void analyze(Dependency ignore, Engine engine) throws AnalysisException {
- 103 4 if (!analyzed) {
- 104 2 analyzed = true ;
- 105 2 final Set<Dependency> dependenciesToRemove = new HashSet<Dependency>();
- 106 2 final ListIterator<Dependency> mainIterator = engine.getDependencies().listIterator();
+ 103 2 if (!analyzed) {
+ 104 1 analyzed = true ;
+ 105 1 final Set<Dependency> dependenciesToRemove = new HashSet<Dependency>();
+ 106 1 final ListIterator<Dependency> mainIterator = engine.getDependencies().listIterator();
107
- 108 6 while (mainIterator.hasNext()) {
- 109 4 final Dependency dependency = mainIterator.next();
- 110 4 if (mainIterator.hasNext()) {
- 111 2 final ListIterator<Dependency> subIterator = engine.getDependencies().listIterator(mainIterator.nextIndex());
- 112 4 while (subIterator.hasNext()) {
- 113 2 final Dependency nextDependency = subIterator.next();
- 114 2 if (hashesMatch(dependency, nextDependency)) {
+ 108 3 while (mainIterator.hasNext()) {
+ 109 2 final Dependency dependency = mainIterator.next();
+ 110 2 if (mainIterator.hasNext()) {
+ 111 1 final ListIterator<Dependency> subIterator = engine.getDependencies().listIterator(mainIterator.nextIndex());
+ 112 2 while (subIterator.hasNext()) {
+ 113 1 final Dependency nextDependency = subIterator.next();
+ 114 1 if (hashesMatch(dependency, nextDependency)) {
115 0 if (isCore(dependency, nextDependency)) {
116 0 mergeDependencies(dependency, nextDependency, dependenciesToRemove);
117
@@ -236,7 +236,7 @@
118 0 mergeDependencies(nextDependency, dependency, dependenciesToRemove);
119
}
- 120 2 } else if (isShadedJar(dependency, nextDependency)) {
+ 120 1 } else if (isShadedJar(dependency, nextDependency)) {
121 0 if (dependency.getFileName().toLowerCase().endsWith("pom.xml" )) {
122 0 dependenciesToRemove.add(dependency);
123
@@ -244,7 +244,7 @@
124 0 dependenciesToRemove.add(nextDependency);
125
}
- 126 2 } else if (cpeIdentifiersMatch(dependency, nextDependency)
+ 126 1 } else if (cpeIdentifiersMatch(dependency, nextDependency)
127
&& hasSameBasePath(dependency, nextDependency)
128
@@ -260,20 +260,20 @@
}
135
}
- 136 2 }
+ 136 1 }
137
}
- 138 4 }
+ 138 2 }
139
140
- 141 2 for (Dependency d : dependenciesToRemove) {
+ 141 1 for (Dependency d : dependenciesToRemove) {
142 0 engine.getDependencies().remove(d);
143 0 }
144
}
- 145 4 }
+ 145 2 }
146
147
@@ -440,28 +440,28 @@
250
private boolean cpeIdentifiersMatch(Dependency dependency1, Dependency dependency2) {
- 251 2 if (dependency1 == null || dependency1.getIdentifiers() == null
+ 251 1 if (dependency1 == null || dependency1.getIdentifiers() == null
252
|| dependency2 == null || dependency2.getIdentifiers() == null ) {
253 0 return false ;
254
}
- 255 2 boolean matches = false ;
- 256 2 int cpeCount1 = 0;
- 257 2 int cpeCount2 = 0;
- 258 2 for (Identifier i : dependency1.getIdentifiers()) {
+ 255 1 boolean matches = false ;
+ 256 1 int cpeCount1 = 0;
+ 257 1 int cpeCount2 = 0;
+ 258 1 for (Identifier i : dependency1.getIdentifiers()) {
259 0 if ("cpe" .equals(i.getType())) {
260 0 cpeCount1 += 1;
261
}
262 0 }
- 263 2 for (Identifier i : dependency2.getIdentifiers()) {
- 264 4 if ("cpe" .equals(i.getType())) {
- 265 4 cpeCount2 += 1;
+ 263 1 for (Identifier i : dependency2.getIdentifiers()) {
+ 264 2 if ("cpe" .equals(i.getType())) {
+ 265 2 cpeCount2 += 1;
266
}
- 267 4 }
- 268 2 if (cpeCount1 > 0 && cpeCount1 == cpeCount2) {
+ 267 2 }
+ 268 1 if (cpeCount1 > 0 && cpeCount1 == cpeCount2) {
269 0 for (Identifier i : dependency1.getIdentifiers()) {
270 0 matches |= dependency2.getIdentifiers().contains(i);
271 0 if (!matches) {
@@ -471,12 +471,12 @@
274 0 }
275
}
- 276 2 if (LogUtils.isVerboseLoggingEnabled()) {
+ 276 1 if (LogUtils.isVerboseLoggingEnabled()) {
277 0 final String msg = String.format("IdentifiersMatch=%s (%s, %s)" , matches, dependency1.getFileName(), dependency2.getFileName());
278 0 LOGGER.log(Level.FINE, msg);
279
}
- 280 2 return matches;
+ 280 1 return matches;
281
}
282
@@ -553,24 +553,24 @@
328
boolean isCore(Dependency left, Dependency right) {
- 329 4 final String leftName = left.getFileName().toLowerCase();
- 330 4 final String rightName = right.getFileName().toLowerCase();
+ 329 2 final String leftName = left.getFileName().toLowerCase();
+ 330 2 final String rightName = right.getFileName().toLowerCase();
331
332
final boolean returnVal;
- 333 4 if (!rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" ) && leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" )
+ 333 2 if (!rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" ) && leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" )
334
|| rightName.contains("core" ) && !leftName.contains("core" )
335
|| rightName.contains("kernel" ) && !leftName.contains("kernel" )) {
336 0 returnVal = false ;
- 337 4 } else if (rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" ) && !leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" )
+ 337 2 } else if (rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" ) && !leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+" )
338
|| !rightName.contains("core" ) && leftName.contains("core" )
339
|| !rightName.contains("kernel" ) && leftName.contains("kernel" )) {
- 340 4 returnVal = true ;
+ 340 2 returnVal = true ;
341
} else {
342
@@ -594,12 +594,12 @@
351 0 returnVal = leftName.length() <= rightName.length();
352
}
- 353 4 if (LogUtils.isVerboseLoggingEnabled()) {
+ 353 2 if (LogUtils.isVerboseLoggingEnabled()) {
354 0 final String msg = String.format("IsCore=%s (%s, %s)" , returnVal, left.getFileName(), right.getFileName());
355 0 LOGGER.log(Level.FINE, msg);
356
}
- 357 4 return returnVal;
+ 357 2 return returnVal;
358
}
359
@@ -620,11 +620,11 @@
367
private boolean hashesMatch(Dependency dependency1, Dependency dependency2) {
- 368 2 if (dependency1 == null || dependency2 == null || dependency1.getSha1sum() == null || dependency2.getSha1sum() == null ) {
+ 368 1 if (dependency1 == null || dependency2 == null || dependency1.getSha1sum() == null || dependency2.getSha1sum() == null ) {
369 0 return false ;
370
}
- 371 2 return dependency1.getSha1sum().equals(dependency2.getSha1sum());
+ 371 1 return dependency1.getSha1sum().equals(dependency2.getSha1sum());
372
}
373
@@ -649,21 +649,21 @@
383
private boolean isShadedJar(Dependency dependency, Dependency nextDependency) {
- 384 2 final String mainName = dependency.getFileName().toLowerCase();
- 385 2 final String nextName = nextDependency.getFileName().toLowerCase();
- 386 2 if (mainName.endsWith(".jar" ) && nextName.endsWith("pom.xml" )) {
+ 384 1 final String mainName = dependency.getFileName().toLowerCase();
+ 385 1 final String nextName = nextDependency.getFileName().toLowerCase();
+ 386 1 if (mainName.endsWith(".jar" ) && nextName.endsWith("pom.xml" )) {
387 0 return dependency.getIdentifiers().containsAll(nextDependency.getIdentifiers());
- 388 2 } else if (nextName.endsWith(".jar" ) && mainName.endsWith("pom.xml" )) {
+ 388 1 } else if (nextName.endsWith(".jar" ) && mainName.endsWith("pom.xml" )) {
389 0 return nextDependency.getIdentifiers().containsAll(dependency.getIdentifiers());
390
}
- 391 2 return false ;
+ 391 1 return false ;
392
}
393
}
-
+
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 8d4128c34..fb31c5370 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html
@@ -111,7 +111,7 @@
47
- 48 2 private static final Logger LOGGER = Logger.getLogger(FalsePositiveAnalyzer.class .getName());
+ 48 1 private static final Logger LOGGER = Logger.getLogger(FalsePositiveAnalyzer.class .getName());
49
50
@@ -128,7 +128,7 @@
56
- 57 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
+ 57 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
58
59
@@ -143,7 +143,7 @@
64
public String getName() {
- 65 10 return ANALYZER_NAME;
+ 65 5 return ANALYZER_NAME;
66
}
67
@@ -160,7 +160,7 @@
73
public AnalysisPhase getAnalysisPhase() {
- 74 4 return ANALYSIS_PHASE;
+ 74 2 return ANALYSIS_PHASE;
75
}
76
@@ -185,13 +185,13 @@
@Override
86
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 87 6 removeJreEntries(dependency);
- 88 6 removeBadMatches(dependency);
- 89 6 removeWrongVersionMatches(dependency);
- 90 6 removeSpuriousCPE(dependency);
- 91 6 removeDuplicativeEntriesFromJar(dependency, engine);
- 92 6 addFalseNegativeCPEs(dependency);
- 93 6 }
+ 87 3 removeJreEntries(dependency);
+ 88 3 removeBadMatches(dependency);
+ 89 3 removeWrongVersionMatches(dependency);
+ 90 3 removeSpuriousCPE(dependency);
+ 91 3 removeDuplicativeEntriesFromJar(dependency, engine);
+ 92 3 addFalseNegativeCPEs(dependency);
+ 93 3 }
94
95
@@ -234,28 +234,28 @@
@SuppressWarnings("null" )
114
private void removeSpuriousCPE(Dependency dependency) {
- 115 6 final List<Identifier> ids = new ArrayList<Identifier>();
- 116 6 ids.addAll(dependency.getIdentifiers());
- 117 6 Collections.sort(ids);
- 118 6 final ListIterator<Identifier> mainItr = ids.listIterator();
- 119 10 while (mainItr.hasNext()) {
- 120 4 final Identifier currentId = mainItr.next();
- 121 4 final VulnerableSoftware currentCpe = parseCpe(currentId.getType(), currentId.getValue());
- 122 4 if (currentCpe == null ) {
+ 115 3 final List<Identifier> ids = new ArrayList<Identifier>();
+ 116 3 ids.addAll(dependency.getIdentifiers());
+ 117 3 Collections.sort(ids);
+ 118 3 final ListIterator<Identifier> mainItr = ids.listIterator();
+ 119 5 while (mainItr.hasNext()) {
+ 120 2 final Identifier currentId = mainItr.next();
+ 121 2 final VulnerableSoftware currentCpe = parseCpe(currentId.getType(), currentId.getValue());
+ 122 2 if (currentCpe == null ) {
123 0 continue ;
124
}
- 125 4 final ListIterator<Identifier> subItr = ids.listIterator(mainItr.nextIndex());
- 126 6 while (subItr.hasNext()) {
- 127 2 final Identifier nextId = subItr.next();
- 128 2 final VulnerableSoftware nextCpe = parseCpe(nextId.getType(), nextId.getValue());
- 129 2 if (nextCpe == null ) {
+ 125 2 final ListIterator<Identifier> subItr = ids.listIterator(mainItr.nextIndex());
+ 126 3 while (subItr.hasNext()) {
+ 127 1 final Identifier nextId = subItr.next();
+ 128 1 final VulnerableSoftware nextCpe = parseCpe(nextId.getType(), nextId.getValue());
+ 129 1 if (nextCpe == null ) {
130 0 continue ;
131
}
132
- 133 2 if (currentCpe.getVendor().equals(nextCpe.getVendor())) {
+ 133 1 if (currentCpe.getVendor().equals(nextCpe.getVendor())) {
134 0 if (currentCpe.getProduct().equals(nextCpe.getProduct())) {
135
@@ -286,16 +286,16 @@
}
155
}
- 156 2 }
- 157 4 }
- 158 6 }
+ 156 1 }
+ 157 2 }
+ 158 3 }
159
160
161
- 162 2 public static final Pattern CORE_JAVA = Pattern.compile("^cpe:/a:(sun|oracle|ibm):(j2[ems]e|"
+ 162 1 public static final Pattern CORE_JAVA = Pattern.compile("^cpe:/a:(sun|oracle|ibm):(j2[ems]e|"
163
+ "java(_platform_micro_edition|_runtime_environment|_se|virtual_machine|se_development_kit|fx)?|"
164
@@ -308,21 +308,21 @@
168
- 169 2 public static final Pattern CORE_JAVA_JSF = Pattern.compile("^cpe:/a:(sun|oracle|ibm):jsf($|:.*)" );
+ 169 1 public static final Pattern CORE_JAVA_JSF = Pattern.compile("^cpe:/a:(sun|oracle|ibm):jsf($|:.*)" );
170
171
172
- 173 2 public static final Pattern CORE_FILES = Pattern.compile("(^|/)((alt[-])?rt|jsse|jfxrt|jfr|jce|javaws|deploy|charsets)\\.jar$" );
+ 173 1 public static final Pattern CORE_FILES = Pattern.compile("(^|/)((alt[-])?rt|jsse|jfxrt|jfr|jce|javaws|deploy|charsets)\\.jar$" );
174
175
176
- 177 2 public static final Pattern CORE_JSF_FILES = Pattern.compile("(^|/)jsf[-][^/]*\\.jar$" );
+ 177 1 public static final Pattern CORE_JSF_FILES = Pattern.compile("(^|/)jsf[-][^/]*\\.jar$" );
178
179
@@ -337,24 +337,24 @@
184
private void removeJreEntries(Dependency dependency) {
- 185 6 final Set<Identifier> identifiers = dependency.getIdentifiers();
- 186 6 final Iterator<Identifier> itr = identifiers.iterator();
- 187 12 while (itr.hasNext()) {
- 188 6 final Identifier i = itr.next();
- 189 6 final Matcher coreCPE = CORE_JAVA.matcher(i.getValue());
- 190 6 final Matcher coreFiles = CORE_FILES.matcher(dependency.getFileName());
- 191 6 if (coreCPE.matches() && !coreFiles.matches()) {
+ 185 3 final Set<Identifier> identifiers = dependency.getIdentifiers();
+ 186 3 final Iterator<Identifier> itr = identifiers.iterator();
+ 187 6 while (itr.hasNext()) {
+ 188 3 final Identifier i = itr.next();
+ 189 3 final Matcher coreCPE = CORE_JAVA.matcher(i.getValue());
+ 190 3 final Matcher coreFiles = CORE_FILES.matcher(dependency.getFileName());
+ 191 3 if (coreCPE.matches() && !coreFiles.matches()) {
192 0 itr.remove();
193
}
- 194 6 final Matcher coreJsfCPE = CORE_JAVA_JSF.matcher(i.getValue());
- 195 6 final Matcher coreJsfFiles = CORE_JSF_FILES.matcher(dependency.getFileName());
- 196 6 if (coreJsfCPE.matches() && !coreJsfFiles.matches()) {
+ 194 3 final Matcher coreJsfCPE = CORE_JAVA_JSF.matcher(i.getValue());
+ 195 3 final Matcher coreJsfFiles = CORE_JSF_FILES.matcher(dependency.getFileName());
+ 196 3 if (coreJsfCPE.matches() && !coreJsfFiles.matches()) {
197 0 itr.remove();
198
}
- 199 6 }
- 200 6 }
+ 199 3 }
+ 200 3 }
201
202
@@ -373,19 +373,19 @@
209
private VulnerableSoftware parseCpe(String type, String value) {
- 210 6 if (!"cpe" .equals(type)) {
+ 210 3 if (!"cpe" .equals(type)) {
211 0 return null ;
212
}
- 213 6 final VulnerableSoftware cpe = new VulnerableSoftware();
+ 213 3 final VulnerableSoftware cpe = new VulnerableSoftware();
214
try {
- 215 6 cpe.parseName(value);
+ 215 3 cpe.parseName(value);
216 0 } catch (UnsupportedEncodingException ex) {
217 0 LOGGER.log(Level.FINEST, null , ex);
218 0 return null ;
- 219 6 }
- 220 6 return cpe;
+ 219 3 }
+ 220 3 return cpe;
221
}
222
@@ -404,8 +404,8 @@
229
private void removeBadMatches(Dependency dependency) {
- 230 6 final Set<Identifier> identifiers = dependency.getIdentifiers();
- 231 6 final Iterator<Identifier> itr = identifiers.iterator();
+ 230 3 final Set<Identifier> identifiers = dependency.getIdentifiers();
+ 231 3 final Iterator<Identifier> itr = identifiers.iterator();
232
233
@@ -422,12 +422,12 @@
239
- 240 12 while (itr.hasNext()) {
- 241 6 final Identifier i = itr.next();
+ 240 6 while (itr.hasNext()) {
+ 241 3 final Identifier i = itr.next();
242
- 243 6 if ("cpe" .equals(i.getType())) {
- 244 6 if ((i.getValue().matches(".*c\\+\\+.*" )
+ 243 3 if ("cpe" .equals(i.getType())) {
+ 244 3 if ((i.getValue().matches(".*c\\+\\+.*" )
245
|| i.getValue().startsWith("cpe:/a:file:file" )
246
@@ -454,8 +454,8 @@
|| dependency.getFileName().toLowerCase().endsWith(".nuspec" )
257
|| dependency.getFileName().toLowerCase().endsWith(".nupkg" ))) {
- 258 2 itr.remove();
- 259 4 } else if ((i.getValue().startsWith("cpe:/a:jquery:jquery" )
+ 258 1 itr.remove();
+ 259 2 } else if ((i.getValue().startsWith("cpe:/a:jquery:jquery" )
260
|| i.getValue().startsWith("cpe:/a:prototypejs:prototype" )
261
@@ -469,7 +469,7 @@
265
|| dependency.getFileName().toLowerCase().endsWith(".exe" ))) {
266 0 itr.remove();
- 267 4 } else if ((i.getValue().startsWith("cpe:/a:microsoft:excel" )
+ 267 2 } else if ((i.getValue().startsWith("cpe:/a:microsoft:excel" )
268
|| i.getValue().startsWith("cpe:/a:microsoft:word" )
269
@@ -483,15 +483,15 @@
273
|| dependency.getFileName().toLowerCase().endsWith("pom.xml" ))) {
274 0 itr.remove();
- 275 4 } else if (i.getValue().startsWith("cpe:/a:apache:maven" )
+ 275 2 } else if (i.getValue().startsWith("cpe:/a:apache:maven" )
276
&& !dependency.getFileName().toLowerCase().matches("maven-core-[\\d\\.]+\\.jar" )) {
277 0 itr.remove();
- 278 4 } else if (i.getValue().startsWith("cpe:/a:m-core:m-core" )
+ 278 2 } else if (i.getValue().startsWith("cpe:/a:m-core:m-core" )
279
&& !dependency.getEvidenceUsed().containsUsedString("m-core" )) {
280 0 itr.remove();
- 281 4 } else if (i.getValue().startsWith("cpe:/a:jboss:jboss" )
+ 281 2 } else if (i.getValue().startsWith("cpe:/a:jboss:jboss" )
282
&& !dependency.getFileName().toLowerCase().matches("jboss-?[\\d\\.-]+(GA)?\\.jar" )) {
283 0 itr.remove();
@@ -499,8 +499,8 @@
}
285
}
- 286 6 }
- 287 6 }
+ 286 3 }
+ 287 3 }
288
289
@@ -515,12 +515,12 @@
294
private void removeWrongVersionMatches(Dependency dependency) {
- 295 6 final Set<Identifier> identifiers = dependency.getIdentifiers();
- 296 6 final Iterator<Identifier> itr = identifiers.iterator();
+ 295 3 final Set<Identifier> identifiers = dependency.getIdentifiers();
+ 296 3 final Iterator<Identifier> itr = identifiers.iterator();
297
- 298 6 final String fileName = dependency.getFileName();
- 299 6 if (fileName != null && fileName.contains("axis2" )) {
+ 298 3 final String fileName = dependency.getFileName();
+ 299 3 if (fileName != null && fileName.contains("axis2" )) {
300 0 while (itr.hasNext()) {
301 0 final Identifier i = itr.next();
302 0 if ("cpe" .equals(i.getType())) {
@@ -532,7 +532,7 @@
307
}
308 0 }
- 309 6 } else if (fileName != null && fileName.contains("axis" )) {
+ 309 3 } 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())) {
@@ -546,7 +546,7 @@
318 0 }
319
}
- 320 6 }
+ 320 3 }
321
322
@@ -567,10 +567,10 @@
private void addFalseNegativeCPEs(Dependency dependency) {
330
- 331 6 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
- 332 10 while (itr.hasNext()) {
- 333 4 final Identifier i = itr.next();
- 334 4 if ("cpe" .equals(i.getType()) && i.getValue() != null
+ 331 3 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
+ 332 5 while (itr.hasNext()) {
+ 333 2 final Identifier i = itr.next();
+ 334 2 if ("cpe" .equals(i.getType()) && i.getValue() != null
335
&& (i.getValue().startsWith("cpe:/a:oracle:opensso:" )
336
@@ -610,8 +610,8 @@
358 0 }
359
}
- 360 4 }
- 361 6 }
+ 360 2 }
+ 361 3 }
362
363
@@ -630,13 +630,13 @@
370
private void removeDuplicativeEntriesFromJar(Dependency dependency, Engine engine) {
- 371 6 if (dependency.getFileName().toLowerCase().endsWith("pom.xml" )
+ 371 3 if (dependency.getFileName().toLowerCase().endsWith("pom.xml" )
372
|| "dll" .equals(dependency.getFileExtension())
373
|| "exe" .equals(dependency.getFileExtension())) {
- 374 2 String parentPath = dependency.getFilePath().toLowerCase();
- 375 2 if (parentPath.contains(".jar" )) {
+ 374 1 String parentPath = dependency.getFilePath().toLowerCase();
+ 375 1 if (parentPath.contains(".jar" )) {
376 0 parentPath = parentPath.substring(0, parentPath.indexOf(".jar" ) + 4);
377 0 final Dependency parent = findDependency(parentPath, engine.getDependencies());
378 0 if (parent != null ) {
@@ -669,7 +669,7 @@
399
}
- 400 6 }
+ 400 3 }
401
402
@@ -730,6 +730,6 @@
}
-
+
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 26e799abb..c969ee57e 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
@@ -103,7 +103,7 @@
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
@@ -118,7 +118,7 @@
51
public String getName() {
- 52 10 return ANALYZER_NAME;
+ 52 5 return ANALYZER_NAME;
53
}
54
@@ -135,7 +135,7 @@
60
public AnalysisPhase getAnalysisPhase() {
- 61 4 return ANALYSIS_PHASE;
+ 61 2 return ANALYSIS_PHASE;
62
}
63
@@ -164,41 +164,41 @@
75
- 76 8 final File f = new File(dependency.getFileName());
- 77 8 String fileName = f.getName();
+ 76 4 final File f = new File(dependency.getFileName());
+ 77 4 String fileName = f.getName();
78
79
- 80 8 final int pos = fileName.lastIndexOf("." );
- 81 8 if (pos > 0) {
- 82 8 fileName = fileName.substring(0, pos);
+ 80 4 final int pos = fileName.lastIndexOf("." );
+ 81 4 if (pos > 0) {
+ 82 4 fileName = fileName.substring(0, pos);
83
}
84
85
- 86 8 final DependencyVersion version = DependencyVersionUtil.parseVersion(fileName);
- 87 8 if (version != null ) {
+ 86 4 final DependencyVersion version = DependencyVersionUtil.parseVersion(fileName);
+ 87 4 if (version != null ) {
88
89
90
- 91 8 if (version.getVersionParts() == null || version.getVersionParts().size() < 2) {
+ 91 4 if (version.getVersionParts() == null || version.getVersionParts().size() < 2) {
92 0 dependency.getVersionEvidence().addEvidence("file" , "name" ,
93
version.toString(), Confidence.MEDIUM);
94
} else {
- 95 8 dependency.getVersionEvidence().addEvidence("file" , "name" ,
+ 95 4 dependency.getVersionEvidence().addEvidence("file" , "name" ,
96
version.toString(), Confidence.HIGHEST);
97
}
- 98 8 dependency.getVersionEvidence().addEvidence("file" , "name" ,
+ 98 4 dependency.getVersionEvidence().addEvidence("file" , "name" ,
99
fileName, Confidence.MEDIUM);
100
@@ -207,11 +207,11 @@
102
- 103 8 if (fileName.contains("-" )) {
- 104 8 dependency.getProductEvidence().addEvidence("file" , "name" ,
+ 103 4 if (fileName.contains("-" )) {
+ 104 4 dependency.getProductEvidence().addEvidence("file" , "name" ,
105
fileName, Confidence.HIGHEST);
- 106 8 dependency.getVendorEvidence().addEvidence("file" , "name" ,
+ 106 4 dependency.getVendorEvidence().addEvidence("file" , "name" ,
107
fileName, Confidence.HIGHEST);
108
@@ -224,11 +224,11 @@
fileName, Confidence.HIGH);
113
}
- 114 8 }
+ 114 4 }
115
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileTypeAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileTypeAnalyzer.html
index 1ac81c08e..b7b390d4c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileTypeAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileTypeAnalyzer.html
@@ -87,6 +87,6 @@
}
-
+
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 21dc71037..b2c67d136 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
@@ -101,7 +101,7 @@
42
- 43 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_IDENTIFIER_ANALYSIS;
+ 43 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_IDENTIFIER_ANALYSIS;
44
45
@@ -118,7 +118,7 @@
@Override
51
public String getName() {
- 52 10 return ANALYZER_NAME;
+ 52 5 return ANALYZER_NAME;
53
}
54
@@ -137,7 +137,7 @@
@Override
61
public AnalysisPhase getAnalysisPhase() {
- 62 4 return ANALYSIS_PHASE;
+ 62 2 return ANALYSIS_PHASE;
63
}
64
@@ -164,7 +164,7 @@
@Override
75
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 76 4 final Evidence springTest1 = new Evidence("Manifest" ,
+ 76 2 final Evidence springTest1 = new Evidence("Manifest" ,
77
"Implementation-Title" ,
78
@@ -173,7 +173,7 @@
Confidence.HIGH);
80
- 81 4 final Evidence springTest2 = new Evidence("Manifest" ,
+ 81 2 final Evidence springTest2 = new Evidence("Manifest" ,
82
"Implementation-Title" ,
83
@@ -182,7 +182,7 @@
Confidence.HIGH);
85
- 86 4 final Evidence springTest3 = new Evidence("Manifest" ,
+ 86 2 final Evidence springTest3 = new Evidence("Manifest" ,
87
"Bundle-Vendor" ,
88
@@ -191,26 +191,26 @@
Confidence.HIGH);
90
- 91 4 Set<Evidence> evidence = dependency.getProductEvidence().getEvidence();
- 92 4 if (evidence.contains(springTest1) || evidence.contains(springTest2)) {
- 93 2 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Confidence.HIGH);
- 94 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "SpringSource" , Confidence.HIGH);
- 95 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Confidence.HIGH);
+ 91 2 Set<Evidence> evidence = dependency.getProductEvidence().getEvidence();
+ 92 2 if (evidence.contains(springTest1) || evidence.contains(springTest2)) {
+ 93 1 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Confidence.HIGH);
+ 94 1 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "SpringSource" , Confidence.HIGH);
+ 95 1 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Confidence.HIGH);
96
}
97
- 98 4 evidence = dependency.getVendorEvidence().getEvidence();
- 99 4 if (evidence.contains(springTest3)) {
- 100 2 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Confidence.HIGH);
- 101 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Confidence.HIGH);
+ 98 2 evidence = dependency.getVendorEvidence().getEvidence();
+ 99 2 if (evidence.contains(springTest3)) {
+ 100 1 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Confidence.HIGH);
+ 101 1 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Confidence.HIGH);
102
}
- 103 4 final Iterator<Evidence> itr = dependency.getVendorEvidence().iterator();
- 104 4 final ArrayList<Evidence> newEntries = new ArrayList<Evidence>();
- 105 54 while (itr.hasNext()) {
- 106 50 final Evidence e = itr.next();
- 107 50 if ("sun" .equalsIgnoreCase(e.getValue(false ))) {
+ 103 2 final Iterator<Evidence> itr = dependency.getVendorEvidence().iterator();
+ 104 2 final ArrayList<Evidence> newEntries = new ArrayList<Evidence>();
+ 105 27 while (itr.hasNext()) {
+ 106 25 final Evidence e = itr.next();
+ 107 25 if ("sun" .equalsIgnoreCase(e.getValue(false ))) {
108 0 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)" , e.getName(), "oracle" , e.getConfidence());
109 0 newEntries.add(newEvidence);
110 0 } else if ("oracle" .equalsIgnoreCase(e.getValue(false ))) {
@@ -218,17 +218,17 @@
112 0 newEntries.add(newEvidence);
113
}
- 114 50 }
- 115 4 for (Evidence e : newEntries) {
+ 114 25 }
+ 115 2 for (Evidence e : newEntries) {
116 0 dependency.getVendorEvidence().addEvidence(e);
117 0 }
118
- 119 4 }
+ 119 2 }
120
}
-
+
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 ebbb1f86a..19a74ca85 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
@@ -188,7 +188,7 @@
85
- 86 2 private static final Logger LOGGER = Logger.getLogger(JarAnalyzer.class .getName());
+ 86 1 private static final Logger LOGGER = Logger.getLogger(JarAnalyzer.class .getName());
87
88
@@ -203,21 +203,21 @@
93
- 94 2 private static int dirCount = 0;
+ 94 1 private static int dirCount = 0;
95
96
97
- 98 2 private static final String NEWLINE = System.getProperty("line.separator" );
+ 98 1 private static final String NEWLINE = System.getProperty("line.separator" );
99
100
101
- 102 2 private static final Set<String> IGNORE_VALUES = newHashSet(
+ 102 1 private static final Set<String> IGNORE_VALUES = newHashSet(
103
"Sun Java System Application Server" );
104
@@ -226,7 +226,7 @@
106
- 107 2 private static final Set<String> IGNORE_KEYS = newHashSet(
+ 107 1 private static final Set<String> IGNORE_KEYS = newHashSet(
108
"built-by" ,
109
@@ -331,7 +331,7 @@
159
- 160 2 private static final Pattern HTML_DETECTION_PATTERN = Pattern.compile("\\<[a-z]+.*/?\\>" , Pattern.CASE_INSENSITIVE);
+ 160 1 private static final Pattern HTML_DETECTION_PATTERN = Pattern.compile("\\<[a-z]+.*/?\\>" , Pattern.CASE_INSENSITIVE);
161
162
@@ -350,16 +350,16 @@
169
- 170 14 public JarAnalyzer() {
+ 170 7 public JarAnalyzer() {
171
try {
- 172 14 final JAXBContext jaxbContext = JAXBContext.newInstance("org.owasp.dependencycheck.jaxb.pom.generated" );
- 173 14 pomUnmarshaller = jaxbContext.createUnmarshaller();
+ 172 7 final JAXBContext jaxbContext = JAXBContext.newInstance("org.owasp.dependencycheck.jaxb.pom.generated" );
+ 173 7 pomUnmarshaller = jaxbContext.createUnmarshaller();
174 0 } catch (JAXBException ex) {
175 0 LOGGER.log(Level.SEVERE, "Unable to load parser. See the log for more details." );
176 0 LOGGER.log(Level.FINE, null , ex);
- 177 14 }
- 178 14 }
+ 177 7 }
+ 178 7 }
179
180
@@ -378,14 +378,14 @@
187
- 188 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 188 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
189
190
191
- 192 2 private static final Set<String> EXTENSIONS = newHashSet("jar" , "war" );
+ 192 1 private static final Set<String> EXTENSIONS = newHashSet("jar" , "war" );
193
194
@@ -402,7 +402,7 @@
@Override
200
public Set<String> getSupportedExtensions() {
- 201 1704 return EXTENSIONS;
+ 201 852 return EXTENSIONS;
202
}
203
@@ -421,7 +421,7 @@
@Override
210
public String getName() {
- 211 10 return ANALYZER_NAME;
+ 211 5 return ANALYZER_NAME;
212
}
213
@@ -438,7 +438,7 @@
219
public AnalysisPhase getAnalysisPhase() {
- 220 2 return ANALYSIS_PHASE;
+ 220 1 return ANALYSIS_PHASE;
221
}
222
@@ -459,7 +459,7 @@
@Override
230
protected String getAnalyzerEnabledSettingKey() {
- 231 14 return Settings.KEYS.ANALYZER_JAR_ENABLED;
+ 231 7 return Settings.KEYS.ANALYZER_JAR_ENABLED;
232
}
233
@@ -486,9 +486,9 @@
public void analyzeFileType(Dependency dependency, Engine engine) throws AnalysisException {
244
try {
- 245 10 final ArrayList<ClassNameInformation> classNames = collectClassNames(dependency);
- 246 10 final String fileName = dependency.getFileName().toLowerCase();
- 247 10 if (classNames.isEmpty()
+ 245 5 final ArrayList<ClassNameInformation> classNames = collectClassNames(dependency);
+ 246 5 final String fileName = dependency.getFileName().toLowerCase();
+ 247 5 if (classNames.isEmpty()
248
&& (fileName.endsWith("-sources.jar" )
249
@@ -500,14 +500,14 @@
252 0 engine.getDependencies().remove(dependency);
253
}
- 254 10 final boolean hasManifest = parseManifest(dependency, classNames);
- 255 10 final boolean hasPOM = analyzePOM(dependency, classNames, engine);
- 256 10 final boolean addPackagesAsEvidence = !(hasManifest && hasPOM);
- 257 10 analyzePackageNames(classNames, dependency, addPackagesAsEvidence);
+ 254 5 final boolean hasManifest = parseManifest(dependency, classNames);
+ 255 5 final boolean hasPOM = analyzePOM(dependency, classNames, engine);
+ 256 5 final boolean addPackagesAsEvidence = !(hasManifest && hasPOM);
+ 257 5 analyzePackageNames(classNames, dependency, addPackagesAsEvidence);
258 0 } catch (IOException ex) {
259 0 throw new AnalysisException("Exception occurred reading the JAR file." , ex);
- 260 10 }
- 261 10 }
+ 260 5 }
+ 261 5 }
262
263
@@ -532,12 +532,12 @@
273
protected boolean analyzePOM(Dependency dependency, ArrayList<ClassNameInformation> classes, Engine engine) throws AnalysisException {
- 274 10 boolean foundSomething = false ;
+ 274 5 boolean foundSomething = false ;
275
final JarFile jar;
276
try {
- 277 10 jar = new JarFile(dependency.getActualFilePath());
+ 277 5 jar = new JarFile(dependency.getActualFilePath());
278 0 } catch (IOException ex) {
279 0 final String msg = String.format("Unable to read JarFile '%s'." , dependency.getActualFilePath());
280
@@ -545,12 +545,12 @@
281 0 LOGGER.log(Level.WARNING, msg);
282 0 LOGGER.log(Level.FINE, "" , ex);
283 0 return false ;
- 284 10 }
+ 284 5 }
285
List<String> pomEntries;
286
try {
- 287 10 pomEntries = retrievePomListing(jar);
+ 287 5 pomEntries = retrievePomListing(jar);
288 0 } catch (IOException ex) {
289 0 final String msg = String.format("Unable to read Jar file entries in '%s'." , dependency.getActualFilePath());
290
@@ -558,23 +558,23 @@
291 0 LOGGER.log(Level.WARNING, msg);
292 0 LOGGER.log(Level.FINE, msg, ex);
293 0 return false ;
- 294 10 }
- 295 10 if (pomEntries.isEmpty()) {
- 296 8 return false ;
+ 294 5 }
+ 295 5 if (pomEntries.isEmpty()) {
+ 296 4 return false ;
297
}
- 298 2 for (String path : pomEntries) {
- 299 2 Properties pomProperties = null ;
+ 298 1 for (String path : pomEntries) {
+ 299 1 Properties pomProperties = null ;
300
try {
- 301 2 pomProperties = retrievePomProperties(path, jar);
+ 301 1 pomProperties = retrievePomProperties(path, jar);
302 0 } catch (IOException ex) {
303 0 LOGGER.log(Level.FINEST, "ignore this, failed reading a non-existent pom.properties" , ex);
- 304 2 }
- 305 2 Model pom = null ;
+ 304 1 }
+ 305 1 Model pom = null ;
306
try {
- 307 2 if (pomEntries.size() > 1) {
+ 307 1 if (pomEntries.size() > 1) {
308
309 0 final Dependency newDependency = new Dependency();
@@ -603,17 +603,17 @@
324 0 engine.getDependencies().add(newDependency);
325 0 Collections.sort(engine.getDependencies());
326 0 } else {
- 327 2 pom = retrievePom(path, jar);
- 328 2 foundSomething |= setPomEvidence(dependency, pom, pomProperties, classes);
+ 327 1 pom = retrievePom(path, jar);
+ 328 1 foundSomething |= setPomEvidence(dependency, pom, pomProperties, classes);
329
}
330 0 } catch (AnalysisException ex) {
331 0 final String msg = String.format("An error occured while analyzing '%s'." , dependency.getActualFilePath());
332 0 LOGGER.log(Level.WARNING, msg);
333 0 LOGGER.log(Level.FINE, "" , ex);
- 334 2 }
- 335 2 }
- 336 2 return foundSomething;
+ 334 1 }
+ 335 1 }
+ 336 1 return foundSomething;
337
}
338
@@ -640,16 +640,16 @@
justification = "The reader is closed by closing the zipEntry" )
349
private Properties retrievePomProperties(String path, final JarFile jar) throws IOException {
- 350 2 Properties pomProperties = null ;
- 351 2 final String propPath = path.substring(0, path.length() - 7) + "pom.properies" ;
- 352 2 final ZipEntry propEntry = jar.getEntry(propPath);
- 353 2 if (propEntry != null ) {
+ 350 1 Properties pomProperties = null ;
+ 351 1 final String propPath = path.substring(0, path.length() - 7) + "pom.properies" ;
+ 352 1 final ZipEntry propEntry = jar.getEntry(propPath);
+ 353 1 if (propEntry != null ) {
354 0 final Reader reader = new InputStreamReader(jar.getInputStream(propEntry), "UTF-8" );
355 0 pomProperties = new Properties();
356 0 pomProperties.load(reader);
357
}
- 358 2 return pomProperties;
+ 358 1 return pomProperties;
359
}
360
@@ -670,17 +670,17 @@
368
private List<String> retrievePomListing(final JarFile jar) throws IOException {
- 369 10 final List<String> pomEntries = new ArrayList<String>();
- 370 10 final Enumeration<JarEntry> entries = jar.entries();
- 371 3696 while (entries.hasMoreElements()) {
- 372 3686 final JarEntry entry = entries.nextElement();
- 373 3686 final String entryName = (new File(entry.getName())).getName().toLowerCase();
- 374 3686 if (!entry.isDirectory() && "pom.xml" .equals(entryName)) {
- 375 2 pomEntries.add(entry.getName());
+ 369 5 final List<String> pomEntries = new ArrayList<String>();
+ 370 5 final Enumeration<JarEntry> entries = jar.entries();
+ 371 1848 while (entries.hasMoreElements()) {
+ 372 1843 final JarEntry entry = entries.nextElement();
+ 373 1843 final String entryName = (new File(entry.getName())).getName().toLowerCase();
+ 374 1843 if (!entry.isDirectory() && "pom.xml" .equals(entryName)) {
+ 375 1 pomEntries.add(entry.getName());
376
}
- 377 3686 }
- 378 10 return pomEntries;
+ 377 1843 }
+ 378 5 return pomEntries;
379
}
380
@@ -838,16 +838,16 @@
486
private Model retrievePom(String path, JarFile jar) throws AnalysisException {
- 487 2 final ZipEntry entry = jar.getEntry(path);
- 488 2 Model model = null ;
- 489 2 if (entry != null ) {
+ 487 1 final ZipEntry entry = jar.getEntry(path);
+ 488 1 Model model = null ;
+ 489 1 if (entry != null ) {
490
try {
- 491 2 final NonClosingStream stream = new NonClosingStream(jar.getInputStream(entry));
- 492 2 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8" );
- 493 2 final InputSource xml = new InputSource(reader);
- 494 2 final SAXSource source = new SAXSource(xml);
- 495 2 model = readPom(source);
+ 491 1 final NonClosingStream stream = new NonClosingStream(jar.getInputStream(entry));
+ 492 1 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8" );
+ 493 1 final InputSource xml = new InputSource(reader);
+ 494 1 final SAXSource source = new SAXSource(xml);
+ 495 1 model = readPom(source);
496 0 } catch (SecurityException ex) {
497 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s'; invalid signature" , path, jar.getName());
498 0 LOGGER.log(Level.WARNING, msg);
@@ -863,10 +863,10 @@
508 0 LOGGER.log(Level.WARNING, msg);
509 0 LOGGER.log(Level.FINE, "" , ex);
510 0 throw new AnalysisException(ex);
- 511 2 }
+ 511 1 }
512
}
- 513 2 return model;
+ 513 1 return model;
514
}
515
@@ -889,16 +889,16 @@
524
private Model readPom(SAXSource source) throws AnalysisException {
- 525 2 Model model = null ;
+ 525 1 Model model = null ;
526
try {
- 527 2 final XMLFilter filter = new MavenNamespaceFilter();
- 528 2 final SAXParserFactory spf = SAXParserFactory.newInstance();
- 529 2 final SAXParser sp = spf.newSAXParser();
- 530 2 final XMLReader xr = sp.getXMLReader();
- 531 2 filter.setParent(xr);
- 532 2 final JAXBElement<Model> el = pomUnmarshaller.unmarshal(source, Model.class );
- 533 2 model = el.getValue();
+ 527 1 final XMLFilter filter = new MavenNamespaceFilter();
+ 528 1 final SAXParserFactory spf = SAXParserFactory.newInstance();
+ 529 1 final SAXParser sp = spf.newSAXParser();
+ 530 1 final XMLReader xr = sp.getXMLReader();
+ 531 1 filter.setParent(xr);
+ 532 1 final JAXBElement<Model> el = pomUnmarshaller.unmarshal(source, Model.class );
+ 533 1 model = el.getValue();
534 0 } catch (SecurityException ex) {
535 0 throw new AnalysisException(ex);
536 0 } catch (ParserConfigurationException ex) {
@@ -909,8 +909,8 @@
541 0 throw new AnalysisException(ex);
542 0 } catch (Throwable ex) {
543 0 throw new AnalysisException(ex);
- 544 2 }
- 545 2 return model;
+ 544 1 }
+ 545 1 return model;
546
}
547
@@ -937,42 +937,42 @@
558
private boolean setPomEvidence(Dependency dependency, Model pom, Properties pomProperties, ArrayList<ClassNameInformation> classes) {
- 559 2 boolean foundSomething = false ;
- 560 2 boolean addAsIdentifier = true ;
- 561 2 if (pom == null ) {
+ 559 1 boolean foundSomething = false ;
+ 560 1 boolean addAsIdentifier = true ;
+ 561 1 if (pom == null ) {
562 0 return foundSomething;
563
}
- 564 2 String groupid = interpolateString(pom.getGroupId(), pomProperties);
- 565 2 String parentGroupId = null ;
+ 564 1 String groupid = interpolateString(pom.getGroupId(), pomProperties);
+ 565 1 String parentGroupId = null ;
566
- 567 2 if (pom.getParent() != null ) {
- 568 2 parentGroupId = interpolateString(pom.getParent().getGroupId(), pomProperties);
- 569 2 if ((groupid == null || groupid.isEmpty()) && parentGroupId != null && !parentGroupId.isEmpty()) {
+ 567 1 if (pom.getParent() != null ) {
+ 568 1 parentGroupId = interpolateString(pom.getParent().getGroupId(), pomProperties);
+ 569 1 if ((groupid == null || groupid.isEmpty()) && parentGroupId != null && !parentGroupId.isEmpty()) {
570 0 groupid = parentGroupId;
571
}
572
}
- 573 2 final String originalGroupID = groupid;
+ 573 1 final String originalGroupID = groupid;
574
- 575 2 if (groupid != null && !groupid.isEmpty()) {
- 576 2 if (groupid.startsWith("org." ) || groupid.startsWith("com." )) {
- 577 2 groupid = groupid.substring(4);
+ 575 1 if (groupid != null && !groupid.isEmpty()) {
+ 576 1 if (groupid.startsWith("org." ) || groupid.startsWith("com." )) {
+ 577 1 groupid = groupid.substring(4);
578
}
- 579 2 foundSomething = true ;
- 580 2 dependency.getVendorEvidence().addEvidence("pom" , "groupid" , groupid, Confidence.HIGH);
- 581 2 dependency.getProductEvidence().addEvidence("pom" , "groupid" , groupid, Confidence.LOW);
- 582 2 addMatchingValues(classes, groupid, dependency.getVendorEvidence());
- 583 2 addMatchingValues(classes, groupid, dependency.getProductEvidence());
- 584 2 if (parentGroupId != null && !parentGroupId.isEmpty() && !parentGroupId.equals(groupid)) {
- 585 2 dependency.getVendorEvidence().addEvidence("pom" , "parent-groupid" , parentGroupId, Confidence.MEDIUM);
- 586 2 dependency.getProductEvidence().addEvidence("pom" , "parent-groupid" , parentGroupId, Confidence.LOW);
- 587 2 addMatchingValues(classes, parentGroupId, dependency.getVendorEvidence());
- 588 2 addMatchingValues(classes, parentGroupId, dependency.getProductEvidence());
+ 579 1 foundSomething = true ;
+ 580 1 dependency.getVendorEvidence().addEvidence("pom" , "groupid" , groupid, Confidence.HIGH);
+ 581 1 dependency.getProductEvidence().addEvidence("pom" , "groupid" , groupid, Confidence.LOW);
+ 582 1 addMatchingValues(classes, groupid, dependency.getVendorEvidence());
+ 583 1 addMatchingValues(classes, groupid, dependency.getProductEvidence());
+ 584 1 if (parentGroupId != null && !parentGroupId.isEmpty() && !parentGroupId.equals(groupid)) {
+ 585 1 dependency.getVendorEvidence().addEvidence("pom" , "parent-groupid" , parentGroupId, Confidence.MEDIUM);
+ 586 1 dependency.getProductEvidence().addEvidence("pom" , "parent-groupid" , parentGroupId, Confidence.LOW);
+ 587 1 addMatchingValues(classes, parentGroupId, dependency.getVendorEvidence());
+ 588 1 addMatchingValues(classes, parentGroupId, dependency.getProductEvidence());
589
}
590
@@ -982,34 +982,34 @@
}
593
- 594 2 String artifactid = interpolateString(pom.getArtifactId(), pomProperties);
- 595 2 String parentArtifactId = null ;
+ 594 1 String artifactid = interpolateString(pom.getArtifactId(), pomProperties);
+ 595 1 String parentArtifactId = null ;
596
- 597 2 if (pom.getParent() != null ) {
- 598 2 parentArtifactId = interpolateString(pom.getParent().getArtifactId(), pomProperties);
- 599 2 if ((artifactid == null || artifactid.isEmpty()) && parentArtifactId != null && !parentArtifactId.isEmpty()) {
+ 597 1 if (pom.getParent() != null ) {
+ 598 1 parentArtifactId = interpolateString(pom.getParent().getArtifactId(), pomProperties);
+ 599 1 if ((artifactid == null || artifactid.isEmpty()) && parentArtifactId != null && !parentArtifactId.isEmpty()) {
600 0 artifactid = parentArtifactId;
601
}
602
}
- 603 2 final String originalArtifactID = artifactid;
- 604 2 if (artifactid != null && !artifactid.isEmpty()) {
- 605 2 if (artifactid.startsWith("org." ) || artifactid.startsWith("com." )) {
+ 603 1 final String originalArtifactID = artifactid;
+ 604 1 if (artifactid != null && !artifactid.isEmpty()) {
+ 605 1 if (artifactid.startsWith("org." ) || artifactid.startsWith("com." )) {
606 0 artifactid = artifactid.substring(4);
607
}
- 608 2 foundSomething = true ;
- 609 2 dependency.getProductEvidence().addEvidence("pom" , "artifactid" , artifactid, Confidence.HIGH);
- 610 2 dependency.getVendorEvidence().addEvidence("pom" , "artifactid" , artifactid, Confidence.LOW);
- 611 2 addMatchingValues(classes, artifactid, dependency.getVendorEvidence());
- 612 2 addMatchingValues(classes, artifactid, dependency.getProductEvidence());
- 613 2 if (parentArtifactId != null && !parentArtifactId.isEmpty() && !parentArtifactId.equals(artifactid)) {
- 614 2 dependency.getProductEvidence().addEvidence("pom" , "parent-artifactid" , parentArtifactId, Confidence.MEDIUM);
- 615 2 dependency.getVendorEvidence().addEvidence("pom" , "parent-artifactid" , parentArtifactId, Confidence.LOW);
- 616 2 addMatchingValues(classes, parentArtifactId, dependency.getVendorEvidence());
- 617 2 addMatchingValues(classes, parentArtifactId, dependency.getProductEvidence());
+ 608 1 foundSomething = true ;
+ 609 1 dependency.getProductEvidence().addEvidence("pom" , "artifactid" , artifactid, Confidence.HIGH);
+ 610 1 dependency.getVendorEvidence().addEvidence("pom" , "artifactid" , artifactid, Confidence.LOW);
+ 611 1 addMatchingValues(classes, artifactid, dependency.getVendorEvidence());
+ 612 1 addMatchingValues(classes, artifactid, dependency.getProductEvidence());
+ 613 1 if (parentArtifactId != null && !parentArtifactId.isEmpty() && !parentArtifactId.equals(artifactid)) {
+ 614 1 dependency.getProductEvidence().addEvidence("pom" , "parent-artifactid" , parentArtifactId, Confidence.MEDIUM);
+ 615 1 dependency.getVendorEvidence().addEvidence("pom" , "parent-artifactid" , parentArtifactId, Confidence.LOW);
+ 616 1 addMatchingValues(classes, parentArtifactId, dependency.getVendorEvidence());
+ 617 1 addMatchingValues(classes, parentArtifactId, dependency.getProductEvidence());
618
}
619
@@ -1019,24 +1019,24 @@
}
622
- 623 2 String version = interpolateString(pom.getVersion(), pomProperties);
- 624 2 String parentVersion = null ;
+ 623 1 String version = interpolateString(pom.getVersion(), pomProperties);
+ 624 1 String parentVersion = null ;
625
- 626 2 if (pom.getParent() != null ) {
- 627 2 parentVersion = interpolateString(pom.getParent().getVersion(), pomProperties);
- 628 2 if ((version == null || version.isEmpty()) && parentVersion != null && !parentVersion.isEmpty()) {
- 629 2 version = parentVersion;
+ 626 1 if (pom.getParent() != null ) {
+ 627 1 parentVersion = interpolateString(pom.getParent().getVersion(), pomProperties);
+ 628 1 if ((version == null || version.isEmpty()) && parentVersion != null && !parentVersion.isEmpty()) {
+ 629 1 version = parentVersion;
630
}
631
}
632
- 633 2 if (version != null && !version.isEmpty()) {
- 634 2 foundSomething = true ;
- 635 2 dependency.getVersionEvidence().addEvidence("pom" , "version" , version, Confidence.HIGHEST);
- 636 2 if (parentVersion != null && !parentVersion.isEmpty() && !parentVersion.equals(version)) {
+ 633 1 if (version != null && !version.isEmpty()) {
+ 634 1 foundSomething = true ;
+ 635 1 dependency.getVersionEvidence().addEvidence("pom" , "version" , version, Confidence.HIGHEST);
+ 636 1 if (parentVersion != null && !parentVersion.isEmpty() && !parentVersion.equals(version)) {
637 0 dependency.getVersionEvidence().addEvidence("pom" , "parent-version" , version, Confidence.LOW);
638
}
@@ -1047,16 +1047,16 @@
}
642
- 643 2 if (addAsIdentifier) {
- 644 2 dependency.addIdentifier("maven" , String.format("%s:%s:%s" , originalGroupID, originalArtifactID, version), null , Confidence.LOW);
+ 643 1 if (addAsIdentifier) {
+ 644 1 dependency.addIdentifier("maven" , String.format("%s:%s:%s" , originalGroupID, originalArtifactID, version), null , Confidence.LOW);
645
}
646
647
- 648 2 final Organization org = pom.getOrganization();
- 649 2 if (org != null && org.getName() != null ) {
+ 648 1 final Organization org = pom.getOrganization();
+ 649 1 if (org != null && org.getName() != null ) {
650 0 foundSomething = true ;
651 0 final String orgName = interpolateString(org.getName(), pomProperties);
652 0 if (orgName != null && !orgName.isEmpty()) {
@@ -1068,20 +1068,20 @@
}
657
- 658 2 final String pomName = interpolateString(pom.getName(), pomProperties);
- 659 2 if (pomName != null && !pomName.isEmpty()) {
- 660 2 foundSomething = true ;
- 661 2 dependency.getProductEvidence().addEvidence("pom" , "name" , pomName, Confidence.HIGH);
- 662 2 dependency.getVendorEvidence().addEvidence("pom" , "name" , pomName, Confidence.HIGH);
- 663 2 addMatchingValues(classes, pomName, dependency.getVendorEvidence());
- 664 2 addMatchingValues(classes, pomName, dependency.getProductEvidence());
+ 658 1 final String pomName = interpolateString(pom.getName(), pomProperties);
+ 659 1 if (pomName != null && !pomName.isEmpty()) {
+ 660 1 foundSomething = true ;
+ 661 1 dependency.getProductEvidence().addEvidence("pom" , "name" , pomName, Confidence.HIGH);
+ 662 1 dependency.getVendorEvidence().addEvidence("pom" , "name" , pomName, Confidence.HIGH);
+ 663 1 addMatchingValues(classes, pomName, dependency.getVendorEvidence());
+ 664 1 addMatchingValues(classes, pomName, dependency.getProductEvidence());
665
}
666
667
- 668 2 if (pom.getDescription() != null ) {
+ 668 1 if (pom.getDescription() != null ) {
669 0 foundSomething = true ;
670 0 final String description = interpolateString(pom.getDescription(), pomProperties);
671 0 if (description != null && !description.isEmpty()) {
@@ -1092,8 +1092,8 @@
}
676
}
- 677 2 extractLicense(pom, pomProperties, dependency);
- 678 2 return foundSomething;
+ 677 1 extractLicense(pom, pomProperties, dependency);
+ 678 1 return foundSomething;
679
}
680
@@ -1118,41 +1118,41 @@
protected void analyzePackageNames(ArrayList<ClassNameInformation> classNames,
690
Dependency dependency, boolean addPackagesAsEvidence) {
- 691 10 final HashMap<String, Integer> vendorIdentifiers = new HashMap<String, Integer>();
- 692 10 final HashMap<String, Integer> productIdentifiers = new HashMap<String, Integer>();
- 693 10 analyzeFullyQualifiedClassNames(classNames, vendorIdentifiers, productIdentifiers);
+ 691 5 final HashMap<String, Integer> vendorIdentifiers = new HashMap<String, Integer>();
+ 692 5 final HashMap<String, Integer> productIdentifiers = new HashMap<String, Integer>();
+ 693 5 analyzeFullyQualifiedClassNames(classNames, vendorIdentifiers, productIdentifiers);
694
- 695 10 final int classCount = classNames.size();
- 696 10 final EvidenceCollection vendor = dependency.getVendorEvidence();
- 697 10 final EvidenceCollection product = dependency.getProductEvidence();
+ 695 5 final int classCount = classNames.size();
+ 696 5 final EvidenceCollection vendor = dependency.getVendorEvidence();
+ 697 5 final EvidenceCollection product = dependency.getProductEvidence();
698
- 699 10 for (Map.Entry<String, Integer> entry : vendorIdentifiers.entrySet()) {
- 700 96 final float ratio = entry.getValue() / (float ) classCount;
- 701 96 if (ratio > 0.5) {
+ 699 5 for (Map.Entry<String, Integer> entry : vendorIdentifiers.entrySet()) {
+ 700 48 final float ratio = entry.getValue() / (float ) classCount;
+ 701 48 if (ratio > 0.5) {
702
- 703 20 vendor.addWeighting(entry.getKey());
- 704 20 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
- 705 16 vendor.addEvidence("jar" , "package name" , entry.getKey(), Confidence.LOW);
+ 703 10 vendor.addWeighting(entry.getKey());
+ 704 10 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
+ 705 8 vendor.addEvidence("jar" , "package name" , entry.getKey(), Confidence.LOW);
706
}
707
}
- 708 96 }
- 709 10 for (Map.Entry<String, Integer> entry : productIdentifiers.entrySet()) {
- 710 1970 final float ratio = entry.getValue() / (float ) classCount;
- 711 1970 if (ratio > 0.5) {
- 712 10 product.addWeighting(entry.getKey());
- 713 10 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
- 714 8 product.addEvidence("jar" , "package name" , entry.getKey(), Confidence.LOW);
+ 708 48 }
+ 709 5 for (Map.Entry<String, Integer> entry : productIdentifiers.entrySet()) {
+ 710 985 final float ratio = entry.getValue() / (float ) classCount;
+ 711 985 if (ratio > 0.5) {
+ 712 5 product.addWeighting(entry.getKey());
+ 713 5 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
+ 714 4 product.addEvidence("jar" , "package name" , entry.getKey(), Confidence.LOW);
715
}
716
}
- 717 1970 }
- 718 10 }
+ 717 985 }
+ 718 5 }
719
720
@@ -1185,17 +1185,17 @@
734
protected boolean parseManifest(Dependency dependency, ArrayList<ClassNameInformation> classInformation) throws IOException {
- 735 10 boolean foundSomething = false ;
- 736 10 JarFile jar = null ;
+ 735 5 boolean foundSomething = false ;
+ 736 5 JarFile jar = null ;
737
try {
- 738 10 jar = new JarFile(dependency.getActualFilePath());
+ 738 5 jar = new JarFile(dependency.getActualFilePath());
739
- 740 10 final Manifest manifest = jar.getManifest();
+ 740 5 final Manifest manifest = jar.getManifest();
741
- 742 10 if (manifest == null ) {
+ 742 5 if (manifest == null ) {
743
744 0 if (!dependency.getFileName().toLowerCase().endsWith("-sources.jar" )
@@ -1215,60 +1215,60 @@
752 0 return false ;
753
}
- 754 10 final Attributes atts = manifest.getMainAttributes();
+ 754 5 final Attributes atts = manifest.getMainAttributes();
755
- 756 10 final EvidenceCollection vendorEvidence = dependency.getVendorEvidence();
- 757 10 final EvidenceCollection productEvidence = dependency.getProductEvidence();
- 758 10 final EvidenceCollection versionEvidence = dependency.getVersionEvidence();
+ 756 5 final EvidenceCollection vendorEvidence = dependency.getVendorEvidence();
+ 757 5 final EvidenceCollection productEvidence = dependency.getProductEvidence();
+ 758 5 final EvidenceCollection versionEvidence = dependency.getVersionEvidence();
759
- 760 10 final String source = "Manifest" ;
+ 760 5 final String source = "Manifest" ;
761
- 762 10 for (Entry<Object, Object> entry : atts.entrySet()) {
- 763 130 String key = entry.getKey().toString();
- 764 130 String value = atts.getValue(key);
- 765 130 if (HTML_DETECTION_PATTERN.matcher(value).find()) {
+ 762 5 for (Entry<Object, Object> entry : atts.entrySet()) {
+ 763 65 String key = entry.getKey().toString();
+ 764 65 String value = atts.getValue(key);
+ 765 65 if (HTML_DETECTION_PATTERN.matcher(value).find()) {
766 0 value = Jsoup.parse(value).text();
767
}
- 768 130 if (IGNORE_VALUES.contains(value)) {
+ 768 65 if (IGNORE_VALUES.contains(value)) {
769 0 continue ;
- 770 130 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_TITLE.toString())) {
- 771 2 foundSomething = true ;
- 772 2 productEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 773 2 addMatchingValues(classInformation, value, productEvidence);
- 774 128 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VERSION.toString())) {
- 775 4 foundSomething = true ;
- 776 4 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 777 124 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR.toString())) {
- 778 2 foundSomething = true ;
- 779 2 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 780 2 addMatchingValues(classInformation, value, vendorEvidence);
- 781 122 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString())) {
+ 770 65 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_TITLE.toString())) {
+ 771 1 foundSomething = true ;
+ 772 1 productEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 773 1 addMatchingValues(classInformation, value, productEvidence);
+ 774 64 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VERSION.toString())) {
+ 775 2 foundSomething = true ;
+ 776 2 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 777 62 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR.toString())) {
+ 778 1 foundSomething = true ;
+ 779 1 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 780 1 addMatchingValues(classInformation, value, vendorEvidence);
+ 781 61 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString())) {
782 0 foundSomething = true ;
783 0 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
784 0 addMatchingValues(classInformation, value, vendorEvidence);
- 785 122 } else if (key.equalsIgnoreCase(BUNDLE_DESCRIPTION)) {
- 786 4 foundSomething = true ;
- 787 4 addDescription(dependency, value, "manifest" , key);
+ 785 61 } else if (key.equalsIgnoreCase(BUNDLE_DESCRIPTION)) {
+ 786 2 foundSomething = true ;
+ 787 2 addDescription(dependency, value, "manifest" , key);
788
- 789 4 addMatchingValues(classInformation, value, productEvidence);
- 790 118 } else if (key.equalsIgnoreCase(BUNDLE_NAME)) {
- 791 6 foundSomething = true ;
- 792 6 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 793 6 addMatchingValues(classInformation, value, productEvidence);
- 794 112 } else if (key.equalsIgnoreCase(BUNDLE_VENDOR)) {
- 795 6 foundSomething = true ;
- 796 6 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 797 6 addMatchingValues(classInformation, value, vendorEvidence);
- 798 106 } else if (key.equalsIgnoreCase(BUNDLE_VERSION)) {
- 799 6 foundSomething = true ;
- 800 6 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 801 100 } else if (key.equalsIgnoreCase(Attributes.Name.MAIN_CLASS.toString())) {
- 802 4 continue ;
+ 789 2 addMatchingValues(classInformation, value, productEvidence);
+ 790 59 } else if (key.equalsIgnoreCase(BUNDLE_NAME)) {
+ 791 3 foundSomething = true ;
+ 792 3 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 793 3 addMatchingValues(classInformation, value, productEvidence);
+ 794 56 } else if (key.equalsIgnoreCase(BUNDLE_VENDOR)) {
+ 795 3 foundSomething = true ;
+ 796 3 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 797 3 addMatchingValues(classInformation, value, vendorEvidence);
+ 798 53 } else if (key.equalsIgnoreCase(BUNDLE_VERSION)) {
+ 799 3 foundSomething = true ;
+ 800 3 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 801 50 } else if (key.equalsIgnoreCase(Attributes.Name.MAIN_CLASS.toString())) {
+ 802 2 continue ;
803
804
@@ -1287,10 +1287,10 @@
811
} else {
- 812 96 key = key.toLowerCase();
+ 812 48 key = key.toLowerCase();
813
- 814 96 if (!IGNORE_KEYS.contains(key)
+ 814 48 if (!IGNORE_KEYS.contains(key)
815
&& !key.endsWith("jdk" )
816
@@ -1313,16 +1313,16 @@
&& !isPackage(key, value)) {
825
- 826 28 foundSomething = true ;
- 827 28 if (key.contains("version" )) {
- 828 2 if (key.contains("specification" )) {
- 829 2 versionEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 826 14 foundSomething = true ;
+ 827 14 if (key.contains("version" )) {
+ 828 1 if (key.contains("specification" )) {
+ 829 1 versionEvidence.addEvidence(source, key, value, Confidence.LOW);
830
} else {
831 0 versionEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
832
}
- 833 26 } else if ("build-id" .equals(key)) {
+ 833 13 } else if ("build-id" .equals(key)) {
834 0 int pos = value.indexOf('(' );
835 0 if (pos >= 0) {
836 0 value = value.substring(0, pos - 1);
@@ -1335,9 +1335,9 @@
}
842 0 versionEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
843 0 } else if (key.contains("title" )) {
- 844 2 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 845 2 addMatchingValues(classInformation, value, productEvidence);
- 846 24 } else if (key.contains("vendor" )) {
+ 844 1 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 845 1 addMatchingValues(classInformation, value, productEvidence);
+ 846 12 } else if (key.contains("vendor" )) {
847 0 if (key.contains("specification" )) {
848 0 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
849
@@ -1346,32 +1346,32 @@
851 0 addMatchingValues(classInformation, value, vendorEvidence);
852
}
- 853 24 } else if (key.contains("name" )) {
- 854 6 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 855 6 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 856 6 addMatchingValues(classInformation, value, vendorEvidence);
- 857 6 addMatchingValues(classInformation, value, productEvidence);
- 858 18 } else if (key.contains("license" )) {
- 859 4 addLicense(dependency, value);
+ 853 12 } else if (key.contains("name" )) {
+ 854 3 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 855 3 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 856 3 addMatchingValues(classInformation, value, vendorEvidence);
+ 857 3 addMatchingValues(classInformation, value, productEvidence);
+ 858 9 } else if (key.contains("license" )) {
+ 859 2 addLicense(dependency, value);
860
} else {
- 861 14 if (key.contains("description" )) {
+ 861 7 if (key.contains("description" )) {
862 0 addDescription(dependency, value, "manifest" , key);
863
} else {
- 864 14 productEvidence.addEvidence(source, key, value, Confidence.LOW);
- 865 14 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
- 866 14 addMatchingValues(classInformation, value, vendorEvidence);
- 867 14 addMatchingValues(classInformation, value, productEvidence);
- 868 14 if (value.matches(".*\\d.*" )) {
- 869 6 final StringTokenizer tokenizer = new StringTokenizer(value, " " );
- 870 30 while (tokenizer.hasMoreElements()) {
- 871 24 final String s = tokenizer.nextToken();
- 872 24 if (s.matches("^[0-9.]+$" )) {
- 873 2 versionEvidence.addEvidence(source, key, s, Confidence.LOW);
+ 864 7 productEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 865 7 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 866 7 addMatchingValues(classInformation, value, vendorEvidence);
+ 867 7 addMatchingValues(classInformation, value, productEvidence);
+ 868 7 if (value.matches(".*\\d.*" )) {
+ 869 3 final StringTokenizer tokenizer = new StringTokenizer(value, " " );
+ 870 15 while (tokenizer.hasMoreElements()) {
+ 871 12 final String s = tokenizer.nextToken();
+ 872 12 if (s.matches("^[0-9.]+$" )) {
+ 873 1 versionEvidence.addEvidence(source, key, s, Confidence.LOW);
874
}
- 875 24 }
+ 875 12 }
876
}
877
@@ -1382,16 +1382,16 @@
}
880
}
- 881 126 }
+ 881 63 }
882
} finally {
- 883 10 if (jar != null ) {
- 884 10 jar.close();
+ 883 5 if (jar != null ) {
+ 884 5 jar.close();
885
}
886
}
- 887 10 return foundSomething;
+ 887 5 return foundSomething;
888
}
889
@@ -1422,21 +1422,21 @@
902
private String addDescription(Dependency dependency, String description, String source, String key) {
- 903 4 if (dependency.getDescription() == null ) {
- 904 4 dependency.setDescription(description);
+ 903 2 if (dependency.getDescription() == null ) {
+ 904 2 dependency.setDescription(description);
905
}
906
String desc;
- 907 4 if (HTML_DETECTION_PATTERN.matcher(description).find()) {
+ 907 2 if (HTML_DETECTION_PATTERN.matcher(description).find()) {
908 0 desc = Jsoup.parse(description).text();
909
} else {
- 910 4 desc = description;
+ 910 2 desc = description;
911
}
- 912 4 dependency.setDescription(desc);
- 913 4 if (desc.length() > 100) {
+ 912 2 dependency.setDescription(desc);
+ 913 2 if (desc.length() > 100) {
914 0 desc = desc.replaceAll("\\s\\s+" , " " );
915 0 final int posSuchAs = desc.toLowerCase().indexOf("such as " , 100);
916 0 final int posLike = desc.toLowerCase().indexOf("like " , 100);
@@ -1477,11 +1477,11 @@
943 0 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.LOW);
944 0 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.LOW);
945 0 } else {
- 946 4 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
- 947 4 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
+ 946 2 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
+ 947 2 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
948
}
- 949 4 return desc;
+ 949 2 return desc;
950
}
951
@@ -1500,13 +1500,13 @@
958
private void addLicense(Dependency d, String license) {
- 959 4 if (d.getLicense() == null ) {
- 960 4 d.setLicense(license);
+ 959 2 if (d.getLicense() == null ) {
+ 960 2 d.setLicense(license);
961 0 } else if (!d.getLicense().contains(license)) {
962 0 d.setLicense(d.getLicense() + NEWLINE + license);
963
}
- 964 4 }
+ 964 2 }
965
966
@@ -1515,7 +1515,7 @@
968
- 969 14 private File tempFileLocation = null ;
+ 969 7 private File tempFileLocation = null ;
970
971
@@ -1532,19 +1532,19 @@
@Override
977
public void initializeFileTypeAnalyzer() throws Exception {
- 978 2 final File baseDir = Settings.getTempDirectory();
- 979 2 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
- 980 2 if (!tempFileLocation.delete()) {
+ 978 1 final File baseDir = Settings.getTempDirectory();
+ 979 1 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
+ 980 1 if (!tempFileLocation.delete()) {
981 0 final String msg = String.format("Unable to delete temporary file '%s'." , tempFileLocation.getAbsolutePath());
982 0 throw new AnalysisException(msg);
983
}
- 984 2 if (!tempFileLocation.mkdirs()) {
+ 984 1 if (!tempFileLocation.mkdirs()) {
985 0 final String msg = String.format("Unable to create directory '%s'." , tempFileLocation.getAbsolutePath());
986 0 throw new AnalysisException(msg);
987
}
- 988 2 }
+ 988 1 }
989
990
@@ -1557,10 +1557,10 @@
@Override
994
public void close() {
- 995 2 if (tempFileLocation != null && tempFileLocation.exists()) {
- 996 2 LOGGER.log(Level.FINE, "Attempting to delete temporary files" );
- 997 2 final boolean success = FileUtils.delete(tempFileLocation);
- 998 2 if (!success) {
+ 995 1 if (tempFileLocation != null && tempFileLocation.exists()) {
+ 996 1 LOGGER.log(Level.FINE, "Attempting to delete temporary files" );
+ 997 1 final boolean success = FileUtils.delete(tempFileLocation);
+ 998 1 if (!success) {
999 0 LOGGER.log(Level.WARNING,
1000
"Failed to delete some temporary files, see the log for more details" );
@@ -1568,7 +1568,7 @@
}
1002
}
- 1003 2 }
+ 1003 1 }
1004
1005
@@ -1627,40 +1627,40 @@
1032
protected String interpolateString(String text, Properties properties) {
- 1033 28 Properties props = properties;
- 1034 28 if (text == null ) {
- 1035 2 return text;
+ 1033 14 Properties props = properties;
+ 1034 14 if (text == null ) {
+ 1035 1 return text;
1036
}
- 1037 26 if (props == null ) {
- 1038 12 props = new Properties();
+ 1037 13 if (props == null ) {
+ 1038 6 props = new Properties();
1039
}
1040
- 1041 26 final int pos = text.indexOf("${" );
- 1042 26 if (pos < 0) {
- 1043 20 return text;
+ 1041 13 final int pos = text.indexOf("${" );
+ 1042 13 if (pos < 0) {
+ 1043 10 return text;
1044
}
- 1045 6 final int end = text.indexOf("}" );
- 1046 6 if (end < pos) {
+ 1045 3 final int end = text.indexOf("}" );
+ 1046 3 if (end < pos) {
1047 0 return text;
1048
}
1049
- 1050 6 final String propName = text.substring(pos + 2, end);
- 1051 6 String propValue = interpolateString(props.getProperty(propName), props);
- 1052 6 if (propValue == null ) {
+ 1050 3 final String propName = text.substring(pos + 2, end);
+ 1051 3 String propValue = interpolateString(props.getProperty(propName), props);
+ 1052 3 if (propValue == null ) {
1053 0 propValue = "" ;
1054
}
- 1055 6 final StringBuilder sb = new StringBuilder(propValue.length() + text.length());
- 1056 6 sb.append(text.subSequence(0, pos));
- 1057 6 sb.append(propValue);
- 1058 6 sb.append(text.substring(end + 1));
- 1059 6 return interpolateString(sb.toString(), props);
+ 1055 3 final StringBuilder sb = new StringBuilder(propValue.length() + text.length());
+ 1056 3 sb.append(text.subSequence(0, pos));
+ 1057 3 sb.append(propValue);
+ 1058 3 sb.append(text.substring(end + 1));
+ 1059 3 return interpolateString(sb.toString(), props);
1060
}
1061
@@ -1681,9 +1681,9 @@
1069
private boolean isImportPackage(String key, String value) {
- 1070 30 final Pattern packageRx = Pattern.compile("^([a-zA-Z0-9_#\\$\\*\\.]+\\s*[,;]\\s*)+([a-zA-Z0-9_#\\$\\*\\.]+\\s*)?$" );
- 1071 30 final boolean matches = packageRx.matcher(value).matches();
- 1072 30 return matches && (key.contains("import" ) || key.contains("include" ) || value.length() > 10);
+ 1070 15 final Pattern packageRx = Pattern.compile("^([a-zA-Z0-9_#\\$\\*\\.]+\\s*[,;]\\s*)+([a-zA-Z0-9_#\\$\\*\\.]+\\s*)?$" );
+ 1071 15 final boolean matches = packageRx.matcher(value).matches();
+ 1072 15 return matches && (key.contains("import" ) || key.contains("include" ) || value.length() > 10);
1073
}
1074
@@ -1704,41 +1704,41 @@
1082
private ArrayList<ClassNameInformation> collectClassNames(Dependency dependency) {
- 1083 10 final ArrayList<ClassNameInformation> classNames = new ArrayList<ClassNameInformation>();
- 1084 10 JarFile jar = null ;
+ 1083 5 final ArrayList<ClassNameInformation> classNames = new ArrayList<ClassNameInformation>();
+ 1084 5 JarFile jar = null ;
1085
try {
- 1086 10 jar = new JarFile(dependency.getActualFilePath());
- 1087 10 final Enumeration entries = jar.entries();
- 1088 3696 while (entries.hasMoreElements()) {
- 1089 3686 final JarEntry entry = (JarEntry) entries.nextElement();
- 1090 3686 final String name = entry.getName().toLowerCase();
+ 1086 5 jar = new JarFile(dependency.getActualFilePath());
+ 1087 5 final Enumeration entries = jar.entries();
+ 1088 1848 while (entries.hasMoreElements()) {
+ 1089 1843 final JarEntry entry = (JarEntry) entries.nextElement();
+ 1090 1843 final String name = entry.getName().toLowerCase();
1091
- 1092 3686 if (name.endsWith(".class" ) && !name.matches("^javax?\\..*$" )) {
- 1093 3070 final ClassNameInformation className = new ClassNameInformation(name.substring(0, name.length() - 6));
- 1094 3070 classNames.add(className);
+ 1092 1843 if (name.endsWith(".class" ) && !name.matches("^javax?\\..*$" )) {
+ 1093 1535 final ClassNameInformation className = new ClassNameInformation(name.substring(0, name.length() - 6));
+ 1094 1535 classNames.add(className);
1095
}
- 1096 3686 }
+ 1096 1843 }
1097 0 } catch (IOException ex) {
1098 0 final String msg = String.format("Unable to open jar file '%s'." , dependency.getFileName());
1099 0 LOGGER.log(Level.WARNING, msg);
1100 0 LOGGER.log(Level.FINE, null , ex);
1101
} finally {
- 1102 10 if (jar != null ) {
+ 1102 5 if (jar != null ) {
1103
try {
- 1104 10 jar.close();
+ 1104 5 jar.close();
1105 0 } catch (IOException ex) {
1106 0 LOGGER.log(Level.FINEST, null , ex);
- 1107 10 }
+ 1107 5 }
1108
}
1109
}
- 1110 10 return classNames;
+ 1110 5 return classNames;
1111
}
1112
@@ -1763,31 +1763,31 @@
private void analyzeFullyQualifiedClassNames(ArrayList<ClassNameInformation> classNames,
1122
HashMap<String, Integer> vendor, HashMap<String, Integer> product) {
- 1123 10 for (ClassNameInformation entry : classNames) {
- 1124 3070 final ArrayList<String> list = entry.getPackageStructure();
- 1125 3070 addEntry(vendor, list.get(0));
+ 1123 5 for (ClassNameInformation entry : classNames) {
+ 1124 1535 final ArrayList<String> list = entry.getPackageStructure();
+ 1125 1535 addEntry(vendor, list.get(0));
1126
- 1127 3070 if (list.size() == 2) {
+ 1127 1535 if (list.size() == 2) {
1128 0 addEntry(product, list.get(1));
1129
}
- 1130 3070 if (list.size() == 3) {
- 1131 690 addEntry(vendor, list.get(1));
- 1132 690 addEntry(product, list.get(1));
- 1133 690 addEntry(product, list.get(2));
+ 1130 1535 if (list.size() == 3) {
+ 1131 345 addEntry(vendor, list.get(1));
+ 1132 345 addEntry(product, list.get(1));
+ 1133 345 addEntry(product, list.get(2));
1134
}
- 1135 3070 if (list.size() >= 4) {
- 1136 2380 addEntry(vendor, list.get(1));
- 1137 2380 addEntry(vendor, list.get(2));
- 1138 2380 addEntry(product, list.get(1));
- 1139 2380 addEntry(product, list.get(2));
- 1140 2380 addEntry(product, list.get(3));
+ 1135 1535 if (list.size() >= 4) {
+ 1136 1190 addEntry(vendor, list.get(1));
+ 1137 1190 addEntry(vendor, list.get(2));
+ 1138 1190 addEntry(product, list.get(1));
+ 1139 1190 addEntry(product, list.get(2));
+ 1140 1190 addEntry(product, list.get(3));
1141
}
- 1142 3070 }
- 1143 10 }
+ 1142 1535 }
+ 1143 5 }
1144
1145
@@ -1806,14 +1806,14 @@
1152
private void addEntry(HashMap<String, Integer> collection, String key) {
- 1153 17040 if (collection.containsKey(key)) {
- 1154 14974 collection.put(key, collection.get(key) + 1);
+ 1153 8520 if (collection.containsKey(key)) {
+ 1154 7487 collection.put(key, collection.get(key) + 1);
1155
} else {
- 1156 2066 collection.put(key, 1);
+ 1156 1033 collection.put(key, 1);
1157
}
- 1158 17040 }
+ 1158 8520 }
1159
1160
@@ -1836,20 +1836,20 @@
1169
private void addMatchingValues(ArrayList<ClassNameInformation> classes, String value, EvidenceCollection evidence) {
- 1170 82 if (value == null || value.isEmpty() || classes == null || classes.isEmpty()) {
+ 1170 41 if (value == null || value.isEmpty() || classes == null || classes.isEmpty()) {
1171 0 return ;
1172
}
- 1173 82 final String text = value.toLowerCase();
- 1174 82 for (ClassNameInformation cni : classes) {
- 1175 33000 for (String key : cni.getPackageStructure()) {
- 1176 127640 if (text.contains(key)) {
- 1177 30800 evidence.addEvidence("jar" , "package name" , key, Confidence.HIGHEST);
+ 1173 41 final String text = value.toLowerCase();
+ 1174 41 for (ClassNameInformation cni : classes) {
+ 1175 16500 for (String key : cni.getPackageStructure()) {
+ 1176 63820 if (text.contains(key)) {
+ 1177 15400 evidence.addEvidence("jar" , "package name" , key, Confidence.HIGHEST);
1178
}
- 1179 127640 }
- 1180 33000 }
- 1181 82 }
+ 1179 63820 }
+ 1180 16500 }
+ 1181 41 }
1182
1183
@@ -1870,7 +1870,7 @@
private boolean isPackage(String key, String value) {
1191
- 1192 30 return !key.matches(".*(version|title|vendor|name|license|description).*" )
+ 1192 15 return !key.matches(".*(version|title|vendor|name|license|description).*" )
1193
&& value.matches("^([a-zA-Z_][a-zA-Z0-9_\\$]*(\\.[a-zA-Z_][a-zA-Z0-9_\\$]*)*)?$" );
1194
@@ -1897,7 +1897,7 @@
private void extractLicense(Model pom, Properties pomProperties, Dependency dependency) {
1205
- 1206 2 if (pom.getLicenses() != null ) {
+ 1206 1 if (pom.getLicenses() != null ) {
1207 0 String license = null ;
1208 0 for (License lic : pom.getLicenses().getLicense()) {
1209 0 String tmp = null ;
@@ -1937,7 +1937,7 @@
}
1235
}
- 1236 2 }
+ 1236 1 }
1237
1238
@@ -1990,30 +1990,30 @@
1262
- 1263 3070 ClassNameInformation(String className) {
- 1264 3070 name = className;
- 1265 3070 if (name.contains("/" )) {
- 1266 3070 final String[] tmp = className.toLowerCase().split("/" );
- 1267 3070 int start = 0;
- 1268 3070 int end = 3;
- 1269 3070 if ("com" .equals(tmp[0]) || "org" .equals(tmp[0])) {
- 1270 3070 start = 1;
- 1271 3070 end = 4;
+ 1263 1535 ClassNameInformation(String className) {
+ 1264 1535 name = className;
+ 1265 1535 if (name.contains("/" )) {
+ 1266 1535 final String[] tmp = className.toLowerCase().split("/" );
+ 1267 1535 int start = 0;
+ 1268 1535 int end = 3;
+ 1269 1535 if ("com" .equals(tmp[0]) || "org" .equals(tmp[0])) {
+ 1270 1535 start = 1;
+ 1271 1535 end = 4;
1272
}
- 1273 3070 if (tmp.length <= end) {
- 1274 690 end = tmp.length - 1;
+ 1273 1535 if (tmp.length <= end) {
+ 1274 345 end = tmp.length - 1;
1275
}
- 1276 14660 for (int i = start; i <= end; i++) {
- 1277 11590 packageStructure.add(tmp[i]);
+ 1276 7330 for (int i = start; i <= end; i++) {
+ 1277 5795 packageStructure.add(tmp[i]);
1278
}
- 1279 3070 } else {
+ 1279 1535 } else {
1280 0 packageStructure.add(name);
1281
}
- 1282 3070 }
+ 1282 1535 }
1283
1284
@@ -2064,7 +2064,7 @@
1307
- 1308 3070 private final ArrayList<String> packageStructure = new ArrayList<String>();
+ 1308 1535 private final ArrayList<String> packageStructure = new ArrayList<String>();
1309
1310
@@ -2121,6 +2121,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 c920ab563..399e9c3d8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
@@ -105,7 +105,7 @@
44
- 45 2 private static final Logger LOGGER = Logger.getLogger(JavaScriptAnalyzer.class .getName());
+ 45 1 private static final Logger LOGGER = Logger.getLogger(JavaScriptAnalyzer.class .getName());
46
47
@@ -124,14 +124,14 @@
54
- 55 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 55 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
56
57
58
- 59 2 private static final Set<String> EXTENSIONS = newHashSet("js" );
+ 59 1 private static final Set<String> EXTENSIONS = newHashSet("js" );
60
61
@@ -148,7 +148,7 @@
@Override
67
public Set<String> getSupportedExtensions() {
- 68 4 return EXTENSIONS;
+ 68 2 return EXTENSIONS;
69
}
70
@@ -167,7 +167,7 @@
@Override
77
public String getName() {
- 78 2 return ANALYZER_NAME;
+ 78 1 return ANALYZER_NAME;
79
}
80
@@ -186,7 +186,7 @@
@Override
87
public AnalysisPhase getAnalysisPhase() {
- 88 2 return ANALYSIS_PHASE;
+ 88 1 return ANALYSIS_PHASE;
89
}
90
@@ -205,7 +205,7 @@
@Override
97
protected String getAnalyzerEnabledSettingKey() {
- 98 10 return Settings.KEYS.ANALYZER_JAVASCRIPT_ENABLED;
+ 98 5 return Settings.KEYS.ANALYZER_JAVASCRIPT_ENABLED;
99
}
100
@@ -275,6 +275,6 @@
}
-
+
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 2d13a5602..ca70f0ea1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html
@@ -125,7 +125,7 @@
54
- 55 2 private static final Logger LOGGER = Logger.getLogger(NexusAnalyzer.class .getName());
+ 55 1 private static final Logger LOGGER = Logger.getLogger(NexusAnalyzer.class .getName());
56
57
@@ -144,7 +144,7 @@
64
- 65 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 65 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
66
67
@@ -153,7 +153,7 @@
69
- 70 2 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("jar" );
+ 70 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("jar" );
71
72
@@ -220,7 +220,7 @@
@Override
110
public String getName() {
- 111 8 return ANALYZER_NAME;
+ 111 4 return ANALYZER_NAME;
112
}
113
@@ -239,7 +239,7 @@
@Override
120
protected String getAnalyzerEnabledSettingKey() {
- 121 4 return Settings.KEYS.ANALYZER_NEXUS_ENABLED;
+ 121 2 return Settings.KEYS.ANALYZER_NEXUS_ENABLED;
122
}
123
@@ -258,7 +258,7 @@
@Override
130
public AnalysisPhase getAnalysisPhase() {
- 131 2 return ANALYSIS_PHASE;
+ 131 1 return ANALYSIS_PHASE;
132
}
133
@@ -351,6 +351,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
index 82dc4d9f6..100fedd8c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html
@@ -107,7 +107,7 @@
45
- 46 2 private static final Logger LOGGER = Logger.getLogger(NuspecAnalyzer.class .getName());
+ 46 1 private static final Logger LOGGER = Logger.getLogger(NuspecAnalyzer.class .getName());
47
48
@@ -126,7 +126,7 @@
55
- 56 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 56 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
57
58
@@ -135,7 +135,7 @@
60
- 61 2 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("nuspec" );
+ 61 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("nuspec" );
62
63
@@ -169,7 +169,7 @@
@Override
78
public String getName() {
- 79 10 return ANALYZER_NAME;
+ 79 5 return ANALYZER_NAME;
80
}
81
@@ -188,7 +188,7 @@
@Override
88
protected String getAnalyzerEnabledSettingKey() {
- 89 12 return Settings.KEYS.ANALYZER_NUSPEC_ENABLED;
+ 89 6 return Settings.KEYS.ANALYZER_NUSPEC_ENABLED;
90
}
91
@@ -207,7 +207,7 @@
@Override
98
public AnalysisPhase getAnalysisPhase() {
- 99 4 return ANALYSIS_PHASE;
+ 99 2 return ANALYSIS_PHASE;
100
}
101
@@ -226,7 +226,7 @@
@Override
108
public Set<String> getSupportedExtensions() {
- 109 1704 return SUPPORTED_EXTENSIONS;
+ 109 852 return SUPPORTED_EXTENSIONS;
110
}
111
@@ -297,6 +297,6 @@
}
-
+
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 699d06be2..324093560 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
@@ -129,9 +129,9 @@
56
public void open() throws SQLException, IOException, DatabaseException, ClassNotFoundException {
- 57 2 cveDB = new CveDB();
- 58 2 cveDB.open();
- 59 2 }
+ 57 1 cveDB = new CveDB();
+ 58 1 cveDB.open();
+ 59 1 }
60
61
@@ -144,9 +144,9 @@
@Override
65
public void close() {
- 66 2 cveDB.close();
- 67 2 cveDB = null ;
- 68 2 }
+ 66 1 cveDB.close();
+ 67 1 cveDB = null ;
+ 68 1 }
69
70
@@ -206,20 +206,20 @@
@Override
100
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 101 4 for (Identifier id : dependency.getIdentifiers()) {
- 102 4 if ("cpe" .equals(id.getType())) {
+ 101 2 for (Identifier id : dependency.getIdentifiers()) {
+ 102 2 if ("cpe" .equals(id.getType())) {
103
try {
- 104 4 final String value = id.getValue();
- 105 4 final List<Vulnerability> vulns = cveDB.getVulnerabilities(value);
- 106 4 dependency.getVulnerabilities().addAll(vulns);
+ 104 2 final String value = id.getValue();
+ 105 2 final List<Vulnerability> vulns = cveDB.getVulnerabilities(value);
+ 106 2 dependency.getVulnerabilities().addAll(vulns);
107 0 } catch (DatabaseException ex) {
108 0 throw new AnalysisException(ex);
- 109 4 }
+ 109 2 }
110
}
- 111 4 }
- 112 4 for (Identifier id : dependency.getSuppressedIdentifiers()) {
+ 111 2 }
+ 112 2 for (Identifier id : dependency.getSuppressedIdentifiers()) {
113 0 if ("cpe" .equals(id.getType())) {
114
try {
@@ -232,7 +232,7 @@
121
}
122 0 }
- 123 4 }
+ 123 2 }
124
125
@@ -249,7 +249,7 @@
@Override
131
public String getName() {
- 132 8 return "NVD CVE Analyzer" ;
+ 132 4 return "NVD CVE Analyzer" ;
133
}
134
@@ -268,7 +268,7 @@
@Override
141
public AnalysisPhase getAnalysisPhase() {
- 142 2 return AnalysisPhase.FINDING_ANALYSIS;
+ 142 1 return AnalysisPhase.FINDING_ANALYSIS;
143
}
144
@@ -287,12 +287,12 @@
@Override
151
public void initialize() throws Exception {
- 152 2 this .open();
- 153 2 }
+ 152 1 this .open();
+ 153 1 }
154
}
-
+
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 8a91f9fe0..02dde376c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html
@@ -97,7 +97,7 @@
40
- 41 2 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_FINDING_ANALYSIS;
+ 41 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_FINDING_ANALYSIS;
42
43
@@ -114,7 +114,7 @@
@Override
49
public String getName() {
- 50 8 return ANALYZER_NAME;
+ 50 4 return ANALYZER_NAME;
51
}
52
@@ -133,7 +133,7 @@
@Override
59
public AnalysisPhase getAnalysisPhase() {
- 60 2 return ANALYSIS_PHASE;
+ 60 1 return ANALYSIS_PHASE;
61
}
62
@@ -146,20 +146,20 @@
public void analyze(final Dependency dependency, final Engine engine) throws AnalysisException {
66
- 67 4 if (getRules() == null || getRules().size() <= 0) {
+ 67 2 if (getRules() == null || getRules().size() <= 0) {
68 0 return ;
69
}
70
- 71 4 for (final SuppressionRule rule : getRules()) {
- 72 4 rule.process(dependency);
- 73 4 }
- 74 4 }
+ 71 2 for (final SuppressionRule rule : getRules()) {
+ 72 2 rule.process(dependency);
+ 73 2 }
+ 74 2 }
75
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.AnalysisException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.AnalysisException.html
index cdcf43b93..e38ba79aa 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.AnalysisException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.AnalysisException.html
@@ -151,6 +151,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.ArchiveExtractionException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.ArchiveExtractionException.html
index 22bdce252..030da1b74 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.ArchiveExtractionException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.ArchiveExtractionException.html
@@ -151,6 +151,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 48ec0ef77..ee52d7b5a 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,14 +135,14 @@
59
- 60 2 private static final Logger LOGGER = Logger.getLogger(CpeMemoryIndex.class .getName());
+ 60 1 private static final Logger LOGGER = Logger.getLogger(CpeMemoryIndex.class .getName());
61
62
63
- 64 2 private static CpeMemoryIndex instance = new CpeMemoryIndex();
+ 64 1 private static CpeMemoryIndex instance = new CpeMemoryIndex();
65
66
@@ -169,7 +169,7 @@
77
public static CpeMemoryIndex getInstance() {
- 78 4 return instance;
+ 78 2 return instance;
79
}
80
@@ -244,22 +244,22 @@
115
public void open(CveDB cve) throws IndexException {
- 116 4 if (!openState) {
- 117 2 index = new RAMDirectory();
- 118 2 buildIndex(cve);
+ 116 2 if (!openState) {
+ 117 1 index = new RAMDirectory();
+ 118 1 buildIndex(cve);
119
try {
- 120 2 indexReader = DirectoryReader.open(index);
+ 120 1 indexReader = DirectoryReader.open(index);
121 0 } catch (IOException ex) {
122 0 throw new IndexException(ex);
- 123 2 }
- 124 2 indexSearcher = new IndexSearcher(indexReader);
- 125 2 searchingAnalyzer = createSearchingAnalyzer();
- 126 2 queryParser = new QueryParser(LuceneUtils.CURRENT_VERSION, Fields.DOCUMENT_KEY, searchingAnalyzer);
- 127 2 openState = true ;
+ 123 1 }
+ 124 1 indexSearcher = new IndexSearcher(indexReader);
+ 125 1 searchingAnalyzer = createSearchingAnalyzer();
+ 126 1 queryParser = new QueryParser(LuceneUtils.CURRENT_VERSION, Fields.DOCUMENT_KEY, searchingAnalyzer);
+ 127 1 openState = true ;
128
}
- 129 4 }
+ 129 2 }
130
131
@@ -302,9 +302,9 @@
@SuppressWarnings("unchecked" )
150
private Analyzer createIndexingAnalyzer() {
- 151 2 final Map fieldAnalyzers = new HashMap();
- 152 2 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
- 153 2 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
+ 151 1 final Map fieldAnalyzers = new HashMap();
+ 152 1 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+ 153 1 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
154
}
155
@@ -323,15 +323,15 @@
@SuppressWarnings("unchecked" )
162
private Analyzer createSearchingAnalyzer() {
- 163 2 final Map fieldAnalyzers = new HashMap();
- 164 2 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
- 165 2 productSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
- 166 2 vendorSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
- 167 2 fieldAnalyzers.put(Fields.PRODUCT, productSearchFieldAnalyzer);
- 168 2 fieldAnalyzers.put(Fields.VENDOR, vendorSearchFieldAnalyzer);
+ 163 1 final Map fieldAnalyzers = new HashMap();
+ 164 1 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+ 165 1 productSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
+ 166 1 vendorSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
+ 167 1 fieldAnalyzers.put(Fields.PRODUCT, productSearchFieldAnalyzer);
+ 168 1 fieldAnalyzers.put(Fields.VENDOR, vendorSearchFieldAnalyzer);
169
- 170 2 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
+ 170 1 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
171
}
172
@@ -356,13 +356,13 @@
182
public void saveEntry(String vendor, String product, IndexWriter indexWriter) throws CorruptIndexException, IOException {
- 183 44272 final Document doc = new Document();
- 184 44272 final Field v = new TextField(Fields.VENDOR, vendor, Field.Store.YES);
- 185 44272 final Field p = new TextField(Fields.PRODUCT, product, Field.Store.YES);
- 186 44272 doc.add(v);
- 187 44272 doc.add(p);
- 188 44272 indexWriter.addDocument(doc);
- 189 44272 }
+ 183 22136 final Document doc = new Document();
+ 184 22136 final Field v = new TextField(Fields.VENDOR, vendor, Field.Store.YES);
+ 185 22136 final Field p = new TextField(Fields.PRODUCT, product, Field.Store.YES);
+ 186 22136 doc.add(v);
+ 187 22136 doc.add(p);
+ 188 22136 indexWriter.addDocument(doc);
+ 189 22136 }
190
191
@@ -373,30 +373,30 @@
194
public void close() {
- 195 2 if (searchingAnalyzer != null ) {
- 196 2 searchingAnalyzer.close();
- 197 2 searchingAnalyzer = null ;
+ 195 1 if (searchingAnalyzer != null ) {
+ 196 1 searchingAnalyzer.close();
+ 197 1 searchingAnalyzer = null ;
198
}
- 199 2 if (indexReader != null ) {
+ 199 1 if (indexReader != null ) {
200
try {
- 201 2 indexReader.close();
+ 201 1 indexReader.close();
202 0 } catch (IOException ex) {
203 0 LOGGER.log(Level.FINEST, null , ex);
- 204 2 }
- 205 2 indexReader = null ;
+ 204 1 }
+ 205 1 indexReader = null ;
206
}
- 207 2 queryParser = null ;
- 208 2 indexSearcher = null ;
- 209 2 if (index != null ) {
- 210 2 index.close();
- 211 2 index = null ;
+ 207 1 queryParser = null ;
+ 208 1 indexSearcher = null ;
+ 209 1 if (index != null ) {
+ 210 1 index.close();
+ 211 1 index = null ;
212
}
- 213 2 openState = false ;
- 214 2 }
+ 213 1 openState = false ;
+ 214 1 }
215
216
@@ -413,53 +413,53 @@
222
private void buildIndex(CveDB cve) throws IndexException {
- 223 2 Analyzer analyzer = null ;
- 224 2 IndexWriter indexWriter = null ;
+ 223 1 Analyzer analyzer = null ;
+ 224 1 IndexWriter indexWriter = null ;
225
try {
- 226 2 analyzer = createIndexingAnalyzer();
- 227 2 final IndexWriterConfig conf = new IndexWriterConfig(LuceneUtils.CURRENT_VERSION, analyzer);
- 228 2 indexWriter = new IndexWriter(index, conf);
+ 226 1 analyzer = createIndexingAnalyzer();
+ 227 1 final IndexWriterConfig conf = new IndexWriterConfig(LuceneUtils.CURRENT_VERSION, analyzer);
+ 228 1 indexWriter = new IndexWriter(index, conf);
229
try {
- 230 2 final Set<Pair<String, String>> data = cve.getVendorProductList();
- 231 2 for (Pair<String, String> pair : data) {
- 232 44272 saveEntry(pair.getLeft(), pair.getRight(), indexWriter);
- 233 44272 }
+ 230 1 final Set<Pair<String, String>> data = cve.getVendorProductList();
+ 231 1 for (Pair<String, String> pair : data) {
+ 232 22136 saveEntry(pair.getLeft(), pair.getRight(), indexWriter);
+ 233 22136 }
234 0 } catch (DatabaseException ex) {
235 0 LOGGER.log(Level.FINE, null , ex);
236 0 throw new IndexException("Error reading CPE data" , ex);
- 237 2 }
+ 237 1 }
238 0 } catch (CorruptIndexException ex) {
239 0 throw new IndexException("Unable to close an in-memory index" , ex);
240 0 } catch (IOException ex) {
241 0 throw new IndexException("Unable to close an in-memory index" , ex);
242
} finally {
- 243 2 if (indexWriter != null ) {
+ 243 1 if (indexWriter != null ) {
244
try {
245
try {
- 246 2 indexWriter.commit();
+ 246 1 indexWriter.commit();
247
} finally {
- 248 2 indexWriter.close(true );
- 249 2 }
+ 248 1 indexWriter.close(true );
+ 249 1 }
250 0 } catch (CorruptIndexException ex) {
251 0 throw new IndexException("Unable to close an in-memory index" , ex);
252 0 } catch (IOException ex) {
253 0 throw new IndexException("Unable to close an in-memory index" , ex);
- 254 2 }
- 255 2 if (analyzer != null ) {
- 256 2 analyzer.close();
+ 254 1 }
+ 255 1 if (analyzer != null ) {
+ 256 1 analyzer.close();
257
}
258
}
259
}
- 260 2 }
+ 260 1 }
261
262
@@ -501,12 +501,12 @@
283
public TopDocs search(String searchString, int maxQueryResults) throws ParseException, IOException {
- 284 16 if (searchString == null || searchString.trim().isEmpty()) {
+ 284 8 if (searchString == null || searchString.trim().isEmpty()) {
285 0 throw new ParseException("Query is null or empty" );
286
}
- 287 16 final Query query = queryParser.parse(searchString);
- 288 16 return indexSearcher.search(query, maxQueryResults);
+ 287 8 final Query query = queryParser.parse(searchString);
+ 288 8 return indexSearcher.search(query, maxQueryResults);
289
}
290
@@ -553,7 +553,7 @@
312
public Document getDocument(int documentId) throws IOException {
- 313 108 return indexSearcher.doc(documentId);
+ 313 54 return indexSearcher.doc(documentId);
314
}
315
@@ -570,17 +570,17 @@
321
public int numDocs() {
- 322 2 if (indexReader == null ) {
+ 322 1 if (indexReader == null ) {
323 0 return -1;
324
}
- 325 2 return indexReader.numDocs();
+ 325 1 return indexReader.numDocs();
326
}
327
}
-
+
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 435dafe90..3c30920f9 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
@@ -103,6 +103,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 074716292..bf6d896fd 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
@@ -302,19 +302,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
@@ -332,21 +332,21 @@
@Override
164
public boolean equals(Object obj) {
- 165 672 if (obj == null ) {
+ 165 336 if (obj == null ) {
166 0 return false ;
167
}
- 168 672 if (getClass() != obj.getClass()) {
+ 168 336 if (getClass() != obj.getClass()) {
169 0 return false ;
170
}
- 171 672 final IndexEntry other = (IndexEntry) obj;
- 172 672 if ((this .vendor == null ) ? (other.vendor != null ) : !this .vendor.equals(other.vendor)) {
- 173 558 return false ;
+ 171 336 final IndexEntry other = (IndexEntry) obj;
+ 172 336 if ((this .vendor == null ) ? (other.vendor != null ) : !this .vendor.equals(other.vendor)) {
+ 173 279 return false ;
174
}
- 175 114 if ((this .product == null ) ? (other.product != null ) : !this .product.equals(other.product)) {
- 176 114 return false ;
+ 175 57 if ((this .product == null ) ? (other.product != null ) : !this .product.equals(other.product)) {
+ 176 57 return false ;
177
}
178 0 return true ;
@@ -375,6 +375,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 553bc4b04..d2f566ede 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
@@ -151,6 +151,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 be9b40b80..25b0adc9f 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
@@ -85,7 +85,7 @@
34
- 35 2 private static final Logger LOGGER = Logger.getLogger(CweDB.class .getName());
+ 35 1 private static final Logger LOGGER = Logger.getLogger(CweDB.class .getName());
36
37
@@ -104,7 +104,7 @@
44
- 45 2 private static final HashMap<String, String> CWE = loadData();
+ 45 1 private static final HashMap<String, String> CWE = loadData();
46
47
@@ -119,13 +119,13 @@
52
private static HashMap<String, String> loadData() {
- 53 2 ObjectInputStream oin = null ;
+ 53 1 ObjectInputStream oin = null ;
54
try {
- 55 2 final String filePath = "data/cwe.hashmap.serialized" ;
- 56 2 final InputStream input = CweDB.class .getClassLoader().getResourceAsStream(filePath);
- 57 2 oin = new ObjectInputStream(input);
- 58 2 return (HashMap<String, String>) oin.readObject();
+ 55 1 final String filePath = "data/cwe.hashmap.serialized" ;
+ 56 1 final InputStream input = CweDB.class .getClassLoader().getResourceAsStream(filePath);
+ 57 1 oin = new ObjectInputStream(input);
+ 58 1 return (HashMap<String, String>) oin.readObject();
59 0 } catch (ClassNotFoundException ex) {
60 0 LOGGER.log(Level.WARNING, "Unable to load CWE data. This should not be an issue." );
61 0 LOGGER.log(Level.FINE, null , ex);
@@ -134,13 +134,13 @@
64 0 LOGGER.log(Level.FINE, null , ex);
65
} finally {
- 66 2 if (oin != null ) {
+ 66 1 if (oin != null ) {
67
try {
- 68 2 oin.close();
+ 68 1 oin.close();
69 0 } catch (IOException ex) {
70 0 LOGGER.log(Level.FINEST, null , ex);
- 71 4 }
+ 71 2 }
72
}
73
@@ -166,8 +166,8 @@
84
public static String getCweName(String cweId) {
- 85 18 if (cweId != null ) {
- 86 18 return CWE.get(cweId);
+ 85 9 if (cweId != null ) {
+ 86 9 return CWE.get(cweId);
87
}
88 0 return null ;
@@ -177,6 +177,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 1348d203e..753eda2c5 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
@@ -122,6 +122,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 4a9005cf4..30fe78df6 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 17 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
+ 35 10 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
36
37
@@ -144,9 +144,9 @@
64
public AbstractTokenizingFilter(TokenStream stream) {
- 65 17 super (stream);
- 66 17 tokens = new LinkedList<String>();
- 67 17 }
+ 65 10 super (stream);
+ 66 10 tokens = new LinkedList<String>();
+ 67 10 }
68
69
@@ -161,20 +161,20 @@
74
protected boolean addTerm() {
- 75 34893 final boolean termAdded = tokens.size() > 0;
- 76 34890 if (termAdded) {
- 77 22715 final String term = tokens.pop();
- 78 22718 clearAttributes();
- 79 22717 termAtt.append(term);
+ 75 27184 final boolean termAdded = tokens.size() > 0;
+ 76 27185 if (termAdded) {
+ 77 18093 final String term = tokens.pop();
+ 78 18093 clearAttributes();
+ 79 18092 termAtt.append(term);
80
}
- 81 34894 return termAdded;
+ 81 27183 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 e367f8eb4..873277e1b 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
@@ -135,13 +135,13 @@
@Override
59
protected boolean isTokenChar(int c) {
- 60 1036730 return Character.isLetter(c) || Character.isDigit(c);
+ 60 518365 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 6536f562c..99d3d8c08 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
@@ -112,6 +112,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 5a6aa1a5f..a0c4274be 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
@@ -139,13 +139,13 @@
@Override
61
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
- 62 6 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
+ 62 3 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
63
- 64 6 TokenStream stream = source;
+ 64 3 TokenStream stream = source;
65
- 66 6 stream = new WordDelimiterFilter(stream,
+ 66 3 stream = new WordDelimiterFilter(stream,
67
WordDelimiterFilter.CATENATE_WORDS
68
@@ -162,17 +162,17 @@
| WordDelimiterFilter.STEM_ENGLISH_POSSESSIVE, null );
74
- 75 6 stream = new LowerCaseFilter(version, stream);
- 76 6 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
+ 75 3 stream = new LowerCaseFilter(version, stream);
+ 76 3 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
77
- 78 6 return new TokenStreamComponents(source, stream);
+ 78 3 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 519fb8155..c052fbd45 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
@@ -124,15 +124,15 @@
final CharSequence text) {
54
- 55 454 if (text == null || buf == null ) {
- 56 2 return ;
+ 55 227 if (text == null || buf == null ) {
+ 56 1 return ;
57
}
58
- 59 4666 for (int i = 0; i < text.length(); i++) {
- 60 4214 final char c = text.charAt(i);
- 61 4214 switch (c) {
+ 59 2333 for (int i = 0; i < text.length(); i++) {
+ 60 2107 final char c = text.charAt(i);
+ 61 2107 switch (c) {
62
case '+' :
63
@@ -169,17 +169,17 @@
case ':' :
79
case '\\' :
- 80 144 buf.append('\\' );
+ 80 72 buf.append('\\' );
81
default :
- 82 4214 buf.append(c);
+ 82 2107 buf.append(c);
83
break ;
84
}
85
}
- 86 452 }
+ 86 226 }
87
88
@@ -198,27 +198,27 @@
public static String escapeLuceneQuery(final CharSequence text) {
95
- 96 452 if (text == null ) {
- 97 2 return null ;
+ 96 226 if (text == null ) {
+ 97 1 return null ;
98
}
99
- 100 450 int size = text.length();
- 101 450 size = size >> 1;
- 102 450 final StringBuilder buf = new StringBuilder(size);
+ 100 225 int size = text.length();
+ 101 225 size = size >> 1;
+ 102 225 final StringBuilder buf = new StringBuilder(size);
103
- 104 450 appendEscapedLuceneQuery(buf, text);
+ 104 225 appendEscapedLuceneQuery(buf, text);
105
- 106 450 return buf.toString();
+ 106 225 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 617256693..f3d7d8091 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
@@ -145,13 +145,13 @@
@Override
64
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
- 65 8 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
+ 65 4 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
66
- 67 8 TokenStream stream = source;
+ 67 4 TokenStream stream = source;
68
- 69 8 stream = new WordDelimiterFilter(stream,
+ 69 4 stream = new WordDelimiterFilter(stream,
70
WordDelimiterFilter.GENERATE_WORD_PARTS
71
@@ -166,14 +166,14 @@
| WordDelimiterFilter.STEM_ENGLISH_POSSESSIVE, null );
76
- 77 8 stream = new LowerCaseFilter(version, stream);
- 78 8 stream = new UrlTokenizingFilter(stream);
- 79 8 concatenatingFilter = new TokenPairConcatenatingFilter(stream);
- 80 8 stream = concatenatingFilter;
- 81 8 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
+ 77 4 stream = new LowerCaseFilter(version, stream);
+ 78 4 stream = new UrlTokenizingFilter(stream);
+ 79 4 concatenatingFilter = new TokenPairConcatenatingFilter(stream);
+ 80 4 stream = concatenatingFilter;
+ 81 4 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
82
- 83 8 return new TokenStreamComponents(source, stream);
+ 83 4 return new TokenStreamComponents(source, stream);
84
}
85
@@ -194,15 +194,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 bfe4881d3..3520fd1b1 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
@@ -158,6 +158,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 bbaefdc06..19fb24602 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 12 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
+ 39 6 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
40
41
@@ -160,9 +160,9 @@
72
public TokenPairConcatenatingFilter(TokenStream stream) {
- 73 12 super (stream);
- 74 12 words = new LinkedList<String>();
- 75 12 }
+ 73 6 super (stream);
+ 74 6 words = new LinkedList<String>();
+ 75 6 }
76
77
@@ -187,35 +187,35 @@
87
- 88 3080 while (input.incrementToken()) {
- 89 878 final String word = new String(termAtt.buffer(), 0, termAtt.length());
- 90 878 words.add(word);
- 91 878 }
+ 88 1540 while (input.incrementToken()) {
+ 89 439 final String word = new String(termAtt.buffer(), 0, termAtt.length());
+ 90 439 words.add(word);
+ 91 439 }
92
93
94
- 95 2202 if (previousWord != null && words.size() > 0) {
- 96 862 final String word = words.getFirst();
- 97 862 clearAttributes();
- 98 862 termAtt.append(previousWord).append(word);
- 99 862 previousWord = null ;
- 100 862 return true ;
+ 95 1101 if (previousWord != null && words.size() > 0) {
+ 96 431 final String word = words.getFirst();
+ 97 431 clearAttributes();
+ 98 431 termAtt.append(previousWord).append(word);
+ 99 431 previousWord = null ;
+ 100 431 return true ;
101
}
102
- 103 1340 if (words.size() > 0) {
- 104 878 final String word = words.removeFirst();
- 105 878 clearAttributes();
- 106 878 termAtt.append(word);
- 107 878 previousWord = word;
- 108 878 return true ;
+ 103 670 if (words.size() > 0) {
+ 104 439 final String word = words.removeFirst();
+ 105 439 clearAttributes();
+ 106 439 termAtt.append(word);
+ 107 439 previousWord = word;
+ 108 439 return true ;
109
}
- 110 462 return false ;
+ 110 231 return false ;
111
}
112
@@ -236,13 +236,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 944378bbb..5d7bb8975 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
@@ -99,7 +99,7 @@
41
- 42 2 private static final Logger LOGGER = Logger.getLogger(UrlTokenizingFilter.class .getName());
+ 42 1 private static final Logger LOGGER = Logger.getLogger(UrlTokenizingFilter.class .getName());
43
44
@@ -136,22 +136,22 @@
@Override
60
public boolean incrementToken() throws IOException {
- 61 34967 final LinkedList<String> tokens = getTokens();
- 62 34971 final CharTermAttribute termAtt = getTermAtt();
- 63 34973 if (tokens.size() == 0 && input.incrementToken()) {
- 64 22705 final String text = new String(termAtt.buffer(), 0, termAtt.length());
- 65 22705 if (UrlStringUtils.containsUrl(text)) {
- 66 4 final String[] parts = text.split("\\s" );
- 67 8 for (String part : parts) {
- 68 4 if (UrlStringUtils.isUrl(part)) {
+ 61 27228 final LinkedList<String> tokens = getTokens();
+ 62 27255 final CharTermAttribute termAtt = getTermAtt();
+ 63 27262 if (tokens.size() == 0 && input.incrementToken()) {
+ 64 18090 final String text = new String(termAtt.buffer(), 0, termAtt.length());
+ 65 18090 if (UrlStringUtils.containsUrl(text)) {
+ 66 2 final String[] parts = text.split("\\s" );
+ 67 4 for (String part : parts) {
+ 68 2 if (UrlStringUtils.isUrl(part)) {
69
try {
- 70 4 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
- 71 4 tokens.addAll(data);
+ 70 2 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
+ 71 2 tokens.addAll(data);
72 0 } catch (MalformedURLException ex) {
73 0 LOGGER.log(Level.FINE, "error parsing " + part, ex);
74 0 tokens.add(part);
- 75 4 }
+ 75 2 }
76
} else {
77 0 tokens.add(part);
@@ -159,19 +159,19 @@
}
79
}
- 80 4 } else {
- 81 22707 tokens.add(text);
+ 80 2 } else {
+ 81 18090 tokens.add(text);
82
}
83
}
- 84 34887 return addTerm();
+ 84 27183 return addTerm();
85
}
86
}
-
+
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 161e5739c..07e417857 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
@@ -157,6 +157,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 5c22fb8ab..57e9aa52d 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
@@ -195,6 +195,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 c3c2af97d..b3f2699fd 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
@@ -158,12 +158,12 @@
73
- 74 2 public MavenArtifact(String groupId, String artifactId, String version, String url) {
- 75 2 setGroupId(groupId);
- 76 2 setArtifactId(artifactId);
- 77 2 setVersion(version);
- 78 2 setArtifactUrl(url);
- 79 2 }
+ 74 1 public MavenArtifact(String groupId, String artifactId, String version, String url) {
+ 75 1 setGroupId(groupId);
+ 76 1 setArtifactId(artifactId);
+ 77 1 setVersion(version);
+ 78 1 setArtifactUrl(url);
+ 79 1 }
80
81
@@ -335,6 +335,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 57d0ed938..317b83f37 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
@@ -125,7 +125,7 @@
54
- 55 2 private static final Logger LOGGER = Logger.getLogger(NexusSearch.class
+ 55 1 private static final Logger LOGGER = Logger.getLogger(NexusSearch.class
56
.getName());
57
@@ -142,25 +142,25 @@
63
- 64 8 public NexusSearch(URL rootURL) {
- 65 8 this .rootURL = rootURL;
+ 64 4 public NexusSearch(URL rootURL) {
+ 65 4 this .rootURL = rootURL;
66
try {
- 67 8 if (null != Settings.getString(Settings.KEYS.PROXY_SERVER)
+ 67 4 if (null != Settings.getString(Settings.KEYS.PROXY_SERVER)
68
&& Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_PROXY)) {
69 0 useProxy = true ;
70 0 LOGGER.fine("Using proxy" );
71
} else {
- 72 8 useProxy = false ;
- 73 8 LOGGER.fine("Not using proxy" );
+ 72 4 useProxy = false ;
+ 73 4 LOGGER.fine("Not using proxy" );
74
}
75 0 } catch (InvalidSettingException ise) {
76 0 useProxy = false ;
- 77 8 }
- 78 8 }
+ 77 4 }
+ 78 4 }
79
80
@@ -183,18 +183,18 @@
89
public MavenArtifact searchSha1(String sha1) throws IOException {
- 90 8 if (null == sha1 || !sha1.matches("^[0-9A-Fa-f]{40}$" )) {
- 91 4 throw new IllegalArgumentException("Invalid SHA1 format" );
+ 90 4 if (null == sha1 || !sha1.matches("^[0-9A-Fa-f]{40}$" )) {
+ 91 2 throw new IllegalArgumentException("Invalid SHA1 format" );
92
}
93
- 94 4 final URL url = new URL(rootURL, String.format("identify/sha1/%s" ,
+ 94 2 final URL url = new URL(rootURL, String.format("identify/sha1/%s" ,
95
sha1.toLowerCase()));
96
- 97 4 LOGGER.fine(String.format("Searching Nexus url %s" , url.toString()));
+ 97 2 LOGGER.fine(String.format("Searching Nexus url %s" , url.toString()));
98
99
@@ -207,55 +207,55 @@
103
- 104 4 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(url, useProxy);
+ 104 2 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(url, useProxy);
105
- 106 4 conn.setDoOutput(true );
+ 106 2 conn.setDoOutput(true );
107
108
109
- 110 4 conn.addRequestProperty("Accept" , "application/xml" );
- 111 4 conn.connect();
+ 110 2 conn.addRequestProperty("Accept" , "application/xml" );
+ 111 2 conn.connect();
112
- 113 4 if (conn.getResponseCode() == 200) {
+ 113 2 if (conn.getResponseCode() == 200) {
114
try {
- 115 2 final DocumentBuilder builder = DocumentBuilderFactory
+ 115 1 final DocumentBuilder builder = DocumentBuilderFactory
116
.newInstance().newDocumentBuilder();
- 117 2 final Document doc = builder.parse(conn.getInputStream());
- 118 2 final XPath xpath = XPathFactory.newInstance().newXPath();
- 119 2 final String groupId = xpath
+ 117 1 final Document doc = builder.parse(conn.getInputStream());
+ 118 1 final XPath xpath = XPathFactory.newInstance().newXPath();
+ 119 1 final String groupId = xpath
120
.evaluate(
121
"/org.sonatype.nexus.rest.model.NexusArtifact/groupId" ,
122
doc);
- 123 2 final String artifactId = xpath.evaluate(
+ 123 1 final String artifactId = xpath.evaluate(
124
"/org.sonatype.nexus.rest.model.NexusArtifact/artifactId" ,
125
doc);
- 126 2 final String version = xpath
+ 126 1 final String version = xpath
127
.evaluate(
128
"/org.sonatype.nexus.rest.model.NexusArtifact/version" ,
129
doc);
- 130 2 final String link = xpath
+ 130 1 final String link = xpath
131
.evaluate(
132
"/org.sonatype.nexus.rest.model.NexusArtifact/artifactLink" ,
133
doc);
- 134 2 return new MavenArtifact(groupId, artifactId, version, link);
+ 134 1 return new MavenArtifact(groupId, artifactId, version, link);
135 0 } catch (Throwable e) {
136
@@ -264,8 +264,8 @@
138 0 throw new IOException(e.getMessage(), e);
139
}
- 140 2 } else if (conn.getResponseCode() == 404) {
- 141 2 throw new FileNotFoundException("Artifact not found in Nexus" );
+ 140 1 } else if (conn.getResponseCode() == 404) {
+ 141 1 throw new FileNotFoundException("Artifact not found in Nexus" );
142
} else {
143 0 final String msg = String.format("Could not connect to Nexus received response code: %d %s" ,
@@ -293,27 +293,27 @@
public boolean preflightRequest() {
156
try {
- 157 8 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(new URL(rootURL, "status" ), useProxy);
- 158 8 conn.addRequestProperty("Accept" , "application/xml" );
- 159 8 conn.connect();
- 160 8 if (conn.getResponseCode() != 200) {
+ 157 4 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(new URL(rootURL, "status" ), useProxy);
+ 158 4 conn.addRequestProperty("Accept" , "application/xml" );
+ 159 4 conn.connect();
+ 160 4 if (conn.getResponseCode() != 200) {
161 0 LOGGER.log(Level.WARNING, "Expected 200 result from Nexus, got {0}" , conn.getResponseCode());
162 0 return false ;
163
}
- 164 8 final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- 165 8 final Document doc = builder.parse(conn.getInputStream());
- 166 8 if (!"status" .equals(doc.getDocumentElement().getNodeName())) {
+ 164 4 final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ 165 4 final Document doc = builder.parse(conn.getInputStream());
+ 166 4 if (!"status" .equals(doc.getDocumentElement().getNodeName())) {
167 0 LOGGER.log(Level.WARNING, "Expected root node name of status, got {0}" , doc.getDocumentElement().getNodeName());
168 0 return false ;
169
}
170 0 } catch (Throwable e) {
171 0 return false ;
- 172 8 }
+ 172 4 }
173
- 174 8 return true ;
+ 174 4 return true ;
175
}
176
@@ -324,6 +324,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
index bd3908378..be9618df5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html
@@ -377,6 +377,6 @@
}
-
+
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
index a09d59319..34652746d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html
@@ -153,6 +153,6 @@
}
-
+
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
index dd1f84141..f5f64ac2b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html
@@ -93,6 +93,6 @@
}
-
+
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
index c124a8f2b..9ecc54ff6 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html
@@ -99,8 +99,8 @@
41
private String getOrNull(Node n) {
- 42 6 if (n != null ) {
- 43 6 return n.getTextContent();
+ 42 3 if (n != null ) {
+ 43 3 return n.getTextContent();
44
} else {
45 0 return null ;
@@ -130,32 +130,32 @@
public NugetPackage parse(InputStream stream) throws NuspecParseException {
58
try {
- 59 6 final Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(stream);
- 60 4 final XPath xpath = XPathFactory.newInstance().newXPath();
- 61 4 final NugetPackage nuspec = new NugetPackage();
+ 59 3 final Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(stream);
+ 60 2 final XPath xpath = XPathFactory.newInstance().newXPath();
+ 61 2 final NugetPackage nuspec = new NugetPackage();
62
- 63 4 if (xpath.evaluate("/package/metadata/id" , d, XPathConstants.NODE) == null
+ 63 2 if (xpath.evaluate("/package/metadata/id" , d, XPathConstants.NODE) == null
64
|| xpath.evaluate("/package/metadata/version" , d, XPathConstants.NODE) == null
65
|| xpath.evaluate("/package/metadata/authors" , d, XPathConstants.NODE) == null
66
|| xpath.evaluate("/package/metadata/description" , d, XPathConstants.NODE) == null ) {
- 67 2 throw new NuspecParseException("Invalid Nuspec format" );
+ 67 1 throw new NuspecParseException("Invalid Nuspec format" );
68
}
69
- 70 2 nuspec.setId(xpath.evaluate("/package/metadata/id" , d));
- 71 2 nuspec.setVersion(xpath.evaluate("/package/metadata/version" , d));
- 72 2 nuspec.setAuthors(xpath.evaluate("/package/metadata/authors" , d));
- 73 2 nuspec.setOwners(getOrNull((Node) xpath.evaluate("/package/metadata/owners" , d, XPathConstants.NODE)));
- 74 2 nuspec.setLicenseUrl(getOrNull((Node) xpath.evaluate("/package/metadata/licenseUrl" , d, XPathConstants.NODE)));
- 75 2 nuspec.setTitle(getOrNull((Node) xpath.evaluate("/package/metadata/title" , d, XPathConstants.NODE)));
- 76 2 return nuspec;
- 77 4 } catch (Throwable e) {
- 78 4 throw new NuspecParseException("Unable to parse nuspec" , e);
+ 70 1 nuspec.setId(xpath.evaluate("/package/metadata/id" , d));
+ 71 1 nuspec.setVersion(xpath.evaluate("/package/metadata/version" , d));
+ 72 1 nuspec.setAuthors(xpath.evaluate("/package/metadata/authors" , d));
+ 73 1 nuspec.setOwners(getOrNull((Node) xpath.evaluate("/package/metadata/owners" , d, XPathConstants.NODE)));
+ 74 1 nuspec.setLicenseUrl(getOrNull((Node) xpath.evaluate("/package/metadata/licenseUrl" , d, XPathConstants.NODE)));
+ 75 1 nuspec.setTitle(getOrNull((Node) xpath.evaluate("/package/metadata/title" , d, XPathConstants.NODE)));
+ 76 1 return nuspec;
+ 77 2 } catch (Throwable e) {
+ 78 2 throw new NuspecParseException("Unable to parse nuspec" , e);
79
}
80
@@ -164,6 +164,6 @@
}
-
+
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 7695c96cb..67d074016 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
@@ -111,7 +111,7 @@
47
- 48 2 private static final Logger LOGGER = Logger.getLogger(ConnectionFactory.class .getName());
+ 48 1 private static final Logger LOGGER = Logger.getLogger(ConnectionFactory.class .getName());
49
50
@@ -134,28 +134,28 @@
59
- 60 2 private static Driver driver = null ;
+ 60 1 private static Driver driver = null ;
61
62
63
- 64 2 private static String connectionString = null ;
+ 64 1 private static String connectionString = null ;
65
66
67
- 68 2 private static String userName = null ;
+ 68 1 private static String userName = null ;
69
70
71
- 72 2 private static String password = null ;
+ 72 1 private static String password = null ;
73
74
@@ -186,68 +186,68 @@
public static synchronized void initialize() throws DatabaseException {
87
- 88 14 if (connectionString != null ) {
- 89 12 return ;
+ 88 7 if (connectionString != null ) {
+ 89 6 return ;
90
}
- 91 2 Connection conn = null ;
+ 91 1 Connection conn = null ;
92
try {
93
- 94 2 final String driverName = Settings.getString(Settings.KEYS.DB_DRIVER_NAME, "" );
- 95 2 if (!driverName.isEmpty()) {
- 96 2 LOGGER.log(Level.FINE, "Loading driver: {0}" , driverName);
- 97 2 final String driverPath = Settings.getString(Settings.KEYS.DB_DRIVER_PATH, "" );
+ 94 1 final String driverName = Settings.getString(Settings.KEYS.DB_DRIVER_NAME, "" );
+ 95 1 if (!driverName.isEmpty()) {
+ 96 1 LOGGER.log(Level.FINE, "Loading driver: {0}" , driverName);
+ 97 1 final String driverPath = Settings.getString(Settings.KEYS.DB_DRIVER_PATH, "" );
98
try {
- 99 2 if (!driverPath.isEmpty()) {
+ 99 1 if (!driverPath.isEmpty()) {
100 0 LOGGER.log(Level.FINE, "Loading driver from: {0}" , driverPath);
101 0 driver = DriverLoader.load(driverName, driverPath);
102
} else {
- 103 2 driver = DriverLoader.load(driverName);
+ 103 1 driver = DriverLoader.load(driverName);
104
}
105 0 } catch (DriverLoadException ex) {
106 0 LOGGER.log(Level.FINE, "Unable to load database driver" , ex);
107 0 throw new DatabaseException("Unable to load database driver" );
- 108 2 }
+ 108 1 }
109
}
- 110 2 userName = Settings.getString(Settings.KEYS.DB_USER, "dcuser" );
+ 110 1 userName = Settings.getString(Settings.KEYS.DB_USER, "dcuser" );
111
- 112 2 password = Settings.getString(Settings.KEYS.DB_PASSWORD, "DC-Pass1337!" );
+ 112 1 password = Settings.getString(Settings.KEYS.DB_PASSWORD, "DC-Pass1337!" );
113
try {
- 114 2 connectionString = getConnectionString();
+ 114 1 connectionString = getConnectionString();
115 0 } catch (IOException ex) {
116 0 LOGGER.log(Level.FINE,
117
"Unable to retrieve the database connection string" , ex);
118 0 throw new DatabaseException("Unable to retrieve the database connection string" );
- 119 2 }
- 120 2 boolean shouldCreateSchema = false ;
+ 119 1 }
+ 120 1 boolean shouldCreateSchema = false ;
121
try {
- 122 2 if (connectionString.startsWith("jdbc:h2:file:" )) {
- 123 2 shouldCreateSchema = !dbSchemaExists();
- 124 2 LOGGER.log(Level.FINE, "Need to create DB Structure: {0}" , shouldCreateSchema);
+ 122 1 if (connectionString.startsWith("jdbc:h2:file:" )) {
+ 123 1 shouldCreateSchema = !dbSchemaExists();
+ 124 1 LOGGER.log(Level.FINE, "Need to create DB Structure: {0}" , shouldCreateSchema);
125
}
126 0 } catch (IOException ioex) {
127 0 LOGGER.log(Level.FINE, "Unable to verify database exists" , ioex);
128 0 throw new DatabaseException("Unable to verify database exists" );
- 129 2 }
- 130 2 LOGGER.log(Level.FINE, "Loading database connection" );
- 131 2 LOGGER.log(Level.FINE, "Connection String: {0}" , connectionString);
- 132 2 LOGGER.log(Level.FINE, "Database User: {0}" , userName);
+ 129 1 }
+ 130 1 LOGGER.log(Level.FINE, "Loading database connection" );
+ 131 1 LOGGER.log(Level.FINE, "Connection String: {0}" , connectionString);
+ 132 1 LOGGER.log(Level.FINE, "Database User: {0}" , userName);
133
134
try {
- 135 2 conn = DriverManager.getConnection(connectionString, userName, password);
+ 135 1 conn = DriverManager.getConnection(connectionString, userName, password);
136 0 } catch (SQLException ex) {
137 0 if (ex.getMessage().contains("java.net.UnknownHostException" ) && connectionString.contains("AUTO_SERVER=TRUE;" )) {
138 0 connectionString = connectionString.replace("AUTO_SERVER=TRUE;" , "" );
@@ -268,10 +268,10 @@
150 0 throw new DatabaseException("Unable to connect to the database" );
151
}
- 152 2 }
+ 152 1 }
153
- 154 2 if (shouldCreateSchema) {
+ 154 1 if (shouldCreateSchema) {
155
try {
156 0 createTables(conn);
@@ -283,27 +283,27 @@
} else {
162
try {
- 163 2 ensureSchemaVersion(conn);
+ 163 1 ensureSchemaVersion(conn);
164 0 } catch (DatabaseException dex) {
165 0 LOGGER.log(Level.FINE, null , dex);
166 0 throw new DatabaseException("Database schema does not match this version of dependency-check" );
- 167 2 }
+ 167 1 }
168
}
169
} finally {
- 170 2 if (conn != null ) {
+ 170 1 if (conn != null ) {
171
try {
- 172 2 conn.close();
+ 172 1 conn.close();
173 0 } catch (SQLException ex) {
174 0 LOGGER.log(Level.FINE, "An error occurred closing the connection" , ex);
- 175 2 }
+ 175 1 }
176
}
177
}
- 178 2 }
+ 178 1 }
179
180
@@ -352,16 +352,16 @@
208
public static Connection getConnection() throws DatabaseException {
- 209 12 initialize();
- 210 12 Connection conn = null ;
+ 209 6 initialize();
+ 210 6 Connection conn = null ;
211
try {
- 212 12 conn = DriverManager.getConnection(connectionString, userName, password);
+ 212 6 conn = DriverManager.getConnection(connectionString, userName, password);
213 0 } catch (SQLException ex) {
214 0 LOGGER.log(Level.FINE, null , ex);
215 0 throw new DatabaseException("Unable to connect to the database" );
- 216 12 }
- 217 12 return conn;
+ 216 6 }
+ 217 6 return conn;
218
}
219
@@ -382,12 +382,12 @@
227
private static String getConnectionString() throws IOException {
- 228 2 final String connStr = Settings.getString(Settings.KEYS.DB_CONNECTION_STRING, "jdbc:h2:file:%s;AUTO_SERVER=TRUE" );
- 229 2 if (connStr.contains("%s" )) {
- 230 2 final String directory = getDataDirectory().getCanonicalPath();
- 231 2 final File dataFile = new File(directory, "cve." + DB_SCHEMA_VERSION);
- 232 2 LOGGER.log(Level.FINE, String.format("File path for H2 file: '%s'" , dataFile.toString()));
- 233 2 return String.format(connStr, dataFile.getAbsolutePath());
+ 228 1 final String connStr = Settings.getString(Settings.KEYS.DB_CONNECTION_STRING, "jdbc:h2:file:%s;AUTO_SERVER=TRUE" );
+ 229 1 if (connStr.contains("%s" )) {
+ 230 1 final String directory = getDataDirectory().getCanonicalPath();
+ 231 1 final File dataFile = new File(directory, "cve." + DB_SCHEMA_VERSION);
+ 232 1 LOGGER.log(Level.FINE, String.format("File path for H2 file: '%s'" , dataFile.toString()));
+ 233 1 return String.format(connStr, dataFile.getAbsolutePath());
234
}
235 0 return connStr;
@@ -411,15 +411,15 @@
245
public static File getDataDirectory() throws IOException {
- 246 4 final File path = Settings.getDataFile(Settings.KEYS.DATA_DIRECTORY);
- 247 4 if (!path.exists()) {
+ 246 2 final File path = Settings.getDataFile(Settings.KEYS.DATA_DIRECTORY);
+ 247 2 if (!path.exists()) {
248 0 if (!path.mkdirs()) {
249 0 throw new IOException("Unable to create NVD CVE Data directory" );
250
}
251
}
- 252 4 return path;
+ 252 2 return path;
253
}
254
@@ -438,10 +438,10 @@
261
private static boolean dbSchemaExists() throws IOException {
- 262 2 final File dir = getDataDirectory();
- 263 2 final String name = String.format("cve.%s.h2.db" , DB_SCHEMA_VERSION);
- 264 2 final File file = new File(dir, name);
- 265 2 return file.exists();
+ 262 1 final File dir = getDataDirectory();
+ 263 1 final String name = String.format("cve.%s.h2.db" , DB_SCHEMA_VERSION);
+ 264 1 final File file = new File(dir, name);
+ 265 1 return file.exists();
266
}
267
@@ -522,19 +522,19 @@
317
private static void ensureSchemaVersion(Connection conn) throws DatabaseException {
- 318 2 ResultSet rs = null ;
- 319 2 CallableStatement cs = null ;
+ 318 1 ResultSet rs = null ;
+ 319 1 CallableStatement cs = null ;
320
try {
- 321 2 cs = conn.prepareCall("SELECT value FROM properties WHERE id = 'version'" );
- 322 2 rs = cs.executeQuery();
- 323 2 if (rs.next()) {
- 324 2 final boolean isWrongSchema = !DB_SCHEMA_VERSION.equals(rs.getString(1));
- 325 2 if (isWrongSchema) {
+ 321 1 cs = conn.prepareCall("SELECT value FROM properties WHERE id = 'version'" );
+ 322 1 rs = cs.executeQuery();
+ 323 1 if (rs.next()) {
+ 324 1 final boolean isWrongSchema = !DB_SCHEMA_VERSION.equals(rs.getString(1));
+ 325 1 if (isWrongSchema) {
326 0 throw new DatabaseException("Incorrect database schema; unable to continue" );
327
}
- 328 2 } else {
+ 328 1 } else {
329 0 throw new DatabaseException("Database schema is missing" );
330
}
@@ -543,14 +543,14 @@
333 0 throw new DatabaseException("Unable to check the database schema version" );
334
} finally {
- 335 2 DBUtils.closeResultSet(rs);
- 336 2 DBUtils.closeStatement(cs);
- 337 2 }
- 338 2 }
+ 335 1 DBUtils.closeResultSet(rs);
+ 336 1 DBUtils.closeStatement(cs);
+ 337 1 }
+ 338 1 }
339
}
-
+
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 8e491b1f2..3ed6aa1e5 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
@@ -121,6 +121,6 @@
}
-
+
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 5ac2754e3..fcf61df0f 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
@@ -137,6 +137,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 289c86729..30802f620 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
@@ -99,7 +99,7 @@
41
- 42 2 private static final Logger LOGGER = Logger.getLogger(DatabaseProperties.class .getName());
+ 42 1 private static final Logger LOGGER = Logger.getLogger(DatabaseProperties.class .getName());
43
44
@@ -158,10 +158,10 @@
71
- 72 6 DatabaseProperties(CveDB cveDB) {
- 73 6 this .cveDB = cveDB;
- 74 6 loadProperties();
- 75 6 }
+ 72 3 DatabaseProperties(CveDB cveDB) {
+ 73 3 this .cveDB = cveDB;
+ 74 3 loadProperties();
+ 75 3 }
76
77
@@ -172,8 +172,8 @@
80
private void loadProperties() {
- 81 6 this .properties = cveDB.getProperties();
- 82 6 }
+ 81 3 this .properties = cveDB.getProperties();
+ 82 3 }
83
84
@@ -323,6 +323,6 @@
}
-
+
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 363170ece..cc432acbc 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
@@ -137,6 +137,6 @@
}
-
+
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 db6621742..78f75ae60 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
@@ -102,7 +102,7 @@
42
- 43 2 private static final Logger LOGGER = Logger.getLogger(DriverLoader.class .getName());
+ 43 1 private static final Logger LOGGER = Logger.getLogger(DriverLoader.class .getName());
44
45
@@ -133,8 +133,8 @@
58
public static Driver load(String className) throws DriverLoadException {
- 59 6 final ClassLoader loader = DriverLoader.class .getClassLoader();
- 60 6 return load(className, loader);
+ 59 3 final ClassLoader loader = DriverLoader.class .getClassLoader();
+ 60 3 return load(className, loader);
61
}
62
@@ -167,56 +167,56 @@
76
public static Driver load(String className, String pathToDriver) throws DriverLoadException {
- 77 8 final URLClassLoader parent = (URLClassLoader) ClassLoader.getSystemClassLoader();
- 78 8 final ArrayList<URL> urls = new ArrayList<URL>();
- 79 8 final String[] paths = pathToDriver.split(File.pathSeparator);
- 80 18 for (String path : paths) {
- 81 10 final File file = new File(path);
- 82 10 if (file.isDirectory()) {
- 83 4 final File[] files = file.listFiles();
+ 77 4 final URLClassLoader parent = (URLClassLoader) ClassLoader.getSystemClassLoader();
+ 78 4 final ArrayList<URL> urls = new ArrayList<URL>();
+ 79 4 final String[] paths = pathToDriver.split(File.pathSeparator);
+ 80 9 for (String path : paths) {
+ 81 5 final File file = new File(path);
+ 82 5 if (file.isDirectory()) {
+ 83 2 final File[] files = file.listFiles();
84
- 85 68 for (File f : files) {
+ 85 34 for (File f : files) {
86
try {
- 87 64 urls.add(f.toURI().toURL());
+ 87 32 urls.add(f.toURI().toURL());
88 0 } catch (MalformedURLException ex) {
89 0 final String msg = String.format("Unable to load database driver '%s'; invalid path provided '%s'" ,
90
className, f.getAbsoluteFile());
91 0 LOGGER.log(Level.FINE, msg, ex);
92 0 throw new DriverLoadException(msg, ex);
- 93 64 }
+ 93 32 }
94
}
- 95 4 } else if (file.exists()) {
+ 95 2 } else if (file.exists()) {
96
try {
- 97 4 urls.add(file.toURI().toURL());
+ 97 2 urls.add(file.toURI().toURL());
98 0 } catch (MalformedURLException ex) {
99 0 final String msg = String.format("Unable to load database driver '%s'; invalid path provided '%s'" ,
100
className, file.getAbsoluteFile());
101 0 LOGGER.log(Level.FINE, msg, ex);
102 0 throw new DriverLoadException(msg, ex);
- 103 4 }
+ 103 2 }
104
}
105
}
- 106 8 final URLClassLoader loader = AccessController.doPrivileged(new PrivilegedAction<URLClassLoader>() {
+ 106 4 final URLClassLoader loader = AccessController.doPrivileged(new PrivilegedAction<URLClassLoader>() {
107
@Override
108
public URLClassLoader run() {
- 109 8 return new URLClassLoader(urls.toArray(new URL[urls.size()]), parent);
+ 109 4 return new URLClassLoader(urls.toArray(new URL[urls.size()]), parent);
110
}
111
});
112
- 113 8 return load(className, loader);
+ 113 4 return load(className, loader);
114
}
115
@@ -241,19 +241,19 @@
private static Driver load(String className, ClassLoader loader) throws DriverLoadException {
125
try {
- 126 14 final Class c = Class.forName(className, true , loader);
+ 126 7 final Class c = Class.forName(className, true , loader);
127
- 128 8 final Driver driver = (Driver) c.newInstance();
- 129 8 final Driver shim = new DriverShim(driver);
+ 128 4 final Driver driver = (Driver) c.newInstance();
+ 129 4 final Driver shim = new DriverShim(driver);
130
- 131 8 DriverManager.registerDriver(shim);
- 132 8 return shim;
- 133 6 } catch (ClassNotFoundException ex) {
- 134 6 final String msg = String.format("Unable to load database driver '%s'" , className);
- 135 6 LOGGER.log(Level.FINE, msg, ex);
- 136 6 throw new DriverLoadException(msg, ex);
+ 131 4 DriverManager.registerDriver(shim);
+ 132 4 return shim;
+ 133 3 } catch (ClassNotFoundException ex) {
+ 134 3 final String msg = String.format("Unable to load database driver '%s'" , className);
+ 135 3 LOGGER.log(Level.FINE, msg, ex);
+ 136 3 throw new DriverLoadException(msg, ex);
137 0 } catch (InstantiationException ex) {
138 0 final String msg = String.format("Unable to load database driver '%s'" , className);
139 0 LOGGER.log(Level.FINE, msg, ex);
@@ -274,6 +274,6 @@
}
-
+
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 f296748c6..6a1ce2de6 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
@@ -105,7 +105,7 @@
44
- 45 2 private static final Logger LOGGER = Logger.getLogger(DriverShim.class .getName());
+ 45 1 private static final Logger LOGGER = Logger.getLogger(DriverShim.class .getName());
46
47
@@ -156,7 +156,7 @@
@Override
70
public boolean acceptsURL(String url) throws SQLException {
- 71 4 return this .driver.acceptsURL(url);
+ 71 2 return this .driver.acceptsURL(url);
72
}
73
@@ -388,13 +388,13 @@
@Override
201
public String toString() {
- 202 14 return "DriverShim{" + "driver=" + driver + '}' ;
+ 202 7 return "DriverShim{" + "driver=" + driver + '}' ;
203
}
204
}
-
+
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 af22cf90a..25458f65d 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 abf56f4d7..f8eb093ba 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
@@ -293,6 +293,6 @@
}
-
+
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 e68e3dafb..71f3f7c4a 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
@@ -129,6 +129,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 c61b6be10..93494af1c 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
@@ -546,6 +546,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 126c29d5a..61b931d95 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
@@ -121,6 +121,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 6579347e2..3fbdfe0be 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
@@ -127,13 +127,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
@@ -160,8 +160,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
@@ -188,14 +188,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
@@ -206,8 +206,8 @@
103
public void clear() {
- 104 2 collection.clear();
- 105 2 }
+ 104 1 collection.clear();
+ 105 1 }
106
107
@@ -233,7 +233,7 @@
118
- 119 10 private Iterator<Entry<String, NvdCveInfo>> iterableContent = null ;
+ 119 5 private Iterator<Entry<String, NvdCveInfo>> iterableContent = null ;
120
121
@@ -256,8 +256,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
@@ -282,7 +282,7 @@
@Override
144
public boolean hasNext() {
- 145 20 return iterableContent.hasNext();
+ 145 10 return iterableContent.hasNext();
146
}
147
@@ -307,7 +307,7 @@
@Override
157
public NvdCveInfo next() {
- 158 14 return iterableContent.next().getValue();
+ 158 7 return iterableContent.next().getValue();
159
}
160
@@ -328,8 +328,8 @@
@Override
168
public void remove() {
- 169 2 iterableContent.remove();
- 170 2 }
+ 169 1 iterableContent.remove();
+ 170 1 }
171
172
@@ -346,7 +346,7 @@
178
NvdCveInfo get(String key) {
- 179 4 return collection.get(key);
+ 179 2 return collection.get(key);
180
}
181
@@ -362,6 +362,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 f28fb3d0a..2ccb0beb7 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
@@ -119,6 +119,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 45e19ec3c..fcfb38f3e 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
@@ -155,6 +155,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.DownloadTask.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.DownloadTask.html
index c84c973fd..541aef0c5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.DownloadTask.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.task.DownloadTask.html
@@ -439,6 +439,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 2bc346792..c9670898e 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
@@ -343,6 +343,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 d8cfe69f2..5629e64bd 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
@@ -186,33 +186,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
@@ -221,48 +221,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
@@ -273,7 +273,7 @@
151
- 152 2 protected static class Element {
+ 152 1 protected static class Element {
153
154
@@ -374,7 +374,7 @@
202
public boolean isNVDNode() {
- 203 764 return NVD.equals(node);
+ 203 382 return NVD.equals(node);
204
}
205
@@ -391,7 +391,7 @@
211
public boolean isEntryNode() {
- 212 4888 return ENTRY.equals(node);
+ 212 2444 return ENTRY.equals(node);
213
}
214
@@ -425,7 +425,7 @@
229
public boolean isProdNode() {
- 230 2384 return PROD.equals(node);
+ 230 1192 return PROD.equals(node);
231
}
232
@@ -442,7 +442,7 @@
238
public boolean isVersNode() {
- 239 2280 return VERS.equals(node);
+ 239 1140 return VERS.equals(node);
240
}
241
@@ -453,6 +453,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 e95c05a04..4dd8692f1 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
@@ -107,7 +107,7 @@
45
- 46 2 private static final Logger LOGGER = Logger.getLogger(NvdCve20Handler.class .getName());
+ 46 1 private static final Logger LOGGER = Logger.getLogger(NvdCve20Handler.class .getName());
47
48
@@ -122,7 +122,7 @@
53
- 54 2 private final Element current = new Element();
+ 54 1 private final Element current = new Element();
55
56
@@ -153,7 +153,7 @@
69
- 70 2 private boolean hasApplicationCpe = false ;
+ 70 1 private boolean hasApplicationCpe = false ;
71
72
@@ -212,144 +212,144 @@
@Override
99
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- 100 4824 current.setNode(qName);
- 101 4824 if (current.isEntryNode()) {
- 102 54 hasApplicationCpe = false ;
- 103 54 vulnerability = new Vulnerability();
- 104 54 vulnerability.setName(attributes.getValue("id" ));
- 105 4770 } else if (current.isVulnProductNode()) {
- 106 1454 nodeText = new StringBuilder(100);
- 107 3316 } else if (current.isVulnReferencesNode()) {
- 108 180 final String lang = attributes.getValue("xml:lang" );
- 109 180 if ("en" .equals(lang)) {
- 110 180 reference = new Reference();
+ 100 2412 current.setNode(qName);
+ 101 2412 if (current.isEntryNode()) {
+ 102 27 hasApplicationCpe = false ;
+ 103 27 vulnerability = new Vulnerability();
+ 104 27 vulnerability.setName(attributes.getValue("id" ));
+ 105 2385 } else if (current.isVulnProductNode()) {
+ 106 727 nodeText = new StringBuilder(100);
+ 107 1658 } else if (current.isVulnReferencesNode()) {
+ 108 90 final String lang = attributes.getValue("xml:lang" );
+ 109 90 if ("en" .equals(lang)) {
+ 110 90 reference = new Reference();
111
} else {
112 0 reference = null ;
113
}
- 114 180 } else if (reference != null && current.isVulnReferenceNode()) {
- 115 180 reference.setUrl(attributes.getValue("href" ));
- 116 180 nodeText = new StringBuilder(130);
- 117 2956 } else if (reference != null && current.isVulnSourceNode()) {
- 118 180 nodeText = new StringBuilder(30);
- 119 2776 } else if (current.isVulnSummaryNode()) {
- 120 54 nodeText = new StringBuilder(500);
- 121 2722 } else if (current.isNVDNode()) {
- 122 2 final String nvdVer = attributes.getValue("nvd_xml_version" );
- 123 2 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
+ 114 90 } else if (reference != null && current.isVulnReferenceNode()) {
+ 115 90 reference.setUrl(attributes.getValue("href" ));
+ 116 90 nodeText = new StringBuilder(130);
+ 117 1478 } else if (reference != null && current.isVulnSourceNode()) {
+ 118 90 nodeText = new StringBuilder(30);
+ 119 1388 } else if (current.isVulnSummaryNode()) {
+ 120 27 nodeText = new StringBuilder(500);
+ 121 1361 } else if (current.isNVDNode()) {
+ 122 1 final String nvdVer = attributes.getValue("nvd_xml_version" );
+ 123 1 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
124 0 throw new SAXNotSupportedException("Schema version " + nvdVer + " is not supported" );
125
}
- 126 2 } else if (current.isVulnCWENode()) {
- 127 38 vulnerability.setCwe(attributes.getValue("id" ));
- 128 2682 } else if (current.isCVSSScoreNode()) {
- 129 52 nodeText = new StringBuilder(5);
- 130 2630 } else if (current.isCVSSAccessVectorNode()) {
- 131 52 nodeText = new StringBuilder(20);
- 132 2578 } else if (current.isCVSSAccessComplexityNode()) {
- 133 52 nodeText = new StringBuilder(20);
- 134 2526 } else if (current.isCVSSAuthenticationNode()) {
- 135 52 nodeText = new StringBuilder(20);
- 136 2474 } else if (current.isCVSSAvailabilityImpactNode()) {
- 137 52 nodeText = new StringBuilder(20);
- 138 2422 } else if (current.isCVSSConfidentialityImpactNode()) {
- 139 52 nodeText = new StringBuilder(20);
- 140 2370 } else if (current.isCVSSIntegrityImpactNode()) {
- 141 52 nodeText = new StringBuilder(20);
+ 126 1 } else if (current.isVulnCWENode()) {
+ 127 19 vulnerability.setCwe(attributes.getValue("id" ));
+ 128 1341 } else if (current.isCVSSScoreNode()) {
+ 129 26 nodeText = new StringBuilder(5);
+ 130 1315 } else if (current.isCVSSAccessVectorNode()) {
+ 131 26 nodeText = new StringBuilder(20);
+ 132 1289 } else if (current.isCVSSAccessComplexityNode()) {
+ 133 26 nodeText = new StringBuilder(20);
+ 134 1263 } else if (current.isCVSSAuthenticationNode()) {
+ 135 26 nodeText = new StringBuilder(20);
+ 136 1237 } else if (current.isCVSSAvailabilityImpactNode()) {
+ 137 26 nodeText = new StringBuilder(20);
+ 138 1211 } else if (current.isCVSSConfidentialityImpactNode()) {
+ 139 26 nodeText = new StringBuilder(20);
+ 140 1185 } else if (current.isCVSSIntegrityImpactNode()) {
+ 141 26 nodeText = new StringBuilder(20);
142
}
- 143 4824 }
+ 143 2412 }
144
145
@Override
146
public void characters(char [] ch, int start, int length) throws SAXException {
- 147 7974 if (nodeText != null ) {
- 148 2284 nodeText.append(ch, start, length);
+ 147 3987 if (nodeText != null ) {
+ 148 1142 nodeText.append(ch, start, length);
149
}
- 150 7974 }
+ 150 3987 }
151
152
@Override
153
public void endElement(String uri, String localName, String qName) throws SAXException {
- 154 4824 current.setNode(qName);
- 155 4824 if (current.isEntryNode()) {
- 156 54 totalNumberOfEntries += 1;
- 157 54 if (hasApplicationCpe) {
- 158 38 totalNumberOfApplicationEntries += 1;
+ 154 2412 current.setNode(qName);
+ 155 2412 if (current.isEntryNode()) {
+ 156 27 totalNumberOfEntries += 1;
+ 157 27 if (hasApplicationCpe) {
+ 158 19 totalNumberOfApplicationEntries += 1;
159
try {
- 160 38 saveEntry(vulnerability);
+ 160 19 saveEntry(vulnerability);
161 0 } catch (DatabaseException ex) {
162 0 throw new SAXException(ex);
163 0 } catch (CorruptIndexException ex) {
164 0 throw new SAXException(ex);
165 0 } catch (IOException ex) {
166 0 throw new SAXException(ex);
- 167 38 }
+ 167 19 }
168
}
- 169 54 vulnerability = null ;
- 170 4770 } else if (current.isCVSSScoreNode()) {
+ 169 27 vulnerability = null ;
+ 170 2385 } else if (current.isCVSSScoreNode()) {
171
try {
- 172 52 final float score = Float.parseFloat(nodeText.toString());
- 173 52 vulnerability.setCvssScore(score);
+ 172 26 final float score = Float.parseFloat(nodeText.toString());
+ 173 26 vulnerability.setCvssScore(score);
174 0 } catch (NumberFormatException ex) {
175 0 LOGGER.log(Level.SEVERE, "Error parsing CVSS Score." );
176 0 LOGGER.log(Level.FINE, null , ex);
- 177 52 }
- 178 52 nodeText = null ;
- 179 4718 } else if (current.isCVSSAccessVectorNode()) {
- 180 52 vulnerability.setCvssAccessVector(nodeText.toString());
- 181 52 nodeText = null ;
- 182 4666 } else if (current.isCVSSAccessComplexityNode()) {
- 183 52 vulnerability.setCvssAccessComplexity(nodeText.toString());
- 184 52 nodeText = null ;
- 185 4614 } else if (current.isCVSSAuthenticationNode()) {
- 186 52 vulnerability.setCvssAuthentication(nodeText.toString());
- 187 52 nodeText = null ;
- 188 4562 } else if (current.isCVSSAvailabilityImpactNode()) {
- 189 52 vulnerability.setCvssAvailabilityImpact(nodeText.toString());
- 190 52 nodeText = null ;
- 191 4510 } else if (current.isCVSSConfidentialityImpactNode()) {
- 192 52 vulnerability.setCvssConfidentialityImpact(nodeText.toString());
- 193 52 nodeText = null ;
- 194 4458 } else if (current.isCVSSIntegrityImpactNode()) {
- 195 52 vulnerability.setCvssIntegrityImpact(nodeText.toString());
- 196 52 nodeText = null ;
- 197 4406 } else if (current.isVulnProductNode()) {
- 198 1454 final String cpe = nodeText.toString();
- 199 1454 if (cpe.startsWith("cpe:/a:" )) {
- 200 1228 hasApplicationCpe = true ;
- 201 1228 vulnerability.addVulnerableSoftware(cpe);
+ 177 26 }
+ 178 26 nodeText = null ;
+ 179 2359 } else if (current.isCVSSAccessVectorNode()) {
+ 180 26 vulnerability.setCvssAccessVector(nodeText.toString());
+ 181 26 nodeText = null ;
+ 182 2333 } else if (current.isCVSSAccessComplexityNode()) {
+ 183 26 vulnerability.setCvssAccessComplexity(nodeText.toString());
+ 184 26 nodeText = null ;
+ 185 2307 } else if (current.isCVSSAuthenticationNode()) {
+ 186 26 vulnerability.setCvssAuthentication(nodeText.toString());
+ 187 26 nodeText = null ;
+ 188 2281 } else if (current.isCVSSAvailabilityImpactNode()) {
+ 189 26 vulnerability.setCvssAvailabilityImpact(nodeText.toString());
+ 190 26 nodeText = null ;
+ 191 2255 } else if (current.isCVSSConfidentialityImpactNode()) {
+ 192 26 vulnerability.setCvssConfidentialityImpact(nodeText.toString());
+ 193 26 nodeText = null ;
+ 194 2229 } else if (current.isCVSSIntegrityImpactNode()) {
+ 195 26 vulnerability.setCvssIntegrityImpact(nodeText.toString());
+ 196 26 nodeText = null ;
+ 197 2203 } else if (current.isVulnProductNode()) {
+ 198 727 final String cpe = nodeText.toString();
+ 199 727 if (cpe.startsWith("cpe:/a:" )) {
+ 200 614 hasApplicationCpe = true ;
+ 201 614 vulnerability.addVulnerableSoftware(cpe);
202
}
- 203 1454 nodeText = null ;
- 204 1454 } else if (reference != null && current.isVulnReferencesNode()) {
- 205 180 vulnerability.addReference(reference);
- 206 180 reference = null ;
- 207 2772 } else if (reference != null && current.isVulnReferenceNode()) {
- 208 180 reference.setName(nodeText.toString());
- 209 180 nodeText = null ;
- 210 2592 } else if (reference != null && current.isVulnSourceNode()) {
- 211 180 reference.setSource(nodeText.toString());
- 212 180 nodeText = null ;
- 213 2412 } else if (current.isVulnSummaryNode()) {
- 214 54 vulnerability.setDescription(nodeText.toString());
- 215 54 if (nodeText.indexOf("** REJECT **" ) >= 0) {
- 216 2 hasApplicationCpe = true ;
+ 203 727 nodeText = null ;
+ 204 727 } else if (reference != null && current.isVulnReferencesNode()) {
+ 205 90 vulnerability.addReference(reference);
+ 206 90 reference = null ;
+ 207 1386 } else if (reference != null && current.isVulnReferenceNode()) {
+ 208 90 reference.setName(nodeText.toString());
+ 209 90 nodeText = null ;
+ 210 1296 } else if (reference != null && current.isVulnSourceNode()) {
+ 211 90 reference.setSource(nodeText.toString());
+ 212 90 nodeText = null ;
+ 213 1206 } else if (current.isVulnSummaryNode()) {
+ 214 27 vulnerability.setDescription(nodeText.toString());
+ 215 27 if (nodeText.indexOf("** REJECT **" ) >= 0) {
+ 216 1 hasApplicationCpe = true ;
217
}
- 218 54 nodeText = null ;
+ 218 27 nodeText = null ;
219
}
- 220 4824 }
+ 220 2412 }
221
222
@@ -422,8 +422,8 @@
256
private void saveEntry(Vulnerability vuln) throws DatabaseException, CorruptIndexException, IOException {
- 257 38 if (cveDB == null ) {
- 258 38 return ;
+ 257 19 if (cveDB == null ) {
+ 258 19 return ;
259
}
260 0 final String cveName = vuln.getName();
@@ -446,7 +446,7 @@
273
- 274 2 protected static class Element {
+ 274 1 protected static class Element {
275
276
@@ -627,7 +627,7 @@
364
public boolean isNVDNode() {
- 365 2722 return NVD.equals(node);
+ 365 1361 return NVD.equals(node);
366
}
367
@@ -644,7 +644,7 @@
373
public boolean isEntryNode() {
- 374 9648 return ENTRY.equals(node);
+ 374 4824 return ENTRY.equals(node);
375
}
376
@@ -661,7 +661,7 @@
382
public boolean isVulnProductNode() {
- 383 9176 return VULN_PRODUCT.equals(node);
+ 383 4588 return VULN_PRODUCT.equals(node);
384
}
385
@@ -678,7 +678,7 @@
391
public boolean isVulnReferencesNode() {
- 392 3856 return VULN_REFERENCES.equals(node);
+ 392 1928 return VULN_REFERENCES.equals(node);
393
}
394
@@ -695,7 +695,7 @@
400
public boolean isVulnReferenceNode() {
- 401 720 return VULN_REFERENCE.equals(node);
+ 401 360 return VULN_REFERENCE.equals(node);
402
}
403
@@ -712,7 +712,7 @@
409
public boolean isVulnSourceNode() {
- 410 360 return VULN_SOURCE.equals(node);
+ 410 180 return VULN_SOURCE.equals(node);
411
}
412
@@ -729,7 +729,7 @@
418
public boolean isVulnSummaryNode() {
- 419 5188 return VULN_SUMMARY.equals(node);
+ 419 2594 return VULN_SUMMARY.equals(node);
420
}
421
@@ -746,7 +746,7 @@
427
public boolean isVulnCWENode() {
- 428 2720 return VULN_CWE.equals(node);
+ 428 1360 return VULN_CWE.equals(node);
429
}
430
@@ -763,7 +763,7 @@
436
public boolean isCVSSScoreNode() {
- 437 7452 return CVSS_SCORE.equals(node);
+ 437 3726 return CVSS_SCORE.equals(node);
438
}
439
@@ -780,7 +780,7 @@
445
public boolean isCVSSAccessVectorNode() {
- 446 7348 return CVSS_ACCESS_VECTOR.equals(node);
+ 446 3674 return CVSS_ACCESS_VECTOR.equals(node);
447
}
448
@@ -797,7 +797,7 @@
454
public boolean isCVSSAccessComplexityNode() {
- 455 7244 return CVSS_ACCESS_COMPLEXITY.equals(node);
+ 455 3622 return CVSS_ACCESS_COMPLEXITY.equals(node);
456
}
457
@@ -814,7 +814,7 @@
463
public boolean isCVSSAuthenticationNode() {
- 464 7140 return CVSS_AUTHENTICATION.equals(node);
+ 464 3570 return CVSS_AUTHENTICATION.equals(node);
465
}
466
@@ -831,7 +831,7 @@
472
public boolean isCVSSConfidentialityImpactNode() {
- 473 6932 return CVSS_CONFIDENTIALITY_IMPACT.equals(node);
+ 473 3466 return CVSS_CONFIDENTIALITY_IMPACT.equals(node);
474
}
475
@@ -848,7 +848,7 @@
481
public boolean isCVSSIntegrityImpactNode() {
- 482 6828 return CVSS_INTEGRITY_IMPACT.equals(node);
+ 482 3414 return CVSS_INTEGRITY_IMPACT.equals(node);
483
}
484
@@ -865,7 +865,7 @@
490
public boolean isCVSSAvailabilityImpactNode() {
- 491 7036 return CVSS_AVAILABILITY_IMPACT.equals(node);
+ 491 3518 return CVSS_AVAILABILITY_IMPACT.equals(node);
492
}
493
@@ -876,6 +876,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 340a917bd..0ae78efee 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 10 public enum Confidence {
+ 25 5 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 56b44384e..7a50abfa5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html
@@ -91,7 +91,7 @@
37
- 38 4 public class Dependency implements Comparable<Dependency> {
+ 38 2 public class Dependency implements Comparable<Dependency> {
39
40
@@ -100,7 +100,7 @@
42
- 43 2 private static final Logger LOGGER = Logger.getLogger(Dependency.class .getName());
+ 43 1 private static final Logger LOGGER = Logger.getLogger(Dependency.class .getName());
44
45
@@ -189,15 +189,15 @@
87
- 88 76 public Dependency() {
- 89 76 vendorEvidence = new EvidenceCollection();
- 90 76 productEvidence = new EvidenceCollection();
- 91 76 versionEvidence = new EvidenceCollection();
- 92 76 identifiers = new TreeSet<Identifier>();
- 93 76 vulnerabilities = new TreeSet<Vulnerability>(new VulnerabilityComparator());
- 94 76 suppressedIdentifiers = new TreeSet<Identifier>();
- 95 76 suppressedVulnerabilities = new TreeSet<Vulnerability>(new VulnerabilityComparator());
- 96 76 }
+ 88 38 public Dependency() {
+ 89 38 vendorEvidence = new EvidenceCollection();
+ 90 38 productEvidence = new EvidenceCollection();
+ 91 38 versionEvidence = new EvidenceCollection();
+ 92 38 identifiers = new TreeSet<Identifier>();
+ 93 38 vulnerabilities = new TreeSet<Vulnerability>(new VulnerabilityComparator());
+ 94 38 suppressedIdentifiers = new TreeSet<Identifier>();
+ 95 38 suppressedVulnerabilities = new TreeSet<Vulnerability>(new VulnerabilityComparator());
+ 96 38 }
97
98
@@ -212,13 +212,13 @@
103
public Dependency(File file) {
- 104 34 this ();
- 105 34 this .actualFilePath = file.getPath();
- 106 34 this .filePath = this .actualFilePath;
- 107 34 this .fileName = file.getName();
- 108 34 this .fileExtension = FileUtils.getFileExtension(fileName);
- 109 34 determineHashes(file);
- 110 34 }
+ 104 17 this ();
+ 105 17 this .actualFilePath = file.getPath();
+ 106 17 this .filePath = this .actualFilePath;
+ 107 17 this .fileName = file.getName();
+ 108 17 this .fileExtension = FileUtils.getFileExtension(fileName);
+ 109 17 determineHashes(file);
+ 110 17 }
111
112
@@ -288,13 +288,13 @@
145
public void setActualFilePath(String actualFilePath) {
- 146 4 this .actualFilePath = actualFilePath;
- 147 4 if (this .sha1sum == null ) {
- 148 4 final File file = new File(this .actualFilePath);
- 149 4 determineHashes(file);
+ 146 2 this .actualFilePath = actualFilePath;
+ 147 2 if (this .sha1sum == null ) {
+ 148 2 final File file = new File(this .actualFilePath);
+ 149 2 determineHashes(file);
150
}
- 151 4 }
+ 151 2 }
152
153
@@ -327,7 +327,7 @@
167
public File getActualFile() {
- 168 4 return new File(this .actualFilePath);
+ 168 2 return new File(this .actualFilePath);
169
}
170
@@ -356,7 +356,7 @@
182
- 183 76 private String displayName = null ;
+ 183 38 private String displayName = null ;
184
185
@@ -586,9 +586,9 @@
299
public void addIdentifier(String type, String value, String url) {
- 300 22 final Identifier i = new Identifier(type, value, url);
- 301 22 this .identifiers.add(i);
- 302 22 }
+ 300 11 final Identifier i = new Identifier(type, value, url);
+ 301 11 this .identifiers.add(i);
+ 302 11 }
303
304
@@ -609,10 +609,10 @@
312
public void addIdentifier(String type, String value, String url, Confidence confidence) {
- 313 2 final Identifier i = new Identifier(type, value, url);
- 314 2 i.setConfidence(confidence);
- 315 2 this .identifiers.add(i);
- 316 2 }
+ 313 1 final Identifier i = new Identifier(type, value, url);
+ 314 1 i.setConfidence(confidence);
+ 315 1 this .identifiers.add(i);
+ 316 1 }
317
318
@@ -627,8 +627,8 @@
323
public void addIdentifier(Identifier identifier) {
- 324 8 this .identifiers.add(identifier);
- 325 8 }
+ 324 4 this .identifiers.add(identifier);
+ 325 4 }
326
327
@@ -687,8 +687,8 @@
354
public void addSuppressedIdentifier(Identifier identifier) {
- 355 14 this .suppressedIdentifiers.add(identifier);
- 356 14 }
+ 355 7 this .suppressedIdentifiers.add(identifier);
+ 356 7 }
357
358
@@ -749,8 +749,8 @@
386
public void addSuppressedVulnerability(Vulnerability vulnerability) {
- 387 6 this .suppressedVulnerabilities.add(vulnerability);
- 388 6 }
+ 387 3 this .suppressedVulnerabilities.add(vulnerability);
+ 388 3 }
389
390
@@ -765,7 +765,7 @@
395
public EvidenceCollection getEvidence() {
- 396 6 return EvidenceCollection.merge(this .productEvidence, this .vendorEvidence, this .versionEvidence);
+ 396 3 return EvidenceCollection.merge(this .productEvidence, this .vendorEvidence, this .versionEvidence);
397
}
398
@@ -799,7 +799,7 @@
413
public EvidenceCollection getEvidenceUsed() {
- 414 2 return EvidenceCollection.mergeUsed(this .productEvidence, this .vendorEvidence, this .versionEvidence);
+ 414 1 return EvidenceCollection.mergeUsed(this .productEvidence, this .vendorEvidence, this .versionEvidence);
415
}
416
@@ -1002,24 +1002,24 @@
515
private void determineHashes(File file) {
- 516 38 String md5 = null ;
- 517 38 String sha1 = null ;
+ 516 19 String md5 = null ;
+ 517 19 String sha1 = null ;
518
try {
- 519 38 md5 = Checksum.getMD5Checksum(file);
- 520 32 sha1 = Checksum.getSHA1Checksum(file);
- 521 6 } catch (IOException ex) {
- 522 6 final String msg = String.format("Unable to read '%s' to determine hashes." , file.getName());
- 523 6 LOGGER.log(Level.WARNING, msg);
- 524 6 LOGGER.log(Level.FINE, null , ex);
+ 519 19 md5 = Checksum.getMD5Checksum(file);
+ 520 16 sha1 = Checksum.getSHA1Checksum(file);
+ 521 3 } catch (IOException ex) {
+ 522 3 final String msg = String.format("Unable to read '%s' to determine hashes." , file.getName());
+ 523 3 LOGGER.log(Level.WARNING, msg);
+ 524 3 LOGGER.log(Level.FINE, null , ex);
525 0 } catch (NoSuchAlgorithmException ex) {
526 0 final String msg = "Unable to use MD5 of SHA1 checksums." ;
527 0 LOGGER.log(Level.WARNING, msg);
528 0 LOGGER.log(Level.FINE, null , ex);
- 529 38 }
- 530 38 this .setMd5sum(md5);
- 531 38 this .setSha1sum(sha1);
- 532 38 }
+ 529 19 }
+ 530 19 this .setMd5sum(md5);
+ 531 19 this .setSha1sum(sha1);
+ 532 19 }
533
534
@@ -1034,15 +1034,15 @@
539
public void addVulnerability(Vulnerability vulnerability) {
- 540 6 this .vulnerabilities.add(vulnerability);
- 541 6 }
+ 540 3 this .vulnerabilities.add(vulnerability);
+ 541 3 }
542
543
544
- 545 76 private Set<Dependency> relatedDependencies = new TreeSet<Dependency>();
+ 545 38 private Set<Dependency> relatedDependencies = new TreeSet<Dependency>();
546
547
@@ -1111,7 +1111,7 @@
580
public int compareTo(Dependency o) {
- 581 4 return this .getFileName().compareToIgnoreCase(o.getFileName());
+ 581 2 return this .getFileName().compareToIgnoreCase(o.getFileName());
582
}
583
@@ -1218,22 +1218,22 @@
@Override
651
public int hashCode() {
- 652 52 int hash = 3;
- 653 52 hash = 47 * hash + (this .actualFilePath != null ? this .actualFilePath.hashCode() : 0);
- 654 52 hash = 47 * hash + (this .filePath != null ? this .filePath.hashCode() : 0);
- 655 52 hash = 47 * hash + (this .fileName != null ? this .fileName.hashCode() : 0);
- 656 52 hash = 47 * hash + (this .fileExtension != null ? this .fileExtension.hashCode() : 0);
- 657 52 hash = 47 * hash + (this .md5sum != null ? this .md5sum.hashCode() : 0);
- 658 52 hash = 47 * hash + (this .sha1sum != null ? this .sha1sum.hashCode() : 0);
- 659 52 hash = 47 * hash + (this .identifiers != null ? this .identifiers.hashCode() : 0);
- 660 52 hash = 47 * hash + (this .vendorEvidence != null ? this .vendorEvidence.hashCode() : 0);
- 661 52 hash = 47 * hash + (this .productEvidence != null ? this .productEvidence.hashCode() : 0);
- 662 52 hash = 47 * hash + (this .versionEvidence != null ? this .versionEvidence.hashCode() : 0);
- 663 52 hash = 47 * hash + (this .description != null ? this .description.hashCode() : 0);
- 664 52 hash = 47 * hash + (this .license != null ? this .license.hashCode() : 0);
- 665 52 hash = 47 * hash + (this .vulnerabilities != null ? this .vulnerabilities.hashCode() : 0);
- 666 52 hash = 47 * hash + (this .relatedDependencies != null ? this .relatedDependencies.hashCode() : 0);
- 667 52 return hash;
+ 652 26 int hash = 3;
+ 653 26 hash = 47 * hash + (this .actualFilePath != null ? this .actualFilePath.hashCode() : 0);
+ 654 26 hash = 47 * hash + (this .filePath != null ? this .filePath.hashCode() : 0);
+ 655 26 hash = 47 * hash + (this .fileName != null ? this .fileName.hashCode() : 0);
+ 656 26 hash = 47 * hash + (this .fileExtension != null ? this .fileExtension.hashCode() : 0);
+ 657 26 hash = 47 * hash + (this .md5sum != null ? this .md5sum.hashCode() : 0);
+ 658 26 hash = 47 * hash + (this .sha1sum != null ? this .sha1sum.hashCode() : 0);
+ 659 26 hash = 47 * hash + (this .identifiers != null ? this .identifiers.hashCode() : 0);
+ 660 26 hash = 47 * hash + (this .vendorEvidence != null ? this .vendorEvidence.hashCode() : 0);
+ 661 26 hash = 47 * hash + (this .productEvidence != null ? this .productEvidence.hashCode() : 0);
+ 662 26 hash = 47 * hash + (this .versionEvidence != null ? this .versionEvidence.hashCode() : 0);
+ 663 26 hash = 47 * hash + (this .description != null ? this .description.hashCode() : 0);
+ 664 26 hash = 47 * hash + (this .license != null ? this .license.hashCode() : 0);
+ 665 26 hash = 47 * hash + (this .vulnerabilities != null ? this .vulnerabilities.hashCode() : 0);
+ 666 26 hash = 47 * hash + (this .relatedDependencies != null ? this .relatedDependencies.hashCode() : 0);
+ 667 26 return hash;
668
}
669
@@ -1259,6 +1259,6 @@
}
-
+
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 3fde8c4ad..118234381 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 79428 public class Evidence implements Comparable<Evidence> {
+ 25 39714 public class Evidence implements Comparable<Evidence> {
26
27
@@ -218,8 +218,8 @@
101
public String getValue() {
- 102 1718 used = true ;
- 103 1718 return value;
+ 102 859 used = true ;
+ 103 859 return value;
104
}
105
@@ -238,8 +238,8 @@
112
public String getValue(Boolean setUsed) {
- 113 100 used = used || setUsed;
- 114 100 return value;
+ 113 50 used = used || setUsed;
+ 114 50 return value;
115
}
116
@@ -364,12 +364,12 @@
@Override
176
public int hashCode() {
- 177 4 int hash = 3;
- 178 4 hash = 67 * hash + (this .name != null ? this .name.hashCode() : 0);
- 179 4 hash = 67 * hash + (this .source != null ? this .source.hashCode() : 0);
- 180 4 hash = 67 * hash + (this .value != null ? this .value.hashCode() : 0);
- 181 4 hash = 67 * hash + (this .confidence != null ? this .confidence.hashCode() : 0);
- 182 4 return hash;
+ 177 2 int hash = 3;
+ 178 2 hash = 67 * hash + (this .name != null ? this .name.hashCode() : 0);
+ 179 2 hash = 67 * hash + (this .source != null ? this .source.hashCode() : 0);
+ 180 2 hash = 67 * hash + (this .value != null ? this .value.hashCode() : 0);
+ 181 2 hash = 67 * hash + (this .confidence != null ? this .confidence.hashCode() : 0);
+ 182 2 return hash;
183
}
184
@@ -443,33 +443,33 @@
222
public int compareTo(Evidence o) {
- 223 79428 if (o == null ) {
+ 223 39714 if (o == null ) {
224 0 return 1;
225
}
- 226 79428 if (equalsWithNullCheck(source, o.source)) {
- 227 50502 if (equalsWithNullCheck(name, o.name)) {
- 228 50316 if (equalsWithNullCheck(value, o.value)) {
- 229 30890 if (equalsWithNullCheck(confidence, o.confidence)) {
- 230 30864 return 0;
+ 226 39714 if (equalsWithNullCheck(source, o.source)) {
+ 227 25251 if (equalsWithNullCheck(name, o.name)) {
+ 228 25158 if (equalsWithNullCheck(value, o.value)) {
+ 229 15445 if (equalsWithNullCheck(confidence, o.confidence)) {
+ 230 15432 return 0;
231
} else {
- 232 26 return compareToWithNullCheck(confidence, o.confidence);
+ 232 13 return compareToWithNullCheck(confidence, o.confidence);
233
}
234
} else {
- 235 19426 return compareToIgnoreCaseWithNullCheck(value, o.value);
+ 235 9713 return compareToIgnoreCaseWithNullCheck(value, o.value);
236
}
237
} else {
- 238 186 return compareToIgnoreCaseWithNullCheck(name, o.name);
+ 238 93 return compareToIgnoreCaseWithNullCheck(name, o.name);
239
}
240
} else {
- 241 28926 return compareToIgnoreCaseWithNullCheck(source, o.source);
+ 241 14463 return compareToIgnoreCaseWithNullCheck(source, o.source);
242
}
243
@@ -492,13 +492,13 @@
252
private boolean equalsWithNullCheck(String me, String other) {
- 253 180246 if (me == null && other == null ) {
+ 253 90123 if (me == null && other == null ) {
254 0 return true ;
- 255 180246 } else if (me == null || other == null ) {
+ 255 90123 } else if (me == null || other == null ) {
256 0 return false ;
257
}
- 258 180246 return me.equals(other);
+ 258 90123 return me.equals(other);
259
}
260
@@ -519,13 +519,13 @@
268
private boolean equalsWithNullCheck(Confidence me, Confidence other) {
- 269 30890 if (me == null && other == null ) {
+ 269 15445 if (me == null && other == null ) {
270 0 return true ;
- 271 30890 } else if (me == null || other == null ) {
+ 271 15445 } else if (me == null || other == null ) {
272 0 return false ;
273
}
- 274 30890 return me.equals(other);
+ 274 15445 return me.equals(other);
275
}
276
@@ -548,15 +548,15 @@
285
private int compareToIgnoreCaseWithNullCheck(String me, String other) {
- 286 48538 if (me == null && other == null ) {
+ 286 24269 if (me == null && other == null ) {
287 0 return 0;
- 288 48538 } else if (me == null ) {
+ 288 24269 } else if (me == null ) {
289 0 return -1;
- 290 48538 } else if (other == null ) {
+ 290 24269 } else if (other == null ) {
291 0 return 1;
292
}
- 293 48538 return me.compareToIgnoreCase(other);
+ 293 24269 return me.compareToIgnoreCase(other);
294
}
295
@@ -579,21 +579,21 @@
304
private int compareToWithNullCheck(Confidence me, Confidence other) {
- 305 26 if (me == null && other == null ) {
+ 305 13 if (me == null && other == null ) {
306 0 return 0;
- 307 26 } else if (me == null ) {
+ 307 13 } else if (me == null ) {
308 0 return -1;
- 309 26 } else if (other == null ) {
+ 309 13 } else if (other == null ) {
310 0 return 1;
311
}
- 312 26 return me.compareTo(other);
+ 312 13 return me.compareTo(other);
313
}
314
}
-
+
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 5be8284d7..70491d10c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html
@@ -108,17 +108,17 @@
43
- 44 2 private static final Logger LOGGER = Logger.getLogger(EvidenceCollection.class .getName());
+ 44 1 private static final Logger LOGGER = Logger.getLogger(EvidenceCollection.class .getName());
45
46
47
- 48 146 private static final Filter<Evidence> HIGHEST_CONFIDENCE = new Filter<Evidence>() {
+ 48 73 private static final Filter<Evidence> HIGHEST_CONFIDENCE = new Filter<Evidence>() {
49
public boolean passes(Evidence evidence) {
- 50 146 return evidence.getConfidence() == Confidence.HIGHEST;
+ 50 73 return evidence.getConfidence() == Confidence.HIGHEST;
51
}
52
@@ -129,10 +129,10 @@
55
- 56 126 private static final Filter<Evidence> HIGH_CONFIDENCE = new Filter<Evidence>() {
+ 56 63 private static final Filter<Evidence> HIGH_CONFIDENCE = new Filter<Evidence>() {
57
public boolean passes(Evidence evidence) {
- 58 126 return evidence.getConfidence() == Confidence.HIGH;
+ 58 63 return evidence.getConfidence() == Confidence.HIGH;
59
}
60
@@ -143,10 +143,10 @@
63
- 64 2 private static final Filter<Evidence> MEDIUM_CONFIDENCE = new Filter<Evidence>() {
+ 64 1 private static final Filter<Evidence> MEDIUM_CONFIDENCE = new Filter<Evidence>() {
65
public boolean passes(Evidence evidence) {
- 66 146 return evidence.getConfidence() == Confidence.MEDIUM;
+ 66 73 return evidence.getConfidence() == Confidence.MEDIUM;
67
}
68
@@ -157,10 +157,10 @@
71
- 72 2 private static final Filter<Evidence> LOW_CONFIDENCE = new Filter<Evidence>() {
+ 72 1 private static final Filter<Evidence> LOW_CONFIDENCE = new Filter<Evidence>() {
73
public boolean passes(Evidence evidence) {
- 74 244 return evidence.getConfidence() == Confidence.LOW;
+ 74 122 return evidence.getConfidence() == Confidence.LOW;
75
}
76
@@ -171,10 +171,10 @@
79
- 80 2 private static final Filter<Evidence> EVIDENCE_USED = new Filter<Evidence>() {
+ 80 1 private static final Filter<Evidence> EVIDENCE_USED = new Filter<Evidence>() {
81
public boolean passes(Evidence evidence) {
- 82 1912 return evidence.isUsed();
+ 82 956 return evidence.isUsed();
83
}
84
@@ -195,15 +195,15 @@
92
public final Iterable<Evidence> iterator(Confidence confidence) {
- 93 88 if (confidence == Confidence.HIGHEST) {
- 94 20 return EvidenceCollection.HIGHEST_CONFIDENCE.filter(this .list);
- 95 68 } else if (confidence == Confidence.HIGH) {
- 96 20 return EvidenceCollection.HIGH_CONFIDENCE.filter(this .list);
- 97 48 } else if (confidence == Confidence.MEDIUM) {
- 98 20 return EvidenceCollection.MEDIUM_CONFIDENCE.filter(this .list);
+ 93 44 if (confidence == Confidence.HIGHEST) {
+ 94 10 return EvidenceCollection.HIGHEST_CONFIDENCE.filter(this .list);
+ 95 34 } else if (confidence == Confidence.HIGH) {
+ 96 10 return EvidenceCollection.HIGH_CONFIDENCE.filter(this .list);
+ 97 24 } else if (confidence == Confidence.MEDIUM) {
+ 98 10 return EvidenceCollection.MEDIUM_CONFIDENCE.filter(this .list);
99
} else {
- 100 28 return EvidenceCollection.LOW_CONFIDENCE.filter(this .list);
+ 100 14 return EvidenceCollection.LOW_CONFIDENCE.filter(this .list);
101
}
102
@@ -232,10 +232,10 @@
114
- 115 236 public EvidenceCollection() {
- 116 236 list = new TreeSet<Evidence>();
- 117 236 weightedStrings = new HashSet<String>();
- 118 236 }
+ 115 118 public EvidenceCollection() {
+ 116 118 list = new TreeSet<Evidence>();
+ 117 118 weightedStrings = new HashSet<String>();
+ 118 118 }
119
120
@@ -250,8 +250,8 @@
125
public void addEvidence(Evidence e) {
- 126 30986 list.add(e);
- 127 30986 }
+ 126 15493 list.add(e);
+ 127 15493 }
128
129
@@ -272,9 +272,9 @@
137
public void addEvidence(String source, String name, String value, Confidence confidence) {
- 138 30972 final Evidence e = new Evidence(source, name, value, confidence);
- 139 30972 addEvidence(e);
- 140 30972 }
+ 138 15486 final Evidence e = new Evidence(source, name, value, confidence);
+ 139 15486 addEvidence(e);
+ 140 15486 }
141
142
@@ -301,8 +301,8 @@
153
public void addWeighting(String str) {
- 154 30 weightedStrings.add(str);
- 155 30 }
+ 154 15 weightedStrings.add(str);
+ 155 15 }
156
157
@@ -389,18 +389,18 @@
202
public Set<Evidence> getEvidence(String source, String name) {
- 203 4 if (source == null || name == null ) {
+ 203 2 if (source == null || name == null ) {
204 0 return null ;
205
}
- 206 4 final Set<Evidence> ret = new HashSet<Evidence>();
- 207 4 for (Evidence e : list) {
- 208 4 if (source.equals(e.getSource()) && name.equals(e.getName())) {
- 209 4 ret.add(e);
+ 206 2 final Set<Evidence> ret = new HashSet<Evidence>();
+ 207 2 for (Evidence e : list) {
+ 208 2 if (source.equals(e.getSource()) && name.equals(e.getName())) {
+ 209 2 ret.add(e);
210
}
- 211 4 }
- 212 4 return ret;
+ 211 2 }
+ 212 2 return ret;
213
}
214
@@ -417,7 +417,7 @@
220
public Iterator<Evidence> iterator() {
- 221 234 return list.iterator();
+ 221 117 return list.iterator();
222
}
223
@@ -436,23 +436,23 @@
230
public boolean containsUsedString(String text) {
- 231 224 if (text == null ) {
+ 231 112 if (text == null ) {
232 0 return false ;
233
}
- 234 224 final String textToTest = text.toLowerCase();
+ 234 112 final String textToTest = text.toLowerCase();
235
- 236 224 for (Evidence e : EvidenceCollection.EVIDENCE_USED.filter(this )) {
+ 236 112 for (Evidence e : EvidenceCollection.EVIDENCE_USED.filter(this )) {
237
- 238 1496 final String value = urlCorrection(e.getValue().toLowerCase()).replaceAll("[\\s_-]" , "" );
- 239 1496 if (value.contains(textToTest)) {
- 240 88 return true ;
+ 238 748 final String value = urlCorrection(e.getValue().toLowerCase()).replaceAll("[\\s_-]" , "" );
+ 239 748 if (value.contains(textToTest)) {
+ 240 44 return true ;
241
}
- 242 1408 }
- 243 136 return false ;
+ 242 704 }
+ 243 68 return false ;
244
}
245
@@ -503,13 +503,13 @@
272
public boolean contains(Confidence confidence) {
- 273 48 for (Evidence e : list) {
- 274 256 if (e.getConfidence().equals(confidence)) {
- 275 42 return true ;
+ 273 24 for (Evidence e : list) {
+ 274 128 if (e.getConfidence().equals(confidence)) {
+ 275 21 return true ;
276
}
- 277 214 }
- 278 6 return false ;
+ 277 107 }
+ 278 3 return false ;
279
}
280
@@ -528,17 +528,17 @@
287
public static EvidenceCollection mergeUsed(EvidenceCollection... ec) {
- 288 2 final EvidenceCollection ret = new EvidenceCollection();
- 289 8 for (EvidenceCollection col : ec) {
- 290 6 for (Evidence e : col.list) {
- 291 4 if (e.isUsed()) {
- 292 2 ret.addEvidence(e);
+ 288 1 final EvidenceCollection ret = new EvidenceCollection();
+ 289 4 for (EvidenceCollection col : ec) {
+ 290 3 for (Evidence e : col.list) {
+ 291 2 if (e.isUsed()) {
+ 292 1 ret.addEvidence(e);
293
}
- 294 4 }
+ 294 2 }
295
}
- 296 2 return ret;
+ 296 1 return ret;
297
}
298
@@ -557,13 +557,13 @@
305
public static EvidenceCollection merge(EvidenceCollection... ec) {
- 306 6 final EvidenceCollection ret = new EvidenceCollection();
- 307 24 for (EvidenceCollection col : ec) {
- 308 18 ret.list.addAll(col.list);
- 309 18 ret.weightedStrings.addAll(col.weightedStrings);
+ 306 3 final EvidenceCollection ret = new EvidenceCollection();
+ 307 12 for (EvidenceCollection col : ec) {
+ 308 9 ret.list.addAll(col.list);
+ 309 9 ret.weightedStrings.addAll(col.weightedStrings);
310
}
- 311 6 return ret;
+ 311 3 return ret;
312
}
313
@@ -613,11 +613,11 @@
@Override
340
public String toString() {
- 341 6 final StringBuilder sb = new StringBuilder();
- 342 6 for (Evidence e : this .list) {
- 343 26 sb.append(e.getValue()).append(' ' );
- 344 26 }
- 345 6 return sb.toString();
+ 341 3 final StringBuilder sb = new StringBuilder();
+ 342 3 for (Evidence e : this .list) {
+ 343 13 sb.append(e.getValue()).append(' ' );
+ 344 13 }
+ 345 3 return sb.toString();
346
}
347
@@ -634,7 +634,7 @@
353
public int size() {
- 354 58 return list.size();
+ 354 29 return list.size();
355
}
356
@@ -677,22 +677,22 @@
375
private String urlCorrection(String value) {
- 376 1496 if (value == null || !UrlStringUtils.containsUrl(value)) {
- 377 1486 return value;
+ 376 748 if (value == null || !UrlStringUtils.containsUrl(value)) {
+ 377 743 return value;
378
}
- 379 10 final StringBuilder sb = new StringBuilder(value.length());
- 380 10 final String[] parts = value.split("\\s" );
- 381 20 for (String part : parts) {
- 382 10 if (UrlStringUtils.isUrl(part)) {
+ 379 5 final StringBuilder sb = new StringBuilder(value.length());
+ 380 5 final String[] parts = value.split("\\s" );
+ 381 10 for (String part : parts) {
+ 382 5 if (UrlStringUtils.isUrl(part)) {
383
try {
- 384 10 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
- 385 10 sb.append(' ' ).append(StringUtils.join(data, ' ' ));
+ 384 5 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
+ 385 5 sb.append(' ' ).append(StringUtils.join(data, ' ' ));
386 0 } catch (MalformedURLException ex) {
387 0 LOGGER.log(Level.FINE, "error parsing " + part, ex);
388 0 sb.append(' ' ).append(part);
- 389 10 }
+ 389 5 }
390
} else {
391 0 sb.append(' ' ).append(part);
@@ -700,13 +700,13 @@
}
393
}
- 394 10 return sb.toString().trim();
+ 394 5 return sb.toString().trim();
395
}
396
}
-
+
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 be3317055..13561ba4a 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 64 public class Identifier implements Comparable<Identifier> {
+ 24 32 public class Identifier implements Comparable<Identifier> {
25
26
@@ -373,10 +373,10 @@
@Override
185
public int hashCode() {
- 186 20 int hash = 5;
- 187 20 hash = 53 * hash + (this .value != null ? this .value.hashCode() : 0);
- 188 20 hash = 53 * hash + (this .type != null ? this .type.hashCode() : 0);
- 189 20 return hash;
+ 186 10 int hash = 5;
+ 187 10 hash = 53 * hash + (this .value != null ? this .value.hashCode() : 0);
+ 188 10 hash = 53 * hash + (this .type != null ? this .type.hashCode() : 0);
+ 189 10 return hash;
190
}
191
@@ -414,17 +414,17 @@
208
public int compareTo(Identifier o) {
- 209 72 if (o == null ) {
+ 209 36 if (o == null ) {
210 0 return -1;
211
}
- 212 72 return this .value.compareTo(o.value);
+ 212 36 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 15c67bc0d..e05c3edef 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 704 public class Reference implements Serializable, Comparable<Reference> {
+ 27 352 public class Reference implements Serializable, Comparable<Reference> {
28
29
@@ -271,10 +271,10 @@
136
public int compareTo(Reference o) {
- 137 704 if (source.equals(o.source)) {
- 138 210 if (name.equals(o.name)) {
- 139 68 if (url.equals(o.url)) {
- 140 68 return 0;
+ 137 352 if (source.equals(o.source)) {
+ 138 105 if (name.equals(o.name)) {
+ 139 34 if (url.equals(o.url)) {
+ 140 34 return 0;
141
} else {
142 0 return url.compareTo(o.url);
@@ -282,12 +282,12 @@
}
144
} else {
- 145 142 return name.compareTo(o.name);
+ 145 71 return name.compareTo(o.name);
146
}
147
} else {
- 148 494 return source.compareTo(o.source);
+ 148 247 return source.compareTo(o.source);
149
}
150
@@ -296,6 +296,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 e5137b636..94a2c8081 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 72 public class Vulnerability implements Serializable, Comparable<Vulnerability> {
+ 30 36 public class Vulnerability implements Serializable, Comparable<Vulnerability> {
31
32
@@ -180,7 +180,7 @@
82
- 83 72 private SortedSet<Reference> references = new TreeSet<Reference>();
+ 83 36 private SortedSet<Reference> references = new TreeSet<Reference>();
84
85
@@ -231,8 +231,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
@@ -251,19 +251,19 @@
119
public void addReference(String referenceSource, String referenceName, String referenceUrl) {
- 120 136 final Reference ref = new Reference();
- 121 136 ref.setSource(referenceSource);
- 122 136 ref.setName(referenceName);
- 123 136 ref.setUrl(referenceUrl);
- 124 136 this .references.add(ref);
- 125 136 }
+ 120 68 final Reference ref = new Reference();
+ 121 68 ref.setSource(referenceSource);
+ 122 68 ref.setName(referenceName);
+ 123 68 ref.setUrl(referenceUrl);
+ 124 68 this .references.add(ref);
+ 125 68 }
126
127
128
- 129 72 private SortedSet<VulnerableSoftware> vulnerableSoftware = new TreeSet<VulnerableSoftware>();
+ 129 36 private SortedSet<VulnerableSoftware> vulnerableSoftware = new TreeSet<VulnerableSoftware>();
130
131
@@ -316,7 +316,7 @@
155
public boolean addVulnerableSoftware(String cpe) {
- 156 1684 return addVulnerableSoftware(cpe, null );
+ 156 842 return addVulnerableSoftware(cpe, null );
157
}
158
@@ -337,13 +337,13 @@
166
public boolean addVulnerableSoftware(String cpe, String previousVersion) {
- 167 1700 final VulnerableSoftware vs = new VulnerableSoftware();
- 168 1700 vs.setCpe(cpe);
- 169 1700 if (previousVersion != null ) {
- 170 16 vs.setPreviousVersion(previousVersion);
+ 167 850 final VulnerableSoftware vs = new VulnerableSoftware();
+ 168 850 vs.setCpe(cpe);
+ 169 850 if (previousVersion != null ) {
+ 170 8 vs.setPreviousVersion(previousVersion);
171
}
- 172 1700 return updateVulnerableSoftware(vs);
+ 172 850 return updateVulnerableSoftware(vs);
173
}
174
@@ -362,11 +362,11 @@
181
public boolean updateVulnerableSoftware(VulnerableSoftware vulnSoftware) {
- 182 1700 if (vulnerableSoftware.contains(vulnSoftware)) {
+ 182 850 if (vulnerableSoftware.contains(vulnSoftware)) {
183 0 vulnerableSoftware.remove(vulnSoftware);
184
}
- 185 1700 return vulnerableSoftware.add(vulnSoftware);
+ 185 850 return vulnerableSoftware.add(vulnSoftware);
186
}
187
@@ -749,9 +749,9 @@
@Override
380
public int hashCode() {
- 381 16 int hash = 5;
- 382 16 hash = 41 * hash + (this .name != null ? this .name.hashCode() : 0);
- 383 16 return hash;
+ 381 8 int hash = 5;
+ 382 8 hash = 41 * hash + (this .name != null ? this .name.hashCode() : 0);
+ 383 8 return hash;
384
}
385
@@ -811,9 +811,9 @@
413
public void setMatchedCPE(String cpeId, String previous) {
- 414 16 matchedCPE = cpeId;
- 415 16 matchedAllPreviousCPE = previous;
- 416 16 }
+ 414 8 matchedCPE = cpeId;
+ 415 8 matchedAllPreviousCPE = previous;
+ 416 8 }
417
418
@@ -871,6 +871,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 d81ad72a9..2cf86936b 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 50 public class VulnerabilityComparator implements Comparator<Vulnerability>, Serializable {
+ 28 25 public class VulnerabilityComparator implements Comparator<Vulnerability>, Serializable {
29
30
@@ -100,13 +100,13 @@
42
public int compare(Vulnerability o1, Vulnerability o2) {
- 43 50 return o2.getName().compareTo(o1.getName());
+ 43 25 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 3598d2c4e..982944732 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html
@@ -79,7 +79,7 @@
31
- 32 20008 public class VulnerableSoftware extends IndexEntry implements Serializable, Comparable<VulnerableSoftware> {
+ 32 10004 public class VulnerableSoftware extends IndexEntry implements Serializable, Comparable<VulnerableSoftware> {
33
34
@@ -88,7 +88,7 @@
36
- 37 2 private static final Logger LOGGER = Logger.getLogger(VulnerableSoftware.class .getName());
+ 37 1 private static final Logger LOGGER = Logger.getLogger(VulnerableSoftware.class .getName());
38
39
@@ -113,14 +113,14 @@
public void setCpe(String cpe) {
49
try {
- 50 2028 parseName(cpe);
+ 50 1014 parseName(cpe);
51 0 } catch (UnsupportedEncodingException ex) {
52 0 final String msg = String.format("Character encoding is unsupported for CPE '%s'." , cpe);
53 0 LOGGER.log(Level.WARNING, msg);
54 0 LOGGER.log(Level.FINE, null , ex);
55 0 setName(cpe);
- 56 2028 }
- 57 2028 }
+ 56 1014 }
+ 57 1014 }
58
59
@@ -157,32 +157,32 @@
@Override
75
public void parseName(String cpeName) throws UnsupportedEncodingException {
- 76 2102 this .name = cpeName;
- 77 2102 if (cpeName != null && cpeName.length() > 7) {
- 78 2102 final String[] data = cpeName.substring(7).split(":" );
- 79 2102 if (data.length >= 1) {
- 80 2102 this .setVendor(urlDecode(data[0]));
+ 76 1051 this .name = cpeName;
+ 77 1051 if (cpeName != null && cpeName.length() > 7) {
+ 78 1051 final String[] data = cpeName.substring(7).split(":" );
+ 79 1051 if (data.length >= 1) {
+ 80 1051 this .setVendor(urlDecode(data[0]));
81
}
- 82 2102 if (data.length >= 2) {
- 83 2102 this .setProduct(urlDecode(data[1]));
+ 82 1051 if (data.length >= 2) {
+ 83 1051 this .setProduct(urlDecode(data[1]));
84
}
- 85 2102 if (data.length >= 3) {
- 86 2102 version = urlDecode(data[2]);
+ 85 1051 if (data.length >= 3) {
+ 86 1051 version = urlDecode(data[2]);
87
}
- 88 2102 if (data.length >= 4) {
- 89 302 revision = urlDecode(data[3]);
+ 88 1051 if (data.length >= 4) {
+ 89 151 revision = urlDecode(data[3]);
90
}
- 91 2102 if (data.length >= 5) {
+ 91 1051 if (data.length >= 5) {
92 0 edition = urlDecode(data[4]);
93
}
94
}
- 95 2102 }
+ 95 1051 }
96
97
@@ -262,17 +262,17 @@
@Override
135
public boolean equals(Object obj) {
- 136 2 if (obj == null ) {
+ 136 1 if (obj == null ) {
137 0 return false ;
138
}
- 139 2 if (getClass() != obj.getClass()) {
+ 139 1 if (getClass() != obj.getClass()) {
140 0 return false ;
141
}
- 142 2 final VulnerableSoftware other = (VulnerableSoftware) obj;
- 143 2 if ((this .getName() == null ) ? (other.getName() != null ) : !this .getName().equals(other.getName())) {
- 144 2 return false ;
+ 142 1 final VulnerableSoftware other = (VulnerableSoftware) obj;
+ 143 1 if ((this .getName() == null ) ? (other.getName() != null ) : !this .getName().equals(other.getName())) {
+ 144 1 return false ;
145
}
146 0 return true ;
@@ -294,9 +294,9 @@
@Override
155
public int hashCode() {
- 156 326 int hash = 7;
- 157 326 hash = 83 * hash + (this .getName() != null ? this .getName().hashCode() : 0);
- 158 326 return hash;
+ 156 163 int hash = 7;
+ 157 163 hash = 83 * hash + (this .getName() != null ? this .getName().hashCode() : 0);
+ 158 163 return hash;
159
}
160
@@ -336,21 +336,21 @@
@Override
178
public int compareTo(VulnerableSoftware vs) {
- 179 20012 int result = 0;
- 180 20012 final String[] left = this .getName().split(":" );
- 181 20012 final String[] right = vs.getName().split(":" );
- 182 20012 final int max = (left.length <= right.length) ? left.length : right.length;
- 183 20012 if (max > 0) {
- 184 120502 for (int i = 0; result == 0 && i < max; i++) {
- 185 100490 final String[] subLeft = left[i].split("\\." );
- 186 100490 final String[] subRight = right[i].split("\\." );
- 187 100490 final int subMax = (subLeft.length <= subRight.length) ? subLeft.length : subRight.length;
- 188 100490 if (subMax > 0) {
- 189 229296 for (int x = 0; result == 0 && x < subMax; x++) {
- 190 128806 if (isPositiveInteger(subLeft[x]) && isPositiveInteger(subRight[x])) {
+ 179 10006 int result = 0;
+ 180 10006 final String[] left = this .getName().split(":" );
+ 181 10006 final String[] right = vs.getName().split(":" );
+ 182 10006 final int max = (left.length <= right.length) ? left.length : right.length;
+ 183 10006 if (max > 0) {
+ 184 60251 for (int i = 0; result == 0 && i < max; i++) {
+ 185 50245 final String[] subLeft = left[i].split("\\." );
+ 186 50245 final String[] subRight = right[i].split("\\." );
+ 187 50245 final int subMax = (subLeft.length <= subRight.length) ? subLeft.length : subRight.length;
+ 188 50245 if (subMax > 0) {
+ 189 114648 for (int x = 0; result == 0 && x < subMax; x++) {
+ 190 64403 if (isPositiveInteger(subLeft[x]) && isPositiveInteger(subRight[x])) {
191
try {
- 192 46904 result = Long.valueOf(subLeft[x]).compareTo(Long.valueOf(subRight[x]));
+ 192 23452 result = Long.valueOf(subLeft[x]).compareTo(Long.valueOf(subRight[x]));
193
194
@@ -376,21 +376,21 @@
205 0 result = subLeft[x].compareToIgnoreCase(subRight[x]);
206
}
- 207 46904 }
+ 207 23452 }
208
} else {
- 209 81902 result = subLeft[x].compareToIgnoreCase(subRight[x]);
+ 209 40951 result = subLeft[x].compareToIgnoreCase(subRight[x]);
210
}
211
}
- 212 100490 if (result == 0) {
- 213 80928 if (subLeft.length > subRight.length) {
- 214 228 result = 2;
+ 212 50245 if (result == 0) {
+ 213 40464 if (subLeft.length > subRight.length) {
+ 214 114 result = 2;
215
}
- 216 80928 if (subRight.length > subLeft.length) {
- 217 14 result = -2;
+ 216 40464 if (subRight.length > subLeft.length) {
+ 217 7 result = -2;
218
}
219
@@ -402,13 +402,13 @@
}
223
}
- 224 20012 if (result == 0) {
- 225 208 if (left.length > right.length) {
- 226 136 result = 2;
+ 224 10006 if (result == 0) {
+ 225 104 if (left.length > right.length) {
+ 226 68 result = 2;
227
}
- 228 208 if (right.length > left.length) {
- 229 20 result = -2;
+ 228 104 if (right.length > left.length) {
+ 229 10 result = -2;
230
}
231
@@ -418,7 +418,7 @@
233 0 result = this .getName().compareToIgnoreCase(vs.getName());
234
}
- 235 20012 return result;
+ 235 10006 return result;
236
}
237
@@ -437,19 +437,19 @@
244
private static boolean isPositiveInteger(final String str) {
- 245 175854 if (str == null || str.isEmpty()) {
- 246 28 return false ;
+ 245 87927 if (str == null || str.isEmpty()) {
+ 246 14 return false ;
247
}
- 248 285796 for (int i = 0; i < str.length(); i++) {
- 249 191844 final char c = str.charAt(i);
- 250 191844 if (c < '0' || c > '9' ) {
- 251 81874 return false ;
+ 248 142898 for (int i = 0; i < str.length(); i++) {
+ 249 95922 final char c = str.charAt(i);
+ 250 95922 if (c < '0' || c > '9' ) {
+ 251 40937 return false ;
252
}
253
}
- 254 93952 return true ;
+ 254 46976 return true ;
255
}
256
@@ -644,12 +644,12 @@
351
private String urlDecode(String string) {
- 352 6608 final String text = string.replace("+" , "%2B" );
+ 352 3304 final String text = string.replace("+" , "%2B" );
353
String result;
354
try {
- 355 6608 result = URLDecoder.decode(text, "UTF-8" );
+ 355 3304 result = URLDecoder.decode(text, "UTF-8" );
356 0 } catch (UnsupportedEncodingException ex) {
357
try {
@@ -657,14 +657,14 @@
359 0 } catch (UnsupportedEncodingException ex1) {
360 0 result = URLDecoder.decode(text);
361 0 }
- 362 6608 }
- 363 6608 return result;
+ 362 3304 }
+ 363 3304 return result;
364
}
365
}
-
+
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 5a8ae09aa..ad80bdbbb 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.NoDataException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.NoDataException.html
@@ -155,6 +155,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.ScanAgentException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.ScanAgentException.html
index b231fdf1d..4927f31ff 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.ScanAgentException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.exception.ScanAgentException.html
@@ -155,6 +155,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 8061ad38c..83d9db3e4 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
@@ -198,6 +198,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 0aef899d7..99a3bd1eb 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
@@ -409,6 +409,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 b31eff87d..ed818fecc 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
@@ -233,6 +233,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 0f6d02284..7c6278266 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
@@ -347,6 +347,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 e63fd3588..ac5db50f1 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
@@ -233,6 +233,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 38c735b95..0e9095b36 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
@@ -1635,6 +1635,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 bdaa35970..e4b2ca4e7 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
@@ -1145,6 +1145,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 b5bb31080..d0962791f 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
@@ -429,6 +429,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 220d25728..875760fa8 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
@@ -875,6 +875,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 802ac7523..70f34b2fd 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
@@ -783,6 +783,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 b2d76e8b4..9321ff049 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
@@ -317,6 +317,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 58b5b85ea..8813d13e6 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
@@ -409,6 +409,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 b58e1b193..2694c5e5a 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
@@ -929,6 +929,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 bfb05ded5..12a03b9a2 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
@@ -465,6 +465,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 29f92c603..34c364268 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
@@ -225,6 +225,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 7e6dc530f..d11dcf679 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
@@ -283,6 +283,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 d26ed9c47..98f6fe81b 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
@@ -229,6 +229,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 c8f2f136d..5f828c124 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
@@ -349,6 +349,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 d55ba8ce1..ae8054c9a 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
@@ -609,6 +609,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 ded6fcac9..ce8e6de19 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
@@ -3433,6 +3433,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 9ce3ed498..b6a4eeb70 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
@@ -683,6 +683,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 5d1130ebf..ece8d5f64 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
@@ -1396,6 +1396,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 69cb47adf..194e06f14 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
@@ -225,6 +225,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 8cde5a270..9bba841c3 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
@@ -345,6 +345,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 11d118986..0ab700bee 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
@@ -1217,6 +1217,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 d86067e7b..13ddc9e7e 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
@@ -697,6 +697,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 d6b758712..2c5ef835d 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
@@ -317,6 +317,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 257d1e0ab..6fd4ec14e 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
@@ -171,6 +171,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 b55195dbf..f315603cf 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
@@ -1673,6 +1673,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 b3f0783cf..e3f0d1a7e 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
@@ -343,6 +343,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 69562e642..4fd84d81c 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
@@ -755,6 +755,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 1baebbc0c..41494be8a 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
@@ -639,6 +639,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 a585ced24..fe6881064 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
@@ -433,6 +433,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 f535cee2d..8e00f6cbe 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
@@ -465,6 +465,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 00e1e7d37..745a0624d 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
@@ -287,6 +287,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 f587e1ae4..2d4def656 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
@@ -697,6 +697,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 b7d3a5938..206114b29 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
@@ -345,6 +345,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 a60dd89d1..eb82a0aa3 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
@@ -287,6 +287,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 2dc3e5642..c85618f26 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.EscapeTool.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.EscapeTool.html
index fccc40a00..cd5dea2ae 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.EscapeTool.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.EscapeTool.html
@@ -159,6 +159,6 @@
}
-
+
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 c58334ad6..4cba1f5ea 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html
@@ -447,6 +447,6 @@
}
-
+
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 ac058490b..c821787c6 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html
@@ -221,6 +221,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 79cd5e7f7..8c4976fac 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.PropertyType.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.PropertyType.html
@@ -237,28 +237,28 @@
110
public boolean matches(String text) {
- 111 68 if (text == null ) {
+ 111 34 if (text == null ) {
112 0 return false ;
113
}
- 114 68 if (this .regex) {
+ 114 34 if (this .regex) {
115
Pattern rx;
- 116 18 if (this .caseSensitive) {
- 117 4 rx = Pattern.compile(this .value);
+ 116 9 if (this .caseSensitive) {
+ 117 2 rx = Pattern.compile(this .value);
118
} else {
- 119 14 rx = Pattern.compile(this .value, Pattern.CASE_INSENSITIVE);
+ 119 7 rx = Pattern.compile(this .value, Pattern.CASE_INSENSITIVE);
120
}
- 121 18 return rx.matcher(text).matches();
+ 121 9 return rx.matcher(text).matches();
122
} else {
- 123 50 if (this .caseSensitive) {
- 124 4 return value.equals(text);
+ 123 25 if (this .caseSensitive) {
+ 124 2 return value.equals(text);
125
} else {
- 126 46 return value.equalsIgnoreCase(text);
+ 126 23 return value.equalsIgnoreCase(text);
127
}
128
@@ -308,28 +308,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
@@ -357,6 +357,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 498431682..b045a0671 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionErrorHandler.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionErrorHandler.html
@@ -87,7 +87,7 @@
35
- 36 2 private static final Logger LOGGER = Logger.getLogger(SuppressionErrorHandler.class .getName());
+ 36 1 private static final Logger LOGGER = Logger.getLogger(SuppressionErrorHandler.class .getName());
37
38
@@ -197,6 +197,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 24ba36793..998d951b5 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 20 public class SuppressionHandler extends DefaultHandler {
+ 31 9 public class SuppressionHandler extends DefaultHandler {
32
33
@@ -150,7 +150,7 @@
67
- 68 20 private List<SuppressionRule> suppressionRules = new ArrayList<SuppressionRule>();
+ 68 9 private List<SuppressionRule> suppressionRules = new ArrayList<SuppressionRule>();
69
70
@@ -217,13 +217,13 @@
@Override
101
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- 102 230 currentAttributes = attributes;
- 103 230 currentText = new StringBuffer();
- 104 230 if (SUPPRESS.equals(qName)) {
- 105 50 rule = new SuppressionRule();
+ 102 115 currentAttributes = attributes;
+ 103 115 currentText = new StringBuffer();
+ 104 115 if (SUPPRESS.equals(qName)) {
+ 105 25 rule = new SuppressionRule();
106
}
- 107 230 }
+ 107 115 }
108
109
@@ -246,30 +246,30 @@
@Override
118
public void endElement(String uri, String localName, String qName) throws SAXException {
- 119 230 if (SUPPRESS.equals(qName)) {
- 120 50 suppressionRules.add(rule);
- 121 50 rule = null ;
- 122 180 } else if (FILE_PATH.equals(qName)) {
- 123 24 final PropertyType pt = processPropertyType();
- 124 24 rule.setFilePath(pt);
- 125 24 } else if (SHA1.equals(qName)) {
- 126 8 rule.setSha1(currentText.toString());
- 127 148 } else if (GAV.equals(qName)) {
- 128 10 final PropertyType pt = processPropertyType();
- 129 10 rule.setGav(pt);
- 130 10 } else if (CPE.equals(qName)) {
- 131 46 final PropertyType pt = processPropertyType();
- 132 46 rule.addCpe(pt);
- 133 46 } else if (CWE.equals(qName)) {
+ 119 115 if (SUPPRESS.equals(qName)) {
+ 120 25 suppressionRules.add(rule);
+ 121 25 rule = null ;
+ 122 90 } else if (FILE_PATH.equals(qName)) {
+ 123 12 final PropertyType pt = processPropertyType();
+ 124 12 rule.setFilePath(pt);
+ 125 12 } else if (SHA1.equals(qName)) {
+ 126 4 rule.setSha1(currentText.toString());
+ 127 74 } else if (GAV.equals(qName)) {
+ 128 5 final PropertyType pt = processPropertyType();
+ 129 5 rule.setGav(pt);
+ 130 5 } else if (CPE.equals(qName)) {
+ 131 23 final PropertyType pt = processPropertyType();
+ 132 23 rule.addCpe(pt);
+ 133 23 } else if (CWE.equals(qName)) {
134 0 rule.addCwe(currentText.toString());
- 135 92 } else if (CVE.equals(qName)) {
- 136 16 rule.addCve(currentText.toString());
- 137 76 } else if (CVSS_BELOW.equals(qName)) {
- 138 8 final float cvss = Float.parseFloat(currentText.toString());
- 139 8 rule.addCvssBelow(cvss);
+ 135 46 } else if (CVE.equals(qName)) {
+ 136 8 rule.addCve(currentText.toString());
+ 137 38 } else if (CVSS_BELOW.equals(qName)) {
+ 138 4 final float cvss = Float.parseFloat(currentText.toString());
+ 139 4 rule.addCvssBelow(cvss);
140
}
- 141 230 }
+ 141 115 }
142
143
@@ -292,8 +292,8 @@
@Override
152
public void characters(char [] ch, int start, int length) throws SAXException {
- 153 492 currentText.append(ch, start, length);
- 154 492 }
+ 153 246 currentText.append(ch, start, length);
+ 154 246 }
155
156
@@ -310,28 +310,28 @@
162
private PropertyType processPropertyType() {
- 163 80 final PropertyType pt = new PropertyType();
- 164 80 pt.setValue(currentText.toString());
- 165 80 if (currentAttributes != null && currentAttributes.getLength() > 0) {
- 166 80 final String regex = currentAttributes.getValue("regex" );
- 167 80 if (regex != null ) {
- 168 80 pt.setRegex(Boolean.parseBoolean(regex));
+ 163 40 final PropertyType pt = new PropertyType();
+ 164 40 pt.setValue(currentText.toString());
+ 165 40 if (currentAttributes != null && currentAttributes.getLength() > 0) {
+ 166 40 final String regex = currentAttributes.getValue("regex" );
+ 167 40 if (regex != null ) {
+ 168 40 pt.setRegex(Boolean.parseBoolean(regex));
169
}
- 170 80 final String caseSensitive = currentAttributes.getValue("caseSensitive" );
- 171 80 if (caseSensitive != null ) {
- 172 80 pt.setCaseSensitive(Boolean.parseBoolean(caseSensitive));
+ 170 40 final String caseSensitive = currentAttributes.getValue("caseSensitive" );
+ 171 40 if (caseSensitive != null ) {
+ 172 40 pt.setCaseSensitive(Boolean.parseBoolean(caseSensitive));
173
}
174
}
- 175 80 return pt;
+ 175 40 return pt;
176
}
177
}
-
+
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 85299de1c..ad753e72d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParseException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParseException.html
@@ -155,6 +155,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 24231499e..61a7af256 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParser.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.suppression.SuppressionParser.html
@@ -12,7 +12,7 @@
@@ -76,130 +76,159 @@
29
import java.util.logging.Logger;
30
- import javax.xml.parsers.ParserConfigurationException;
+
31
- import javax.xml.parsers.SAXParser;
+ import javax.xml.parsers.ParserConfigurationException;
32
- import javax.xml.parsers.SAXParserFactory;
+ import javax.xml.parsers.SAXParser;
33
- import org.xml.sax.InputSource;
+ import javax.xml.parsers.SAXParserFactory;
34
- import org.xml.sax.SAXException;
+
35
- import org.xml.sax.XMLReader;
+ import org.xml.sax.InputSource;
36
-
+ import org.xml.sax.SAXException;
37
-
+ import org.xml.sax.XMLReader;
38
-
+
39
-
+
40
-
+
41
-
+
42
- public class SuppressionParser {
+
43
-
+
44
-
+ public class SuppressionParser {
45
-
+
46
-
- 47 2 private static final Logger LOGGER = Logger.getLogger(SuppressionParser.class .getName());
+
+ 47
+
48
-
- 49
-
+
+ 49 1 private static final Logger LOGGER = Logger.getLogger(SuppressionParser.class .getName());
50
-
+
51
- public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage" ;
+
52
-
+
53
-
+ public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage" ;
54
-
+
55
- public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema" ;
+
56
-
+
57
-
+ public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema" ;
58
-
- 59
- public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource" ;
- 60
-
- 61
- 62
-
- 63
-
- 64
-
- 65
-
- 66
-
- 67
+ 59
+
+ 60
+ 61
+ public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource" ;
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+
68
- public List<SuppressionRule> parseSuppressionRules(File file) throws SuppressionParseException {
+
69
+
+ 70
+ public List<SuppressionRule> parseSuppressionRules(File file) throws SuppressionParseException {
+ 71
try {
- 70 18 final InputStream schemaStream = this .getClass().getClassLoader().getResourceAsStream("schema/suppression.xsd" );
- 71 18 final SuppressionHandler handler = new SuppressionHandler();
- 72
-
- 73 18 final SAXParserFactory factory = SAXParserFactory.newInstance();
- 74 18 factory.setNamespaceAware(true );
- 75 18 factory.setValidating(true );
- 76 18 final SAXParser saxParser = factory.newSAXParser();
- 77 18 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_LANGUAGE, SuppressionParser.W3C_XML_SCHEMA);
- 78 18 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_SOURCE, new InputSource(schemaStream));
- 79 18 final XMLReader xmlReader = saxParser.getXMLReader();
- 80 18 xmlReader.setErrorHandler(new SuppressionErrorHandler());
- 81 18 xmlReader.setContentHandler(handler);
- 82
-
- 83 18 final InputStream inputStream = new FileInputStream(file);
- 84 16 final Reader reader = new InputStreamReader(inputStream, "UTF-8" );
- 85 16 final InputSource in = new InputSource(reader);
- 86
-
- 87
-
- 88 16 xmlReader.parse(in);
- 89
-
- 90 16 return handler.getSuppressionRules();
- 91 0 } catch (ParserConfigurationException ex) {
- 92 0 LOGGER.log(Level.FINE, null , ex);
- 93 0 throw new SuppressionParseException(ex);
- 94 0 } catch (SAXException ex) {
- 95 0 LOGGER.log(Level.FINE, null , ex);
- 96 0 throw new SuppressionParseException(ex);
- 97 2 } catch (FileNotFoundException ex) {
- 98 2 LOGGER.log(Level.FINE, null , ex);
- 99 2 throw new SuppressionParseException(ex);
- 100 0 } catch (IOException ex) {
- 101 0 LOGGER.log(Level.FINE, null , ex);
- 102 0 throw new SuppressionParseException(ex);
- 103
+ 72 4 return parseSuppressionRules(new FileInputStream(file));
+ 73 1 } catch (IOException ex) {
+ 74 1 LOGGER.log(Level.FINE, null , ex);
+ 75 1 throw new SuppressionParseException(ex);
+ 76
}
- 104
+ 77
}
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+
+ 85
+
+ 86
+ public List<SuppressionRule> parseSuppressionRules(InputStream inputStream) throws SuppressionParseException {
+ 87
+ try {
+ 88 8 final InputStream schemaStream = this .getClass().getClassLoader().getResourceAsStream("schema/suppression.xsd" );
+ 89 8 final SuppressionHandler handler = new SuppressionHandler();
+ 90 8 final SAXParserFactory factory = SAXParserFactory.newInstance();
+ 91 8 factory.setNamespaceAware(true );
+ 92 8 factory.setValidating(true );
+ 93 8 final SAXParser saxParser = factory.newSAXParser();
+ 94 8 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_LANGUAGE, SuppressionParser.W3C_XML_SCHEMA);
+ 95 8 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_SOURCE, new InputSource(schemaStream));
+ 96 8 final XMLReader xmlReader = saxParser.getXMLReader();
+ 97 8 xmlReader.setErrorHandler(new SuppressionErrorHandler());
+ 98 8 xmlReader.setContentHandler(handler);
+ 99
+
+ 100 8 final Reader reader = new InputStreamReader(inputStream, "UTF-8" );
+ 101 8 final InputSource in = new InputSource(reader);
+ 102
+
+ 103
+
+ 104 8 xmlReader.parse(in);
105
+
+ 106 8 return handler.getSuppressionRules();
+ 107 0 } catch (ParserConfigurationException ex) {
+ 108 0 LOGGER.log(Level.FINE, null , ex);
+ 109 0 throw new SuppressionParseException(ex);
+ 110 0 } catch (SAXException ex) {
+ 111 0 LOGGER.log(Level.FINE, null , ex);
+ 112 0 throw new SuppressionParseException(ex);
+ 113 0 } catch (FileNotFoundException ex) {
+ 114 0 LOGGER.log(Level.FINE, null , ex);
+ 115 0 throw new SuppressionParseException(ex);
+ 116 0 } catch (IOException ex) {
+ 117 0 LOGGER.log(Level.FINE, null , ex);
+ 118 0 throw new SuppressionParseException(ex);
+ 119
+ }
+ 120
+ }
+ 121
}
-
+
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 1a2dca4cc..8259886bb 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 78 public class SuppressionRule {
+ 31 39 public class SuppressionRule {
32
33
@@ -174,7 +174,7 @@
79
- 80 78 private List<PropertyType> cpe = new ArrayList<PropertyType>();
+ 80 39 private List<PropertyType> cpe = new ArrayList<PropertyType>();
81
82
@@ -225,8 +225,8 @@
105
public void addCpe(PropertyType cpe) {
- 106 60 this .cpe.add(cpe);
- 107 60 }
+ 106 30 this .cpe.add(cpe);
+ 107 30 }
108
109
@@ -241,7 +241,7 @@
114
public boolean hasCpe() {
- 115 22 return cpe.size() > 0;
+ 115 11 return cpe.size() > 0;
116
}
117
@@ -250,7 +250,7 @@
119
- 120 78 private List<Float> cvssBelow = new ArrayList<Float>();
+ 120 39 private List<Float> cvssBelow = new ArrayList<Float>();
121
122
@@ -301,8 +301,8 @@
145
public void addCvssBelow(Float cvss) {
- 146 14 this .cvssBelow.add(cvss);
- 147 14 }
+ 146 7 this .cvssBelow.add(cvss);
+ 147 7 }
148
149
@@ -317,7 +317,7 @@
154
public boolean hasCvssBelow() {
- 155 16 return cvssBelow.size() > 0;
+ 155 8 return cvssBelow.size() > 0;
156
}
157
@@ -326,7 +326,7 @@
159
- 160 78 private List<String> cwe = new ArrayList<String>();
+ 160 39 private List<String> cwe = new ArrayList<String>();
161
162
@@ -377,8 +377,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
@@ -393,7 +393,7 @@
194
public boolean hasCwe() {
- 195 18 return cwe.size() > 0;
+ 195 9 return cwe.size() > 0;
196
}
197
@@ -402,7 +402,7 @@
199
- 200 78 private List<String> cve = new ArrayList<String>();
+ 200 39 private List<String> cve = new ArrayList<String>();
201
202
@@ -453,8 +453,8 @@
225
public void addCve(String cve) {
- 226 22 this .cve.add(cve);
- 227 22 }
+ 226 11 this .cve.add(cve);
+ 227 11 }
228
229
@@ -469,7 +469,7 @@
234
public boolean hasCve() {
- 235 22 return cve.size() > 0;
+ 235 11 return cve.size() > 0;
236
}
237
@@ -478,7 +478,7 @@
239
- 240 78 private PropertyType gav = null ;
+ 240 39 private PropertyType gav = null ;
241
242
@@ -548,68 +548,68 @@
275
public void process(Dependency dependency) {
- 276 28 if (filePath != null && !filePath.matches(dependency.getFilePath())) {
+ 276 14 if (filePath != null && !filePath.matches(dependency.getFilePath())) {
277 0 return ;
278
}
- 279 28 if (sha1 != null && !sha1.equalsIgnoreCase(dependency.getSha1sum())) {
- 280 2 return ;
+ 279 14 if (sha1 != null && !sha1.equalsIgnoreCase(dependency.getSha1sum())) {
+ 280 1 return ;
281
}
- 282 26 if (gav != null ) {
- 283 10 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
- 284 10 boolean gavFound = false ;
- 285 26 while (itr.hasNext()) {
- 286 18 final Identifier i = itr.next();
- 287 18 if (identifierMatches("maven" , this .gav, i)) {
- 288 2 gavFound = true ;
- 289 2 break ;
+ 282 13 if (gav != null ) {
+ 283 5 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
+ 284 5 boolean gavFound = false ;
+ 285 13 while (itr.hasNext()) {
+ 286 9 final Identifier i = itr.next();
+ 287 9 if (identifierMatches("maven" , this .gav, i)) {
+ 288 1 gavFound = true ;
+ 289 1 break ;
290
}
- 291 16 }
- 292 10 if (!gavFound) {
- 293 8 return ;
+ 291 8 }
+ 292 5 if (!gavFound) {
+ 293 4 return ;
294
}
295
}
296
- 297 18 if (this .hasCpe()) {
- 298 8 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
- 299 28 while (itr.hasNext()) {
- 300 20 final Identifier i = itr.next();
- 301 20 for (PropertyType c : this .cpe) {
- 302 42 if (identifierMatches("cpe" , c, i)) {
- 303 14 dependency.addSuppressedIdentifier(i);
- 304 14 itr.remove();
- 305 14 break ;
+ 297 9 if (this .hasCpe()) {
+ 298 4 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
+ 299 14 while (itr.hasNext()) {
+ 300 10 final Identifier i = itr.next();
+ 301 10 for (PropertyType c : this .cpe) {
+ 302 21 if (identifierMatches("cpe" , c, i)) {
+ 303 7 dependency.addSuppressedIdentifier(i);
+ 304 7 itr.remove();
+ 305 7 break ;
306
}
- 307 28 }
- 308 20 }
+ 307 14 }
+ 308 10 }
309
}
- 310 18 if (hasCve() || hasCwe() || hasCvssBelow()) {
- 311 10 final Iterator<Vulnerability> itr = dependency.getVulnerabilities().iterator();
- 312 20 while (itr.hasNext()) {
- 313 10 boolean remove = false ;
- 314 10 final Vulnerability v = itr.next();
- 315 10 for (String entry : this .cve) {
- 316 6 if (entry.equalsIgnoreCase(v.getName())) {
- 317 2 remove = true ;
- 318 2 break ;
+ 310 9 if (hasCve() || hasCwe() || hasCvssBelow()) {
+ 311 5 final Iterator<Vulnerability> itr = dependency.getVulnerabilities().iterator();
+ 312 10 while (itr.hasNext()) {
+ 313 5 boolean remove = false ;
+ 314 5 final Vulnerability v = itr.next();
+ 315 5 for (String entry : this .cve) {
+ 316 3 if (entry.equalsIgnoreCase(v.getName())) {
+ 317 1 remove = true ;
+ 318 1 break ;
319
}
- 320 4 }
- 321 10 if (!remove) {
- 322 8 for (String entry : this .cwe) {
- 323 2 if (v.getCwe() != null ) {
- 324 2 final String toMatch = String.format("CWE-%s " , entry);
- 325 2 final String toTest = v.getCwe().substring(0, toMatch.length()).toUpperCase();
- 326 2 if (toTest.equals(toMatch)) {
- 327 2 remove = true ;
- 328 2 break ;
+ 320 2 }
+ 321 5 if (!remove) {
+ 322 4 for (String entry : this .cwe) {
+ 323 1 if (v.getCwe() != null ) {
+ 324 1 final String toMatch = String.format("CWE-%s " , entry);
+ 325 1 final String toTest = v.getCwe().substring(0, toMatch.length()).toUpperCase();
+ 326 1 if (toTest.equals(toMatch)) {
+ 327 1 remove = true ;
+ 328 1 break ;
329
}
330
@@ -617,25 +617,25 @@
331 0 }
332
}
- 333 10 if (!remove) {
- 334 6 for (float cvss : this .cvssBelow) {
- 335 6 if (v.getCvssScore() < cvss) {
- 336 2 remove = true ;
- 337 2 break ;
+ 333 5 if (!remove) {
+ 334 3 for (float cvss : this .cvssBelow) {
+ 335 3 if (v.getCvssScore() < cvss) {
+ 336 1 remove = true ;
+ 337 1 break ;
338
}
- 339 4 }
+ 339 2 }
340
}
- 341 10 if (remove) {
- 342 6 dependency.addSuppressedVulnerability(v);
- 343 6 itr.remove();
+ 341 5 if (remove) {
+ 342 3 dependency.addSuppressedVulnerability(v);
+ 343 3 itr.remove();
344
}
- 345 10 }
+ 345 5 }
346
}
- 347 18 }
+ 347 9 }
348
349
@@ -652,15 +652,15 @@
355
boolean cpeHasNoVersion(PropertyType c) {
- 356 46 if (c.isRegex()) {
- 357 4 return false ;
+ 356 23 if (c.isRegex()) {
+ 357 2 return false ;
358
}
- 359 42 if (countCharacter(c.getValue(), ':' ) == 3) {
- 360 24 return true ;
+ 359 21 if (countCharacter(c.getValue(), ':' ) == 3) {
+ 360 12 return true ;
361
}
- 362 18 return false ;
+ 362 9 return false ;
363
}
364
@@ -681,14 +681,14 @@
372
int countCharacter(String str, char c) {
- 373 48 int count = 0;
- 374 48 int pos = str.indexOf(c) + 1;
- 375 204 while (pos > 0) {
- 376 156 count += 1;
- 377 156 pos = str.indexOf(c, pos) + 1;
+ 373 24 int count = 0;
+ 374 24 int pos = str.indexOf(c) + 1;
+ 375 102 while (pos > 0) {
+ 376 78 count += 1;
+ 377 78 pos = str.indexOf(c, pos) + 1;
378
}
- 379 48 return count;
+ 379 24 return count;
380
}
381
@@ -711,24 +711,24 @@
390
boolean identifierMatches(String identifierType, PropertyType suppressionEntry, Identifier identifier) {
- 391 78 if (identifierType.equals(identifier.getType())) {
- 392 56 if (suppressionEntry.matches(identifier.getValue())) {
- 393 14 return true ;
- 394 42 } else if ("cpe" .equals(identifierType) && cpeHasNoVersion(suppressionEntry)) {
- 395 22 if (suppressionEntry.isCaseSensitive()) {
+ 391 39 if (identifierType.equals(identifier.getType())) {
+ 392 28 if (suppressionEntry.matches(identifier.getValue())) {
+ 393 7 return true ;
+ 394 21 } else if ("cpe" .equals(identifierType) && cpeHasNoVersion(suppressionEntry)) {
+ 395 11 if (suppressionEntry.isCaseSensitive()) {
396 0 return identifier.getValue().startsWith(suppressionEntry.getValue());
397
} else {
- 398 22 final String id = identifier.getValue().toLowerCase();
- 399 22 final String check = suppressionEntry.getValue().toLowerCase();
- 400 22 return id.startsWith(check);
+ 398 11 final String id = identifier.getValue().toLowerCase();
+ 399 11 final String check = suppressionEntry.getValue().toLowerCase();
+ 400 11 return id.startsWith(check);
401
}
402
}
403
}
- 404 42 return false ;
+ 404 21 return false ;
405
}
406
@@ -801,6 +801,6 @@
}
-
+
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 4d128305a..552f0f389 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html
@@ -69,7 +69,7 @@
26
- 27 2 private static final Logger LOGGER = Logger.getLogger(Checksum.class .getName());
+ 27 1 private static final Logger LOGGER = Logger.getLogger(Checksum.class .getName());
28
29
@@ -108,36 +108,36 @@
46
public static byte [] getChecksum(String algorithm, File file) throws NoSuchAlgorithmException, IOException {
- 47 80 InputStream fis = null ;
- 48 80 byte [] buffer = new byte [1024];
- 49 80 MessageDigest complete = MessageDigest.getInstance(algorithm);
+ 47 40 InputStream fis = null ;
+ 48 40 byte [] buffer = new byte [1024];
+ 49 40 MessageDigest complete = MessageDigest.getInstance(algorithm);
50
int numRead;
51
try {
- 52 78 fis = new FileInputStream(file);
+ 52 39 fis = new FileInputStream(file);
53
do {
- 54 27616 numRead = fis.read(buffer);
- 55 27616 if (numRead > 0) {
- 56 27546 complete.update(buffer, 0, numRead);
+ 54 13808 numRead = fis.read(buffer);
+ 55 13808 if (numRead > 0) {
+ 56 13773 complete.update(buffer, 0, numRead);
57
}
- 58 27616 } while (numRead != -1);
+ 58 13808 } while (numRead != -1);
59
} finally {
- 60 78 if (fis != null ) {
+ 60 39 if (fis != null ) {
61
try {
- 62 70 fis.close();
+ 62 35 fis.close();
63 0 } catch (IOException ex) {
64 0 LOGGER.log(Level.FINEST, "Error closing file '" + file.getName() + "'." , ex);
- 65 78 }
+ 65 39 }
66
}
67
}
- 68 70 return complete.digest();
+ 68 35 return complete.digest();
69
}
70
@@ -160,8 +160,8 @@
79
public static String getMD5Checksum(File file) throws IOException, NoSuchAlgorithmException {
- 80 40 byte [] b = getChecksum("MD5" , file);
- 81 34 return getHex(b);
+ 80 20 byte [] b = getChecksum("MD5" , file);
+ 81 17 return getHex(b);
82
}
83
@@ -184,8 +184,8 @@
92
public static String getSHA1Checksum(File file) throws IOException, NoSuchAlgorithmException {
- 93 34 byte [] b = getChecksum("SHA1" , file);
- 94 34 return getHex(b);
+ 93 17 byte [] b = getChecksum("SHA1" , file);
+ 94 17 return getHex(b);
95
}
96
@@ -212,22 +212,22 @@
107
public static String getHex(byte [] raw) {
- 108 70 if (raw == null ) {
+ 108 35 if (raw == null ) {
109 0 return null ;
110
}
- 111 70 final StringBuilder hex = new StringBuilder(2 * raw.length);
- 112 1328 for (final byte b : raw) {
- 113 1258 hex.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
+ 111 35 final StringBuilder hex = new StringBuilder(2 * raw.length);
+ 112 664 for (final byte b : raw) {
+ 113 629 hex.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
114
}
- 115 70 return hex.toString();
+ 115 35 return hex.toString();
116
}
117
}
-
+
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 d275c8597..8655285ff 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DBUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DBUtils.html
@@ -89,7 +89,7 @@
36
- 37 2 private static final Logger LOGGER = Logger.getLogger(DBUtils.class .getName());
+ 37 1 private static final Logger LOGGER = Logger.getLogger(DBUtils.class .getName());
38
39
@@ -150,16 +150,16 @@
72
public static void closeStatement(Statement statement) {
- 73 70 if (statement != null ) {
+ 73 35 if (statement != null ) {
74
try {
- 75 70 statement.close();
+ 75 35 statement.close();
76 0 } catch (SQLException ex) {
77 0 LOGGER.log(Level.FINEST, statement.toString(), ex);
- 78 70 }
+ 78 35 }
79
}
- 80 70 }
+ 80 35 }
81
82
@@ -174,20 +174,20 @@
87
public static void closeResultSet(ResultSet rs) {
- 88 74 if (rs != null ) {
+ 88 37 if (rs != null ) {
89
try {
- 90 74 rs.close();
+ 90 37 rs.close();
91 0 } catch (SQLException ex) {
92 0 LOGGER.log(Level.FINEST, rs.toString(), ex);
- 93 74 }
+ 93 37 }
94
}
- 95 74 }
+ 95 37 }
96
}
-
+
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 ca2244d01..051ecb66d 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
@@ -124,9 +124,9 @@
54
- 55 1448 public DependencyVersion(String version) {
- 56 1448 parseVersion(version);
- 57 1448 }
+ 55 724 public DependencyVersion(String version) {
+ 56 724 parseVersion(version);
+ 57 724 }
58
59
@@ -143,21 +143,21 @@
65
public final void parseVersion(String version) {
- 66 1452 versionParts = new ArrayList<String>();
- 67 1452 if (version != null ) {
- 68 1452 final Pattern rx = Pattern.compile("(\\d+|[a-z]+\\d+|(release|beta|alpha)$)" );
- 69 1452 final Matcher matcher = rx.matcher(version.toLowerCase());
- 70 6106 while (matcher.find()) {
- 71 4654 versionParts.add(matcher.group());
+ 66 726 versionParts = new ArrayList<String>();
+ 67 726 if (version != null ) {
+ 68 726 final Pattern rx = Pattern.compile("(\\d+|[a-z]+\\d+|(release|beta|alpha)$)" );
+ 69 726 final Matcher matcher = rx.matcher(version.toLowerCase());
+ 70 3053 while (matcher.find()) {
+ 71 2327 versionParts.add(matcher.group());
72
}
- 73 1452 if (versionParts.isEmpty()) {
- 74 12 versionParts.add(version);
+ 73 726 if (versionParts.isEmpty()) {
+ 74 6 versionParts.add(version);
75
}
76
}
- 77 1452 }
+ 77 726 }
78
79
@@ -216,7 +216,7 @@
106
public Iterator iterator() {
- 107 2 return versionParts.iterator();
+ 107 1 return versionParts.iterator();
108
}
109
@@ -235,7 +235,7 @@
@Override
116
public String toString() {
- 117 170 return StringUtils.join(versionParts.toArray(), "." );
+ 117 85 return StringUtils.join(versionParts.toArray(), "." );
118
}
119
@@ -256,30 +256,30 @@
@Override
127
public boolean equals(Object obj) {
- 128 1330 if (obj == null ) {
+ 128 665 if (obj == null ) {
129 0 return false ;
130
}
- 131 1330 if (getClass() != obj.getClass()) {
+ 131 665 if (getClass() != obj.getClass()) {
132 0 return false ;
133
}
- 134 1330 final DependencyVersion other = (DependencyVersion) obj;
- 135 1330 final int max = (this .versionParts.size() < other.versionParts.size())
+ 134 665 final DependencyVersion other = (DependencyVersion) obj;
+ 135 665 final int max = (this .versionParts.size() < other.versionParts.size())
136
? this .versionParts.size() : other.versionParts.size();
137
- 138 2886 for (int i = 0; i < max; i++) {
- 139 2564 final String thisPart = this .versionParts.get(i);
- 140 2564 final String otherPart = other.versionParts.get(i);
- 141 2564 if (!thisPart.equals(otherPart)) {
- 142 1008 return false ;
+ 138 1443 for (int i = 0; i < max; i++) {
+ 139 1282 final String thisPart = this .versionParts.get(i);
+ 140 1282 final String otherPart = other.versionParts.get(i);
+ 141 1282 if (!thisPart.equals(otherPart)) {
+ 142 504 return false ;
143
}
144
}
- 145 322 if (this .versionParts.size() > max) {
+ 145 161 if (this .versionParts.size() > max) {
146 0 for (int i = max; i < this .versionParts.size(); i++) {
147 0 if (!"0" .equals(this .versionParts.get(i))) {
148 0 return false ;
@@ -291,10 +291,10 @@
}
152
- 153 322 if (other.versionParts.size() > max) {
- 154 258 for (int i = max; i < other.versionParts.size(); i++) {
- 155 258 if (!"0" .equals(other.versionParts.get(i))) {
- 156 258 return false ;
+ 153 161 if (other.versionParts.size() > max) {
+ 154 129 for (int i = max; i < other.versionParts.size(); i++) {
+ 155 129 if (!"0" .equals(other.versionParts.get(i))) {
+ 156 129 return false ;
157
}
158
@@ -313,7 +313,7 @@
165
- 166 64 return true ;
+ 166 32 return true ;
167
}
168
@@ -332,9 +332,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
@@ -355,35 +355,35 @@
188
public boolean matchesAtLeastThreeLevels(DependencyVersion version) {
- 189 1208 if (version == null ) {
+ 189 604 if (version == null ) {
190 0 return false ;
191
}
192
- 193 1208 boolean ret = true ;
- 194 1208 int max = (this .versionParts.size() < version.versionParts.size())
+ 193 604 boolean ret = true ;
+ 194 604 int max = (this .versionParts.size() < version.versionParts.size())
195
? this .versionParts.size() : version.versionParts.size();
196
- 197 1208 if (max > 3) {
- 198 4 max = 3;
+ 197 604 if (max > 3) {
+ 198 2 max = 3;
199
}
200
- 201 2582 for (int i = 0; i < max; i++) {
- 202 2322 if (this .versionParts.get(i) == null || !this .versionParts.get(i).equals(version.versionParts.get(i))) {
- 203 948 ret = false ;
- 204 948 break ;
+ 201 1291 for (int i = 0; i < max; i++) {
+ 202 1161 if (this .versionParts.get(i) == null || !this .versionParts.get(i).equals(version.versionParts.get(i))) {
+ 203 474 ret = false ;
+ 204 474 break ;
205
}
206
}
207
- 208 1208 return ret;
+ 208 604 return ret;
209
}
210
@@ -392,36 +392,36 @@
@Override
212
public int compareTo(DependencyVersion version) {
- 213 38 if (version == null ) {
+ 213 19 if (version == null ) {
214 0 return 1;
215
}
- 216 38 final List<String> left = this .getVersionParts();
- 217 38 final List<String> right = version.getVersionParts();
- 218 38 final int max = left.size() < right.size() ? left.size() : right.size();
+ 216 19 final List<String> left = this .getVersionParts();
+ 217 19 final List<String> right = version.getVersionParts();
+ 218 19 final int max = left.size() < right.size() ? left.size() : right.size();
219
- 220 90 for (int i = 0; i < max; i++) {
- 221 76 final String lStr = left.get(i);
- 222 76 final String rStr = right.get(i);
- 223 76 if (lStr.equals(rStr)) {
- 224 52 continue ;
+ 220 45 for (int i = 0; i < max; i++) {
+ 221 38 final String lStr = left.get(i);
+ 222 38 final String rStr = right.get(i);
+ 223 38 if (lStr.equals(rStr)) {
+ 224 26 continue ;
225
}
226
try {
- 227 24 final int l = Integer.parseInt(lStr);
- 228 14 final int r = Integer.parseInt(rStr);
- 229 14 if (l < r) {
- 230 10 return -1;
- 231 4 } else if (l > r) {
- 232 4 return 1;
+ 227 12 final int l = Integer.parseInt(lStr);
+ 228 7 final int r = Integer.parseInt(rStr);
+ 229 7 if (l < r) {
+ 230 5 return -1;
+ 231 2 } else if (l > r) {
+ 232 2 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
@@ -429,13 +429,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
@@ -444,6 +444,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 d3e9af8be..efa9391eb 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
@@ -131,56 +131,56 @@
58
public static DependencyVersion parseVersion(String text) {
- 59 1390 if (text == null ) {
+ 59 695 if (text == null ) {
60 0 return null ;
61
}
62
- 63 1390 if ("-" .equals(text)) {
- 64 2 final DependencyVersion dv = new DependencyVersion();
- 65 2 final ArrayList<String> list = new ArrayList<String>();
- 66 2 list.add(text);
- 67 2 dv.setVersionParts(list);
- 68 2 return dv;
+ 63 695 if ("-" .equals(text)) {
+ 64 1 final DependencyVersion dv = new DependencyVersion();
+ 65 1 final ArrayList<String> list = new ArrayList<String>();
+ 66 1 list.add(text);
+ 67 1 dv.setVersionParts(list);
+ 68 1 return dv;
69
}
- 70 1388 String version = null ;
- 71 1388 Matcher matcher = RX_VERSION.matcher(text);
- 72 1388 if (matcher.find()) {
- 73 1380 version = matcher.group();
+ 70 694 String version = null ;
+ 71 694 Matcher matcher = RX_VERSION.matcher(text);
+ 72 694 if (matcher.find()) {
+ 73 690 version = matcher.group();
74
}
75
- 76 1388 if (matcher.find()) {
- 77 4 return null ;
+ 76 694 if (matcher.find()) {
+ 77 2 return null ;
78
}
- 79 1384 if (version == null ) {
- 80 8 matcher = RX_SINGLE_VERSION.matcher(text);
- 81 8 if (matcher.find()) {
- 82 4 version = matcher.group();
+ 79 692 if (version == null ) {
+ 80 4 matcher = RX_SINGLE_VERSION.matcher(text);
+ 81 4 if (matcher.find()) {
+ 82 2 version = matcher.group();
83
} else {
- 84 4 return null ;
+ 84 2 return null ;
85
}
86
- 87 4 if (matcher.find()) {
- 88 2 return null ;
+ 87 2 if (matcher.find()) {
+ 88 1 return null ;
89
}
90
}
- 91 1378 return new DependencyVersion(version);
+ 91 689 return new DependencyVersion(version);
92
}
93
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionUtil.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionUtil.html
index 149d15e08..08395f229 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionUtil.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionUtil.html
@@ -258,6 +258,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 b149bc895..d81689cca 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html
@@ -57,19 +57,19 @@
19
public Iterator<T> filter(Iterator<T> iterator) {
- 20 314 return new FilterIterator(iterator);
+ 20 157 return new FilterIterator(iterator);
21
}
22
23
public Iterable<T> filter(final Iterable<T> iterable) {
- 24 314 return new Iterable<T>() {
+ 24 157 return new Iterable<T>() {
25
26
public Iterator<T> iterator() {
- 27 314 return filter(iterable.iterator());
+ 27 157 return filter(iterable.iterator());
28
}
29
@@ -78,7 +78,7 @@
}
31
- 32 314 private class FilterIterator implements Iterator<T> {
+ 32 157 private class FilterIterator implements Iterator<T> {
33
34
@@ -87,28 +87,28 @@
private T next;
36
- 37 314 private FilterIterator(Iterator<T> iterator) {
- 38 314 this .iterator = iterator;
- 39 314 toNext();
- 40 314 }
+ 37 157 private FilterIterator(Iterator<T> iterator) {
+ 38 157 this .iterator = iterator;
+ 39 157 toNext();
+ 40 157 }
41
42
public boolean hasNext() {
- 43 1912 return next != null ;
+ 43 956 return next != null ;
44
}
45
46
public T next() {
- 47 1686 if (next == null ) {
+ 47 843 if (next == null ) {
48 0 throw new NoSuchElementException();
49
}
- 50 1686 T returnValue = next;
- 51 1686 toNext();
- 52 1686 return returnValue;
+ 50 843 T returnValue = next;
+ 51 843 toNext();
+ 52 843 return returnValue;
53
}
54
@@ -122,22 +122,22 @@
59
private void toNext() {
- 60 2000 next = null ;
- 61 2810 while (iterator.hasNext()) {
- 62 2580 T item = iterator.next();
- 63 2580 if (item != null && passes(item)) {
- 64 1770 next = item;
- 65 1770 break ;
+ 60 1000 next = null ;
+ 61 1405 while (iterator.hasNext()) {
+ 62 1290 T item = iterator.next();
+ 63 1290 if (item != null && passes(item)) {
+ 64 885 next = item;
+ 65 885 break ;
66
}
- 67 810 }
- 68 2000 }
+ 67 405 }
+ 68 1000 }
69
}
70
}
-
+
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 0d0745004..856b8d4da 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html
@@ -107,11 +107,11 @@
public void close() {
45
- 46 2 }
+ 46 1 }
47
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Pair.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Pair.html
index f4b0eeb2e..7dadb6081 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Pair.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Pair.html
@@ -211,10 +211,10 @@
@Override
97
public int hashCode() {
- 98 44294 int hash = 3;
- 99 44294 hash = 53 * hash + (this .left != null ? this .left.hashCode() : 0);
- 100 44294 hash = 53 * hash + (this .right != null ? this .right.hashCode() : 0);
- 101 44294 return hash;
+ 98 22147 int hash = 3;
+ 99 22147 hash = 53 * hash + (this .left != null ? this .left.hashCode() : 0);
+ 100 22147 hash = 53 * hash + (this .right != null ? this .right.hashCode() : 0);
+ 101 22147 return hash;
102
}
103
@@ -259,6 +259,6 @@
}
-
+
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 ce2fecac3..92e87344b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html
@@ -99,14 +99,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
@@ -125,7 +125,7 @@
55
public static boolean containsUrl(String text) {
- 56 24200 return CONTAINS_URL_TEST.matcher(text).matches();
+ 56 18838 return CONTAINS_URL_TEST.matcher(text).matches();
57
}
58
@@ -144,7 +144,7 @@
65
public static boolean isUrl(String text) {
- 66 14 return IS_URL_TEST.matcher(text).matches();
+ 66 7 return IS_URL_TEST.matcher(text).matches();
67
}
68
@@ -153,7 +153,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
@@ -188,40 +188,40 @@
88
public static List<String> extractImportantUrlData(String text) throws MalformedURLException {
- 89 14 final ArrayList<String> importantParts = new ArrayList<String>();
- 90 14 final URL url = new URL(text);
- 91 14 final String[] domain = url.getHost().split("\\." );
+ 89 7 final ArrayList<String> importantParts = new ArrayList<String>();
+ 90 7 final URL url = new URL(text);
+ 91 7 final String[] domain = url.getHost().split("\\." );
92
- 93 40 for (int i = 0; i < domain.length - 1; i++) {
- 94 26 final String sub = domain[i];
- 95 26 if (!IGNORE_LIST.contains(sub.toLowerCase())) {
- 96 24 importantParts.add(sub);
+ 93 20 for (int i = 0; i < domain.length - 1; i++) {
+ 94 13 final String sub = domain[i];
+ 95 13 if (!IGNORE_LIST.contains(sub.toLowerCase())) {
+ 96 12 importantParts.add(sub);
97
}
98
}
- 99 14 final String document = url.getPath();
- 100 14 final String[] pathParts = document.split("[\\//]" );
- 101 24 for (int i = 0; i < pathParts.length - 2; i++) {
- 102 10 if (!pathParts[i].isEmpty()) {
+ 99 7 final String document = url.getPath();
+ 100 7 final String[] pathParts = document.split("[\\//]" );
+ 101 12 for (int i = 0; i < pathParts.length - 2; i++) {
+ 102 5 if (!pathParts[i].isEmpty()) {
103 0 importantParts.add(pathParts[i]);
104
}
105
}
- 106 14 if (pathParts.length > 0 && !pathParts[pathParts.length - 1].isEmpty()) {
- 107 12 final String fileNameNoExt = pathParts[pathParts.length - 1].replaceAll("\\..*{0,5}$" , "" );
- 108 12 importantParts.add(fileNameNoExt);
+ 106 7 if (pathParts.length > 0 && !pathParts[pathParts.length - 1].isEmpty()) {
+ 107 6 final String fileNameNoExt = pathParts[pathParts.length - 1].replaceAll("\\..*{0,5}$" , "" );
+ 108 6 importantParts.add(fileNameNoExt);
109
}
- 110 14 return importantParts;
+ 110 7 return importantParts;
111
}
112
}
-
+
diff --git a/dependency-check-core/cpd.html b/dependency-check-core/cpd.html
index 7ab7e0300..4cb650424 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -248,10 +248,10 @@
Line
org\owasp\dependencycheck\analyzer\ArchiveAnalyzer.java
-165
+165
org\owasp\dependencycheck\analyzer\JarAnalyzer.java
-976
+976
@Override
diff --git a/dependency-check-core/dependency-updates-report.html b/dependency-check-core/dependency-updates-report.html
index 6d00d573e..731ede4db 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,9 +67,9 @@
-
| Last Published: 2014-06-22
+
| Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -595,7 +595,7 @@
org.owasp
dependency-check-utils
-
1.2.2
+
1.2.3
compile
jar
@@ -719,7 +719,7 @@
jar
Newer versions
-1.3.173 Next Incremental 1.3.174 1.3.1751.3.176 Latest Incremental 1.4.177 Next Minor 1.4.178 Latest Minor
+1.3.173 Next Incremental 1.3.174 1.3.1751.3.176 Latest Incremental 1.4.177 Next Minor 1.4.1781.4.179 Latest Minor
com.hazelcast:hazelcast
@@ -746,7 +746,7 @@
jar
Newer versions
-2.5.1 Next Incremental 2.6 Next Minor 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.6.8 2.6.9 3.0-RC13.0-RC2 Latest Minor 3.0 Next Major 3.0.1 3.0.2 3.0.3 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.2-RC1 3.2-RC2 3.2 3.2.1 3.2.2 3.2.3 3.3-EA3.3-EA2 Latest Major
+2.5.1 Next Incremental 2.6 Next Minor 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.6.8 2.6.9 3.0-RC13.0-RC2 Latest Minor 3.0 Next Major 3.0.1 3.0.2 3.0.3 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.2-RC1 3.2-RC2 3.2 3.2.1 3.2.2 3.2.3 3.3-RC1 3.3-EA3.3-EA2 Latest Major
commons-cli:commons-cli
@@ -1004,7 +1004,7 @@
jar
Newer versions
-4.6.0 Next Minor 4.6.1 4.7.0 4.7.1 4.7.2 4.8.04.8.1 Latest Minor
+4.6.0 Next Minor 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.14.9.0 Latest Minor
org.apache.lucene:lucene-core
@@ -1031,7 +1031,7 @@
jar
Newer versions
-4.6.0 Next Minor 4.6.1 4.7.0 4.7.1 4.7.2 4.8.04.8.1 Latest Minor
+4.6.0 Next Minor 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.14.9.0 Latest Minor
org.apache.lucene:lucene-queryparser
@@ -1058,7 +1058,7 @@
jar
Newer versions
-4.6.0 Next Minor 4.6.1 4.7.0 4.7.1 4.7.2 4.8.04.8.1 Latest Minor
+4.6.0 Next Minor 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.14.9.0 Latest Minor
org.apache.lucene:lucene-test-framework
@@ -1085,7 +1085,7 @@
jar
Newer versions
-4.4.0 Next Minor 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.04.8.1 Latest Minor
+4.4.0 Next Minor 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.14.9.0 Latest Minor
org.apache.maven.scm:maven-scm-provider-cvsexe
@@ -1334,7 +1334,7 @@
dependency-check-utils
Current Version
-1.2.2
+1.2.3
Scope
compile
diff --git a/dependency-check-core/failsafe-report.html b/dependency-check-core/failsafe-report.html
index 01c2f7dfc..fb20e4ef7 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -273,7 +273,7 @@ function toggleDisplay(elementId) {
0
0
100%
-560.478
+
1,456.622
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Package List
@@ -294,7 +294,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
32.553
+
66.125
org.owasp.dependencycheck
2
@@ -302,7 +302,7 @@ function toggleDisplay(elementId) {
0
0
100%
-94.223
+
109.276
org.owasp.dependencycheck.analyzer
17
@@ -310,7 +310,7 @@ function toggleDisplay(elementId) {
0
0
100%
-246.87
+
688.516
org.owasp.dependencycheck.data.update
4
@@ -318,7 +318,7 @@ function toggleDisplay(elementId) {
0
0
100%
-31.432
+
69.887
org.owasp.dependencycheck.data.nvdcve
8
@@ -326,7 +326,7 @@ function toggleDisplay(elementId) {
0
0
100%
-155.4
+
522.818
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
org.owasp.dependencycheck.reporting
@@ -348,7 +348,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
32.553
+
66.125
org.owasp.dependencycheck
@@ -369,7 +369,7 @@ function toggleDisplay(elementId) {
0
0
100%
-94.223
+109.276
org.owasp.dependencycheck.analyzer
+75.69
org.owasp.dependencycheck.data.update
@@ -429,7 +429,7 @@ function toggleDisplay(elementId) {
0
0
100%
-24.639
+63.918
StandardUpdateIntegrationTest
@@ -438,7 +438,7 @@ function toggleDisplay(elementId) {
0
0
100%
-6.793
+5.969
org.owasp.dependencycheck.data.nvdcve
@@ -459,7 +459,7 @@ function toggleDisplay(elementId) {
0
0
100%
-57.307
+206.034
DatabasePropertiesIntegrationTest
@@ -468,7 +468,7 @@ function toggleDisplay(elementId) {
0
0
100%
-98.093
+316.784
Test Cases
[Summary ] [Package List ] [Test Cases ]
@@ -478,159 +478,159 @@ function toggleDisplay(elementId) {
testAnalyzeTar
-28.104
+
82.304
testAnalyzeTgz
-23.515
+
73.83
testAnalyze
-25.304
+
58.836
testGetAnalysisPhase
-3.896
+
3.375
testGetName
-3.343
+
3.956
testAnalyze_badZip
-18.653
+
87.122
testInitialize
-4.097
+
4.024
testAnalyzeTarGz
-21.009
+
86.632
testSupportsExtension
-5.494
+
15.212
testGetSupportedExtensions
-3.399
+7.728
CPEAnalyzerIntegrationTest
testSearchCPE
-21.368
+69.725
testDetermineCPE
-20.171
+42.014
testDetermineCPE_full
-36.654
+73.012
testBuildSearch
-4.308
+5.056
VulnerabilitySuppressionAnalyzerIntegrationTest
testAnalyze
-19.529
+66.174
testGetAnalysisPhase
-4.916
+5.524
testGetName
-3.11
+3.992
CveDBIntegrationTest
testOpen
-23.592
+91.713
testGetCPEs
-14.964
+46.74
testGetVulnerabilities
-18.751
+67.581
DatabasePropertiesIntegrationTest
testSave
-22.904
+71.712
testGetProperty_String_String
-15.986
+68.641
testGetProperties
-21.22
+42.424
testGetProperty_String
-17.139
+60.877
testIsEmpty
-20.844
+73.13
NvdCveUpdaterIntegrationTest
testUpdate
-24.639
+63.918
StandardUpdateIntegrationTest
testOpenDataStores
-3.309
+2.496
testUpdatesNeeded
-1.662
+1.765
testWithinRange
-1.822
+1.708
EngineIntegrationTest
testScan
-1.793
+1.105
testEngine
-92.43
+108.171
ReportGeneratorIntegrationTest
testGenerateXMLReport
-27.881
+60.571
testGenerateReport
-4.672
+5.554
diff --git a/dependency-check-core/findbugs.html b/dependency-check-core/findbugs.html
index 896b5ef7c..476cf055b 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -253,7 +253,7 @@
Missing Classes
199
-5
+6
0
0
org.owasp.dependencycheck.analyzer.AssemblyAnalyzer
-
+
Bug
Category
Details
Line
Priority
-
+
org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.initializeFileTypeAnalyzer() discards result of readLine after checking if it is nonnull
STYLE
RV_DONT_JUST_NULL_CHECK_READLINE
@@ -289,19 +292,19 @@
org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer
-
+
Bug
Category
Details
Line
Priority
-
+
Possible null pointer dereference of currentVersion on branch that might be infeasible in org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.removeSpuriousCPE(Dependency)
STYLE
NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE
145
Medium
-
+
Possible null pointer dereference of nextVersion on branch that might be infeasible in org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.removeSpuriousCPE(Dependency)
STYLE
NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE
@@ -310,18 +313,33 @@
org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer
-
+
Bug
Category
Details
Line
Priority
-
+
Found reliance on default encoding in org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.analyzeFileType(Dependency, Engine): new java.io.FileReader(File)
I18N
DM_DEFAULT_ENCODING
115
-High
+High
+
+
org.owasp.dependencycheck.suppression.SuppressionParser
+
+
+Bug
+Category
+Details
+Line
+Priority
+
+org.owasp.dependencycheck.suppression.SuppressionParser.parseSuppressionRules(File) may fail to clean up java.io.InputStream
+EXPERIMENTAL
+OBL_UNSATISFIED_OBLIGATION
+72
+Medium
diff --git a/dependency-check-core/index.html b/dependency-check-core/index.html
index 73a0a76f0..1224afb81 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-core/javancss.html b/dependency-check-core/javancss.html
index c90301394..37e5c9d32 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -259,7 +259,7 @@
org.owasp.dependencycheck.analyzer
23
172
-2227
+2226
190
1283
148
@@ -292,6 +292,15 @@
31
281
+org.owasp.dependencycheck.suppression
+6
+53
+383
+59
+369
+5
+154
+
org.owasp.dependencycheck.utils
11
48
@@ -300,15 +309,6 @@
288
6
172
-
-org.owasp.dependencycheck.suppression
-6
-52
-379
-58
-362
-5
-154
org.owasp.dependencycheck.data.update.xml
4
@@ -455,10 +455,10 @@
Multi lines comment
196
-1364
-8607
-1510
-12755
+1365
+8610
+1511
+12762
485
2681
+8.16
diff --git a/dependency-check-core/license.html b/dependency-check-core/license.html
index 95817c906..5d2d47b1b 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-core/plugin-updates-report.html b/dependency-check-core/plugin-updates-report.html
index 76d7e1529..19fb68568 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-core/pmd.html b/dependency-check-core/pmd.html
index 921d26993..3afbe0448 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -250,10 +250,10 @@
Line
These nested if statements could be combined
-362 –365
+362–365
These nested if statements could be combined
-376 –379
+376–379
org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java
@@ -262,7 +262,7 @@
Line
Avoid empty while statements
-236 –238
+236–238
org/owasp/dependencycheck/analyzer/CPEAnalyzer.java
@@ -271,16 +271,16 @@
Line
Useless parentheses.
-222
+222
These nested if statements could be combined
-541 –546
+541–546
These nested if statements could be combined
-542 –545
+542–545
These nested if statements could be combined
-551 –554
+551–554
org/owasp/dependencycheck/analyzer/DependencyBundlingAnalyzer.java
@@ -289,7 +289,7 @@
Line
These nested if statements could be combined
-228 –230
+228–230
org/owasp/dependencycheck/analyzer/FalsePositiveAnalyzer.java
@@ -298,7 +298,7 @@
Line
These nested if statements could be combined
-134 –154
+134–154
org/owasp/dependencycheck/analyzer/JarAnalyzer.java
@@ -307,7 +307,7 @@
Line
Useless parentheses.
-373
+373
org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.java
@@ -316,7 +316,7 @@
Line
Avoid unused local variables such as 'extractComments'.
-113
+113
org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.java
@@ -325,7 +325,7 @@
Line
Useless parentheses.
-76
+76
org/owasp/dependencycheck/data/cpe/IndexEntry.java
@@ -334,10 +334,10 @@
Line
Useless parentheses.
-172
+172
Useless parentheses.
-175
+175
org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.java
@@ -346,7 +346,7 @@
Line
These nested if statements could be combined
-248 –250
+248–250
org/owasp/dependencycheck/data/nvdcve/CveDB.java
@@ -355,7 +355,7 @@
Line
Useless parentheses.
-745
+745
org/owasp/dependencycheck/data/nvdcve/DriverShim.java
@@ -364,7 +364,7 @@
Line
Useless parentheses.
-192
+192
org/owasp/dependencycheck/data/update/StandardUpdate.java
@@ -373,7 +373,7 @@
Line
Useless parentheses.
-118
+118
org/owasp/dependencycheck/dependency/Dependency.java
@@ -382,28 +382,28 @@
Line
Useless parentheses.
-599
+599
Useless parentheses.
-602
+602
Useless parentheses.
-605
+605
Useless parentheses.
-608
+608
Useless parentheses.
-611
+611
Useless parentheses.
-614
+614
Useless parentheses.
-629
+629
Useless parentheses.
-632
+632
org/owasp/dependencycheck/dependency/Evidence.java
@@ -412,7 +412,7 @@
Line
Useless parentheses.
-202
+202
org/owasp/dependencycheck/dependency/Identifier.java
@@ -421,10 +421,10 @@
Line
Useless parentheses.
-175
+175
Useless parentheses.
-178
+178
org/owasp/dependencycheck/dependency/Reference.java
@@ -433,13 +433,13 @@
Line
Useless parentheses.
-109
+109
Useless parentheses.
-112
+112
Useless parentheses.
-115
+115
org/owasp/dependencycheck/dependency/Vulnerability.java
@@ -448,7 +448,7 @@
Line
Useless parentheses.
-373
+373
org/owasp/dependencycheck/dependency/VulnerableSoftware.java
@@ -457,13 +457,13 @@
Line
Useless parentheses.
-143
+143
Useless parentheses.
-182
+182
Useless parentheses.
-187
+187
org/owasp/dependencycheck/suppression/PropertyType.java
@@ -472,7 +472,7 @@
Line
Useless parentheses.
-161
+161
org/owasp/dependencycheck/utils/Checksum.java
@@ -481,7 +481,7 @@
Line
Useless parentheses.
-113
+113
org/owasp/dependencycheck/utils/DependencyVersion.java
@@ -490,10 +490,10 @@
Line
Useless parentheses.
-135
+135
Useless parentheses.
-194
+194
diff --git a/dependency-check-core/project-info.html b/dependency-check-core/project-info.html
index 547cbba96..f52d19321 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-core/project-reports.html b/dependency-check-core/project-reports.html
index d5dfa9c40..63a252027 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-core/project-summary.html b/dependency-check-core/project-summary.html
index 99040553e..39425f4ec 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -203,7 +203,7 @@
dependency-check-core
Version
-1.2.2
+1.2.3
Type
jar
diff --git a/dependency-check-core/surefire-report.html b/dependency-check-core/surefire-report.html
index dabce3d36..80550dbec 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -273,7 +273,7 @@ function toggleDisplay(elementId) {
0
1
99.351%
-48.094
+111.87
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Package List
@@ -310,7 +310,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
1.224
+
1.751
org.owasp.dependencycheck.dependency
23
@@ -318,7 +318,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.04
+
0.049
org.owasp.dependencycheck.utils
16
@@ -326,7 +326,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0
+
0.001
org.owasp.dependencycheck.data.update.xml
2
@@ -334,7 +334,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.058
+
0.111
org.owasp.dependencycheck.analyzer
42
@@ -342,7 +342,7 @@ function toggleDisplay(elementId) {
0
1
97.619%
-45.46
+
108.142
org.owasp.dependencycheck.data.update
10
@@ -358,7 +358,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.048
+
0.035
org.owasp.dependencycheck.suppression
36
@@ -366,7 +366,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.001
+
0.006
org.owasp.dependencycheck.data.lucene
10
@@ -374,7 +374,7 @@ function toggleDisplay(elementId) {
0
0
100%
-1.263
+
1.774
org.owasp.dependencycheck.data.cpe
1
@@ -382,7 +382,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0
+
0.001
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
org.owasp.dependencycheck.data.cwe
@@ -446,7 +446,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
1.224
+
1.751
org.owasp.dependencycheck.dependency
@@ -467,7 +467,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.04
+0.049
VulnerableSoftwareTest
@@ -506,7 +506,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0
+0.001
DependencyVersionUtilTest
@@ -554,7 +554,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.058
+0.111
org.owasp.dependencycheck.analyzer
@@ -575,7 +575,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0
+0.017
AbstractSuppressionAnalyzerTest
@@ -584,7 +584,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.628
+0.526
AnalyzerServiceTest
@@ -593,7 +593,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.569
+0.496
AssemblyAnalyzerTest
@@ -602,7 +602,7 @@ function toggleDisplay(elementId) {
0
1
80%
-0.991
+1.161
DependencyBundlingAnalyzerTest
@@ -629,7 +629,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.073
+0.074
HintAnalyzerTest
@@ -638,7 +638,7 @@ function toggleDisplay(elementId) {
0
0
100%
-41
+104.476
JarAnalyzerTest
@@ -647,7 +647,7 @@ function toggleDisplay(elementId) {
0
0
100%
-2.183
+1.378
JavaScriptAnalyzerTest
@@ -656,7 +656,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.016
+0.014
NuspecAnalyzerTest
@@ -716,7 +716,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.048
+0.035
org.owasp.dependencycheck.suppression
@@ -764,7 +764,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.001
+0.006
org.owasp.dependencycheck.data.lucene
@@ -785,7 +785,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0
+0.027
LuceneUtilsTest
@@ -803,7 +803,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.072
+0.322
UrlTokenizingFilterTest
@@ -812,7 +812,7 @@ function toggleDisplay(elementId) {
0
0
100%
-1.191
+1.425
org.owasp.dependencycheck.data.cpe
@@ -833,7 +833,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0
+0.001
+0.017
AbstractSuppressionAnalyzerTest
testFailureToLocateSuppressionFileAnywhere
-0.509
+0.417
testGetRulesFromSuppressionFileFromURL
-0.094
+0.089
testGetRulesFromSuppressionFileInClasspath
-0.024
+0.02
testGetSupportedExtensions
-0.001
+0
AnalyzerServiceTest
testGetAnalyzers
-0.569
+0.496
AssemblyAnalyzerTest
testGetName
-0.295
+0.266
testAnalysis
-0.205
+0.576
testWithSettingMono
@@ -893,11 +893,11 @@ function toggleDisplay(elementId) {
testNonexistent
-0.142
+0.092
testLog4Net
-0.349
+0.227
DependencyBundlingAnalyzerTest
@@ -938,7 +938,7 @@ function toggleDisplay(elementId) {
testAnalyze
-0.073
+0.07
testClose
@@ -946,7 +946,7 @@ function toggleDisplay(elementId) {
testGetAnalysisPhase
-0
+0.001
testGetName
@@ -954,52 +954,52 @@ function toggleDisplay(elementId) {
testInitialize
-0
+0.003
HintAnalyzerTest
testAnalyze
-31.424
+92.301
testGetAnalysisPhase
-5.02
+4.27
testGetName
-4.556
+7.905
JarAnalyzerTest
testAnalyze
-0.696
+0.372
testGetName
-0.491
+0.241
testInterpolateString
-0.391
+0.257
testSupportsExtension
-0.335
+0.246
testGetSupportedExtensions
-0.27
+0.262
JavaScriptAnalyzerTest
testAnalyze
-0.014
+0.013
testClose
@@ -1011,7 +1011,7 @@ function toggleDisplay(elementId) {
testGetName
-0.002
+0.001
testInitialize
@@ -1049,7 +1049,7 @@ function toggleDisplay(elementId) {
testSetName
-0
+0.001
CweDBTest
@@ -1063,7 +1063,7 @@ function toggleDisplay(elementId) {
testAnalyzers
-0
+0.027
LuceneUtilsTest
@@ -1088,46 +1088,46 @@ function toggleDisplay(elementId) {
-testClear
-0.06
+testExamples
+0.087
-testExamples
-0.012
+testClear
+0.235
UrlTokenizingFilterTest
testExamples
-0.054
+0.056
-testEmptyTerm
-0.015
+testRandomStrings
+1.361
-testRandomStrings
-1.122
+testEmptyTerm
+0.008
NexusSearchTest
testNullSha1
-0.996
+1.248
testMalformedSha1
-0.045
+0.067
testValidSha1
-0.097
+0.217
testMissingSha1
-0.086
+0.219
XPathNuspecParserTest
@@ -1165,11 +1165,11 @@ function toggleDisplay(elementId) {
testLoad_String_String
-0
+0.024
testLoad_String_String_multiple_paths
-0.048
+0.011
NvdCveInfoTest
@@ -1229,7 +1229,7 @@ function toggleDisplay(elementId) {
testParse
-0.058
+0.111
DependencyTest
@@ -1240,7 +1240,7 @@ function toggleDisplay(elementId) {
testGetSha1sum
-0.01
+0.019
testGetProductEvidence
@@ -1248,7 +1248,7 @@ function toggleDisplay(elementId) {
testGetActualFilePath
-0
+0.002
testSetFileExtension
@@ -1264,7 +1264,7 @@ function toggleDisplay(elementId) {
testAddIdentifier
-0
+0.002
testGetVendorEvidence
@@ -1288,7 +1288,7 @@ function toggleDisplay(elementId) {
testGetFileExtension
-0
+0.001
testSetMd5sum
@@ -1296,7 +1296,7 @@ function toggleDisplay(elementId) {
testGetMd5sum
-0.029
+0.024
testGetEvidence
@@ -1403,7 +1403,7 @@ function toggleDisplay(elementId) {
testProcessGAV
-0
+0.004
testAddCvssBelow
@@ -1423,11 +1423,11 @@ function toggleDisplay(elementId) {
testGetFilePath
-0.001
+0
testAddCpe
-0
+0.001
testAddCve
@@ -1483,7 +1483,7 @@ function toggleDisplay(elementId) {
testCountCharacter
-0
+0.001
ChecksumTest
@@ -1537,7 +1537,7 @@ function toggleDisplay(elementId) {
testEquals
-0
+0.001
testIterator
diff --git a/dependency-check-core/taglist.html b/dependency-check-core/taglist.html
index 466ce7906..0604b5b5b 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-core/xref-test/index.html b/dependency-check-core/xref-test/index.html
index 794b5abc7..487680616 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.2.2 Reference
+ Dependency-Check Core 1.2.3 Reference
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 490602c9d..26b075862 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.2.2 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.analyzer
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 2fdfe4742..97859b842 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.2.2 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.analyzer
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 4b8838d3a..6a3f61fb7 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.2.2 Reference Package org.owasp.dependencycheck.data.cpe
+ Dependency-Check Core 1.2.3 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 0cb0b92e7..562185fde 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.2.2 Reference Package org.owasp.dependencycheck.data.cpe
+ Dependency-Check Core 1.2.3 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 2bdcca037..c02170a71 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.2.2 Reference Package org.owasp.dependencycheck.data.cwe
+ Dependency-Check Core 1.2.3 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 bcc6d81cf..953bafb2c 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.2.2 Reference Package org.owasp.dependencycheck.data.cwe
+ Dependency-Check Core 1.2.3 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 77331abd0..e43618500 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.2.2 Reference Package org.owasp.dependencycheck.data.lucene
+ Dependency-Check Core 1.2.3 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 7f654008f..5d0c7aaf0 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.2.2 Reference Package org.owasp.dependencycheck.data.lucene
+ Dependency-Check Core 1.2.3 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 4c4077f60..64417f6f7 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.2.2 Reference Package org.owasp.dependencycheck.data.nexus
+ Dependency-Check Core 1.2.3 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 610d08fed..5db72f65b 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.2.2 Reference Package org.owasp.dependencycheck.data.nexus
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.data.nexus
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
index 6f7a3d2d4..71b120db9 100644
--- 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
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.2.2 Reference Package org.owasp.dependencycheck.data.nuget
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.data.nuget
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
index 75a91f7f5..764760846 100644
--- 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
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.2.2 Reference Package org.owasp.dependencycheck.data.nuget
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.data.nuget
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 d26d8854f..d27ef62f5 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.2.2 Reference Package org.owasp.dependencycheck.data.nvdcve
+ Dependency-Check Core 1.2.3 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 7952c20ba..63f1e4d4e 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.2.2 Reference Package org.owasp.dependencycheck.data.nvdcve
+ Dependency-Check Core 1.2.3 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 d2e0c5903..d055e3cea 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.2.2 Reference Package org.owasp.dependencycheck.data.update
+ Dependency-Check Core 1.2.3 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 bda92e1a7..f84d68528 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.2.2 Reference Package org.owasp.dependencycheck.data.update
+ Dependency-Check Core 1.2.3 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 cdadbf4a7..c2b52f5f3 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.2.2 Reference Package org.owasp.dependencycheck.data.update.xml
+ Dependency-Check Core 1.2.3 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 b8e07c5d8..d025c2b5c 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.2.2 Reference Package org.owasp.dependencycheck.data.update.xml
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.data.update.xml
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 103f94a15..3e0b7040c 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.2.2 Reference Package org.owasp.dependencycheck.dependency
+ Dependency-Check Core 1.2.3 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 2d7c920e1..9fa396146 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.2.2 Reference Package org.owasp.dependencycheck.dependency
+ Dependency-Check Core 1.2.3 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 f1c703a84..e43300fd1 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.2.2 Reference Package org.owasp.dependencycheck
+ Dependency-Check Core 1.2.3 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 e5d78054a..769129946 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.2.2 Reference Package org.owasp.dependencycheck
+ Dependency-Check Core 1.2.3 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 8d8b7cbdc..f162881bd 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.2.2 Reference Package org.owasp.dependencycheck.reporting
+ Dependency-Check Core 1.2.3 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 be8d3b614..c2478a845 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.2.2 Reference Package org.owasp.dependencycheck.reporting
+ Dependency-Check Core 1.2.3 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 a6db9965d..eeebca536 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.2.2 Reference Package org.owasp.dependencycheck.suppression
+ Dependency-Check Core 1.2.3 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 61a49791e..c222f5fb7 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.2.2 Reference Package org.owasp.dependencycheck.suppression
+ Dependency-Check Core 1.2.3 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 7981659a9..4491d95e1 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.2.2 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.2.3 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 4a689c4db..d05f6b365 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.2.2 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.2.3 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 535c9db40..2aade9b4e 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.2.2 Reference
+ Dependency-Check Core 1.2.3 Reference
diff --git a/dependency-check-core/xref-test/overview-summary.html b/dependency-check-core/xref-test/overview-summary.html
index 2ced79358..20721aab1 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.2.2 Reference
+ Dependency-Check Core 1.2.3 Reference
@@ -24,7 +24,7 @@
- Dependency-Check Core 1.2.2 Reference
+ Dependency-Check Core 1.2.3 Reference
diff --git a/dependency-check-core/xref/index.html b/dependency-check-core/xref/index.html
index 794b5abc7..487680616 100644
--- a/dependency-check-core/xref/index.html
+++ b/dependency-check-core/xref/index.html
@@ -4,7 +4,7 @@
- Dependency-Check Core 1.2.2 Reference
+ Dependency-Check Core 1.2.3 Reference
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/agent/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/agent/package-frame.html
index c411e7652..73141f528 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/agent/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/agent/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.2.2 Reference Package org.owasp.dependencycheck.agent
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.agent
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/agent/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/agent/package-summary.html
index c3463257d..b0adfee9b 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/agent/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/agent/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.2.2 Reference Package org.owasp.dependencycheck.agent
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.agent
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.html
index 960d64eb6..ac9e57068 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.html
@@ -108,83 +108,82 @@
100 private void loadSuppressionData() throws SuppressionParseException {
101 final SuppressionParser parser = new SuppressionParser ();
102 File file = null ;
-103 file = new File(this .getClass().getClassLoader().getResource("dependencycheck-base-suppression.xml" ).getPath());
-104 try {
-105 rules = parser.parseSuppressionRules(file);
-106 } catch (SuppressionParseException ex) {
-107 LOGGER.log(Level.FINE, "Unable to parse the base suppression data file" , ex);
-108 }
-109 final String suppressionFilePath = Settings.getString(Settings.KEYS.SUPPRESSION_FILE);
-110 if (suppressionFilePath == null ) {
-111 return ;
-112 }
-113 boolean deleteTempFile = false;
-114 try {
-115 final Pattern uriRx = Pattern.compile("^(https?|file)\\:.*" , Pattern.CASE_INSENSITIVE);
-116 if (uriRx.matcher(suppressionFilePath).matches()) {
-117 deleteTempFile = true ;
-118 file = FileUtils.getTempFile("suppression" , "xml" );
-119 final URL url = new URL(suppressionFilePath);
-120 try {
-121 Downloader.fetchFile(url, file, false);
-122 } catch (DownloadFailedException ex) {
-123 Downloader.fetchFile(url, file, true );
-124 }
-125 } else {
-126 file = new File(suppressionFilePath);
-127 if (!file.exists()) {
-128 final InputStream suppressionsFromClasspath = this .getClass().getClassLoader().getResourceAsStream(suppressionFilePath);
-129 if (suppressionsFromClasspath != null ) {
-130 deleteTempFile = true ;
-131 file = FileUtils.getTempFile("suppression" , "xml" );
-132 try {
-133 org.apache.commons.io.FileUtils.copyInputStreamToFile(suppressionsFromClasspath, file);
-134 } catch (IOException ex) {
-135 throwSuppressionParseException("Unable to locate suppressions file in classpath" , ex);
-136 }
-137 }
-138 }
-139 }
-140
-141 if (file != null ) {
-142 try {
-143
-144 rules.addAll(parser.parseSuppressionRules(file));
-145 LOGGER.log(Level.FINE, rules.size() + " suppression rules were loaded." );
-146 } catch (SuppressionParseException ex) {
-147 final String msg = String.format("Unable to parse suppression xml file '%s'" , file.getPath());
-148 LOGGER.log(Level.WARNING, msg);
-149 LOGGER.log(Level.WARNING, ex.getMessage());
-150 LOGGER.log(Level.FINE, "" , ex);
-151 throw ex;
-152 }
-153 }
-154 } catch (DownloadFailedException ex) {
-155 throwSuppressionParseException("Unable to fetch the configured suppression file" , ex);
-156 } catch (MalformedURLException ex) {
-157 throwSuppressionParseException("Configured suppression file has an invalid URL" , ex);
-158 } catch (IOException ex) {
-159 throwSuppressionParseException("Unable to create temp file for suppressions" , ex);
-160 } finally {
-161 if (deleteTempFile && file != null ) {
-162 FileUtils.delete(file);
-163 }
-164 }
-165 }
-166
-167
-168
-169
-170
-171
-172
-173
-174 private void throwSuppressionParseException(String message, Exception exception) throws SuppressionParseException {
-175 LOGGER.log(Level.WARNING, message);
-176 LOGGER.log(Level.FINE, "" , exception);
-177 throw new SuppressionParseException (message, exception);
-178 }
-179 }
+103 try {
+104 rules = parser.parseSuppressionRules(this .getClass().getClassLoader().getResourceAsStream("dependencycheck-base-suppression.xml" ));
+105 } catch (SuppressionParseException ex) {
+106 LOGGER.log(Level.FINE, "Unable to parse the base suppression data file" , ex);
+107 }
+108 final String suppressionFilePath = Settings.getString(Settings.KEYS.SUPPRESSION_FILE);
+109 if (suppressionFilePath == null ) {
+110 return ;
+111 }
+112 boolean deleteTempFile = false;
+113 try {
+114 final Pattern uriRx = Pattern.compile("^(https?|file)\\:.*" , Pattern.CASE_INSENSITIVE);
+115 if (uriRx.matcher(suppressionFilePath).matches()) {
+116 deleteTempFile = true ;
+117 file = FileUtils.getTempFile("suppression" , "xml" );
+118 final URL url = new URL(suppressionFilePath);
+119 try {
+120 Downloader.fetchFile(url, file, false);
+121 } catch (DownloadFailedException ex) {
+122 Downloader.fetchFile(url, file, true );
+123 }
+124 } else {
+125 file = new File(suppressionFilePath);
+126 if (!file.exists()) {
+127 final InputStream suppressionsFromClasspath = this .getClass().getClassLoader().getResourceAsStream(suppressionFilePath);
+128 if (suppressionsFromClasspath != null ) {
+129 deleteTempFile = true ;
+130 file = FileUtils.getTempFile("suppression" , "xml" );
+131 try {
+132 org.apache.commons.io.FileUtils.copyInputStreamToFile(suppressionsFromClasspath, file);
+133 } catch (IOException ex) {
+134 throwSuppressionParseException("Unable to locate suppressions file in classpath" , ex);
+135 }
+136 }
+137 }
+138 }
+139
+140 if (file != null ) {
+141 try {
+142
+143 rules.addAll(parser.parseSuppressionRules(file));
+144 LOGGER.log(Level.FINE, rules.size() + " suppression rules were loaded." );
+145 } catch (SuppressionParseException ex) {
+146 final String msg = String.format("Unable to parse suppression xml file '%s'" , file.getPath());
+147 LOGGER.log(Level.WARNING, msg);
+148 LOGGER.log(Level.WARNING, ex.getMessage());
+149 LOGGER.log(Level.FINE, "" , ex);
+150 throw ex;
+151 }
+152 }
+153 } catch (DownloadFailedException ex) {
+154 throwSuppressionParseException("Unable to fetch the configured suppression file" , ex);
+155 } catch (MalformedURLException ex) {
+156 throwSuppressionParseException("Configured suppression file has an invalid URL" , ex);
+157 } catch (IOException ex) {
+158 throwSuppressionParseException("Unable to create temp file for suppressions" , ex);
+159 } finally {
+160 if (deleteTempFile && file != null ) {
+161 FileUtils.delete(file);
+162 }
+163 }
+164 }
+165
+166
+167
+168
+169
+170
+171
+172
+173 private void throwSuppressionParseException(String message, Exception exception) throws SuppressionParseException {
+174 LOGGER.log(Level.WARNING, message);
+175 LOGGER.log(Level.FINE, "" , exception);
+176 throw new SuppressionParseException (message, exception);
+177 }
+178 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/exception/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/exception/package-frame.html
index 4842cf063..ab1787ccb 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/exception/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/exception/package-frame.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.2.2 Reference Package org.owasp.dependencycheck.analyzer.exception
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.analyzer.exception
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/exception/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/exception/package-summary.html
index 4647bc68e..cadede512 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/exception/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/exception/package-summary.html
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.2.2 Reference Package org.owasp.dependencycheck.analyzer.exception
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.analyzer.exception
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 a4f1e4560..72f5c203b 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.2.2 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.analyzer
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 75db2fa64..0c3ba9338 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.2.2 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.analyzer
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 b993a2fd5..88093e877 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.2.2 Reference Package org.owasp.dependencycheck.data.cpe
+ Dependency-Check Core 1.2.3 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 3b7571e40..f54400203 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.2.2 Reference Package org.owasp.dependencycheck.data.cpe
+ Dependency-Check Core 1.2.3 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 26f70d6a8..814de9f67 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.2.2 Reference Package org.owasp.dependencycheck.data.cwe
+ Dependency-Check Core 1.2.3 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 e5f7027ac..4f9a2500b 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.2.2 Reference Package org.owasp.dependencycheck.data.cwe
+ Dependency-Check Core 1.2.3 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 e20a1561b..20105789c 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.2.2 Reference Package org.owasp.dependencycheck.data.lucene
+ Dependency-Check Core 1.2.3 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 2e57f8469..cab4ca78a 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.2.2 Reference Package org.owasp.dependencycheck.data.lucene
+ Dependency-Check Core 1.2.3 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 50550d829..05f7072a1 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.2.2 Reference Package org.owasp.dependencycheck.data.nexus
+ Dependency-Check Core 1.2.3 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 058f52b7b..babab8525 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.2.2 Reference Package org.owasp.dependencycheck.data.nexus
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.data.nexus
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
index 6b022e45e..d605c2bd3 100644
--- 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
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.2.2 Reference Package org.owasp.dependencycheck.data.nuget
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.data.nuget
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
index 3552bbfd5..a15ece0ea 100644
--- 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
@@ -3,7 +3,7 @@
- Dependency-Check Core 1.2.2 Reference Package org.owasp.dependencycheck.data.nuget
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.data.nuget
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 5d7bb942f..ea1fdb3b7 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.2.2 Reference Package org.owasp.dependencycheck.data.nvdcve
+ Dependency-Check Core 1.2.3 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 fe7d9490c..00da3b321 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.2.2 Reference Package org.owasp.dependencycheck.data.nvdcve
+ Dependency-Check Core 1.2.3 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 02621a0cb..b711258d7 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.2.2 Reference Package org.owasp.dependencycheck.data.update.exception
+ Dependency-Check Core 1.2.3 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 b0b146050..e86971240 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.2.2 Reference Package org.owasp.dependencycheck.data.update.exception
+ Dependency-Check Core 1.2.3 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 51aaf2281..e45b26da2 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.2.2 Reference Package org.owasp.dependencycheck.data.update
+ Dependency-Check Core 1.2.3 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 0ae5dcd84..b0772dfbe 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.2.2 Reference Package org.owasp.dependencycheck.data.update
+ Dependency-Check Core 1.2.3 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 12b1be25d..e2a12df51 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.2.2 Reference Package org.owasp.dependencycheck.data.update.task
+ Dependency-Check Core 1.2.3 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 a148e3dff..9edf95dd2 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.2.2 Reference Package org.owasp.dependencycheck.data.update.task
+ Dependency-Check Core 1.2.3 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 f01e8a033..2e7263bd6 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.2.2 Reference Package org.owasp.dependencycheck.data.update.xml
+ Dependency-Check Core 1.2.3 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 e65abfb8e..4edcde053 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.2.2 Reference Package org.owasp.dependencycheck.data.update.xml
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.data.update.xml
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 88b1b7951..f804a8806 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.2.2 Reference Package org.owasp.dependencycheck.dependency
+ Dependency-Check Core 1.2.3 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 56a2f28f5..1a0aaba2d 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.2.2 Reference Package org.owasp.dependencycheck.dependency
+ Dependency-Check Core 1.2.3 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 07977d3c5..978daa096 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.2.2 Reference Package org.owasp.dependencycheck.exception
+ Dependency-Check Core 1.2.3 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 6dd208c9e..6be1cb68c 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.2.2 Reference Package org.owasp.dependencycheck.exception
+ Dependency-Check Core 1.2.3 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 6de155b42..b26f5f8c4 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.2.2 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
+ Dependency-Check Core 1.2.3 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 051d2e737..cbf6fa61d 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.2.2 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
+ Dependency-Check Core 1.2.3 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 9d3226580..8f990d9aa 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.2.2 Reference Package org.owasp.dependencycheck.jaxb.pom
+ Dependency-Check Core 1.2.3 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 a6da098e8..92dd326b9 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.2.2 Reference Package org.owasp.dependencycheck.jaxb.pom
+ Dependency-Check Core 1.2.3 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 6dd187528..841d22243 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.2.2 Reference Package org.owasp.dependencycheck
+ Dependency-Check Core 1.2.3 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 6e4156242..1bc953ec6 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.2.2 Reference Package org.owasp.dependencycheck
+ Dependency-Check Core 1.2.3 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 793b12801..10ce58cc1 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.2.2 Reference Package org.owasp.dependencycheck.reporting
+ Dependency-Check Core 1.2.3 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 447e59cf1..80cbaa94c 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.2.2 Reference Package org.owasp.dependencycheck.reporting
+ Dependency-Check Core 1.2.3 Reference Package org.owasp.dependencycheck.reporting
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/suppression/SuppressionParser.html b/dependency-check-core/xref/org/owasp/dependencycheck/suppression/SuppressionParser.html
index 246b48491..67ab0a34b 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/suppression/SuppressionParser.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/suppression/SuppressionParser.html
@@ -35,82 +35,98 @@
27 import java.util.List;
28 import java.util.logging.Level;
29 import java.util.logging.Logger;
-30 import javax.xml.parsers.ParserConfigurationException;
-31 import javax.xml.parsers.SAXParser;
-32 import javax.xml.parsers.SAXParserFactory;
-33 import org.xml.sax.InputSource;
-34 import org.xml.sax.SAXException;
-35 import org.xml.sax.XMLReader;
-36
-37
-38
-39
-40
-41
-42 public class SuppressionParser {
-43
-44
-45
-46
-47 private static final Logger LOGGER = Logger.getLogger(SuppressionParser.class .getName());
-48
-49
-50
-51 public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage" ;
-52
-53
-54
-55 public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema" ;
-56
-57
-58
-59 public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource" ;
-60
-61
-62
-63
-64
-65
-66
-67
-68 public List<SuppressionRule> parseSuppressionRules(File file) throws SuppressionParseException {
-69 try {
-70 final InputStream schemaStream = this .getClass().getClassLoader().getResourceAsStream("schema/suppression.xsd" );
-71 final SuppressionHandler handler = new SuppressionHandler ();
-72
-73 final SAXParserFactory factory = SAXParserFactory.newInstance();
-74 factory.setNamespaceAware(true );
-75 factory.setValidating(true );
-76 final SAXParser saxParser = factory.newSAXParser();
-77 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_LANGUAGE, SuppressionParser.W3C_XML_SCHEMA);
-78 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_SOURCE, new InputSource(schemaStream));
-79 final XMLReader xmlReader = saxParser.getXMLReader();
-80 xmlReader.setErrorHandler(new SuppressionErrorHandler ());
-81 xmlReader.setContentHandler(handler);
-82
-83 final InputStream inputStream = new FileInputStream(file);
-84 final Reader reader = new InputStreamReader(inputStream, "UTF-8" );
-85 final InputSource in = new InputSource(reader);
-86
-87
-88 xmlReader.parse(in);
-89
-90 return handler.getSuppressionRules();
-91 } catch (ParserConfigurationException ex) {
-92 LOGGER.log(Level.FINE, null , ex);
-93 throw new SuppressionParseException (ex);
-94 } catch (SAXException ex) {
-95 LOGGER.log(Level.FINE, null , ex);
-96 throw new SuppressionParseException (ex);
-97 } catch (FileNotFoundException ex) {
-98 LOGGER.log(Level.FINE, null , ex);
-99 throw new SuppressionParseException (ex);
-100 } catch (IOException ex) {
-101 LOGGER.log(Level.FINE, null , ex);
-102 throw new SuppressionParseException (ex);
-103 }
-104 }
-105 }
+30
+31 import javax.xml.parsers.ParserConfigurationException;
+32 import javax.xml.parsers.SAXParser;
+33 import javax.xml.parsers.SAXParserFactory;
+34
+35 import org.xml.sax.InputSource;
+36 import org.xml.sax.SAXException;
+37 import org.xml.sax.XMLReader;
+38
+39
+40
+41
+42
+43
+44 public class SuppressionParser {
+45
+46
+47
+48
+49 private static final Logger LOGGER = Logger.getLogger(SuppressionParser.class .getName());
+50
+51
+52
+53 public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage" ;
+54
+55
+56
+57 public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema" ;
+58
+59
+60
+61 public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource" ;
+62
+63
+64
+65
+66
+67
+68
+69
+70 public List<SuppressionRule> parseSuppressionRules(File file) throws SuppressionParseException {
+71 try {
+72 return parseSuppressionRules(new FileInputStream(file));
+73 } catch (IOException ex) {
+74 LOGGER.log(Level.FINE, null , ex);
+75 throw new SuppressionParseException (ex);
+76 }
+77 }
+78
+79
+80
+81
+82
+83
+84
+85
+86 public List<SuppressionRule> parseSuppressionRules(InputStream inputStream) throws SuppressionParseException {
+87 try {
+88 final InputStream schemaStream = this .getClass().getClassLoader().getResourceAsStream("schema/suppression.xsd" );
+89 final SuppressionHandler handler = new SuppressionHandler ();
+90 final SAXParserFactory factory = SAXParserFactory.newInstance();
+91 factory.setNamespaceAware(true );
+92 factory.setValidating(true );
+93 final SAXParser saxParser = factory.newSAXParser();
+94 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_LANGUAGE, SuppressionParser.W3C_XML_SCHEMA);
+95 saxParser.setProperty(SuppressionParser.JAXP_SCHEMA_SOURCE, new InputSource(schemaStream));
+96 final XMLReader xmlReader = saxParser.getXMLReader();
+97 xmlReader.setErrorHandler(new SuppressionErrorHandler ());
+98 xmlReader.setContentHandler(handler);
+99
+100 final Reader reader = new InputStreamReader(inputStream, "UTF-8" );
+101 final InputSource in = new InputSource(reader);
+102
+103
+104 xmlReader.parse(in);
+105
+106 return handler.getSuppressionRules();
+107 } catch (ParserConfigurationException ex) {
+108 LOGGER.log(Level.FINE, null , ex);
+109 throw new SuppressionParseException (ex);
+110 } catch (SAXException ex) {
+111 LOGGER.log(Level.FINE, null , ex);
+112 throw new SuppressionParseException (ex);
+113 } catch (FileNotFoundException ex) {
+114 LOGGER.log(Level.FINE, null , ex);
+115 throw new SuppressionParseException (ex);
+116 } catch (IOException ex) {
+117 LOGGER.log(Level.FINE, null , ex);
+118 throw new SuppressionParseException (ex);
+119 }
+120 }
+121 }
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 e4bcc1588..785473a71 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.2.2 Reference Package org.owasp.dependencycheck.suppression
+ Dependency-Check Core 1.2.3 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 858f85ab4..552a9889b 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.2.2 Reference Package org.owasp.dependencycheck.suppression
+ Dependency-Check Core 1.2.3 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 118ae04be..7f57a2ce5 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.2.2 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.2.3 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 800c1ea20..749dbdc9f 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.2.2 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.2.3 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 183a3e716..88274dbef 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.2.2 Reference
+ Dependency-Check Core 1.2.3 Reference
diff --git a/dependency-check-core/xref/overview-summary.html b/dependency-check-core/xref/overview-summary.html
index 4cc381467..19cfc0d43 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.2.2 Reference
+ Dependency-Check Core 1.2.3 Reference
@@ -24,7 +24,7 @@
- Dependency-Check Core 1.2.2 Reference
+ Dependency-Check Core 1.2.3 Reference
diff --git a/dependency-check-jenkins/index.html b/dependency-check-jenkins/index.html
index a5a4340ed..f6cfbf88d 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-jenkins/license.html b/dependency-check-jenkins/license.html
index 8e864fb76..91418d9d7 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-jenkins/project-info.html b/dependency-check-jenkins/project-info.html
index f2ef32539..99f0fe3fd 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-jenkins/project-summary.html b/dependency-check-jenkins/project-summary.html
index 713ef519a..5bcca9aa5 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -196,7 +196,7 @@
dependency-check-jenkins
Version
-1.2.2
+1.2.3
Type
pom
diff --git a/dependency-check-maven/apidocs/allclasses-frame.html b/dependency-check-maven/apidocs/allclasses-frame.html
index 1eafec38d..0207ef792 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.2.2 API)
-
+All Classes (Dependency-Check Maven Plugin 1.2.3 API)
+
diff --git a/dependency-check-maven/apidocs/allclasses-noframe.html b/dependency-check-maven/apidocs/allclasses-noframe.html
index 19f110d4c..90c3fee62 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.2.2 API)
-
+All Classes (Dependency-Check Maven Plugin 1.2.3 API)
+
diff --git a/dependency-check-maven/apidocs/constant-values.html b/dependency-check-maven/apidocs/constant-values.html
index 51f74a701..64090fb25 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.2.2 API)
-
+Constant Field Values (Dependency-Check Maven Plugin 1.2.3 API)
+
diff --git a/dependency-check-maven/apidocs/deprecated-list.html b/dependency-check-maven/apidocs/deprecated-list.html
index ab1cfb5f8..f04762a26 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.2.2 API)
-
+Deprecated List (Dependency-Check Maven Plugin 1.2.3 API)
+
diff --git a/dependency-check-maven/apidocs/help-doc.html b/dependency-check-maven/apidocs/help-doc.html
index 78a16ee7e..3d669757f 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.2.2 API)
-
+API Help (Dependency-Check Maven Plugin 1.2.3 API)
+
diff --git a/dependency-check-maven/apidocs/index-all.html b/dependency-check-maven/apidocs/index-all.html
index 35c40008e..f603da61b 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.2.2 API)
-
+Index (Dependency-Check Maven Plugin 1.2.3 API)
+
diff --git a/dependency-check-maven/apidocs/index.html b/dependency-check-maven/apidocs/index.html
index ad22a9878..bebff8a6e 100644
--- a/dependency-check-maven/apidocs/index.html
+++ b/dependency-check-maven/apidocs/index.html
@@ -2,9 +2,9 @@
-
+
-Dependency-Check Maven Plugin 1.2.2 API
+Dependency-Check Maven Plugin 1.2.3 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 8ba42ba29..9542c19aa 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.2.2 API)
-
+HelpMojo (Dependency-Check Maven Plugin 1.2.3 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 ed04ef65e..37f61b83a 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.2.2 API)
-
+Uses of Class org.owasp.dependencycheck.maven.DependencyCheckMojo (Dependency-Check Maven Plugin 1.2.3 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 2127db9af..8c8c2a852 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.2.2 API)
-
+Uses of Class org.owasp.dependencycheck.maven.HelpMojo (Dependency-Check Maven Plugin 1.2.3 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 db07a66dc..a0105597f 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.2.2 API)
-
+org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.2.3 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 e74bcdd43..59e30cfe1 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.2.2 API)
-
+org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.2.3 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 31bb39056..bbff4d2c3 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.2.2 API)
-
+org.owasp.dependencycheck.maven Class Hierarchy (Dependency-Check Maven Plugin 1.2.3 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 80189f4e2..a525759f5 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.2.2 API)
-
+Uses of Package org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.2.3 API)
+
diff --git a/dependency-check-maven/apidocs/overview-tree.html b/dependency-check-maven/apidocs/overview-tree.html
index 7c0803489..bec52e5fc 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.2.2 API)
-
+Class Hierarchy (Dependency-Check Maven Plugin 1.2.3 API)
+
diff --git a/dependency-check-maven/check-mojo.html b/dependency-check-maven/check-mojo.html
index 30ceaffc2..285756d98 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,9 +69,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -165,7 +165,7 @@
Full name :
-org.owasp:dependency-check-maven:1.2.2:check
+org.owasp:dependency-check-maven:1.2.3:check
Description :
diff --git a/dependency-check-maven/checkstyle.html b/dependency-check-maven/checkstyle.html
index 9304041f4..4e46b07d1 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
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 2cae55abf..bae34f33b 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 a173fc943..f44eceeb2 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 09ac615d0..ee3b29c07 100644
--- a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html
+++ b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html
@@ -1823,6 +1823,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 9cd431734..832355932 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 73b7d99ca..0c0f07ee2 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,9 +67,9 @@
-
| Last Published: 2014-06-22
+
| Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-maven/dependency-updates-report.html b/dependency-check-maven/dependency-updates-report.html
index da7bba0ca..f3afbec33 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,9 +67,9 @@
-
| Last Published: 2014-06-22
+
| Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -373,7 +373,7 @@
org.owasp
dependency-check-core
-
1.2.2
+
1.2.3
compile
jar
@@ -385,7 +385,7 @@
org.owasp
dependency-check-utils
-
1.2.2
+
1.2.3
compile
jar
@@ -458,7 +458,7 @@
jar
Newer versions
-3.0.1 Next Incremental 3.0.2 3.0.3 3.0.4 3.0.53.1.0-alpha-1 Latest Incremental 3.1.0 Next Minor 3.1.13.2.1 Latest Minor
+3.0.1 Next Incremental 3.0.2 3.0.3 3.0.4 3.0.53.1.0-alpha-1 Latest Incremental 3.1.0 Next Minor 3.1.1 3.2.13.2.2 Latest Minor
org.apache.maven:maven-plugin-api
@@ -485,7 +485,7 @@
jar
Newer versions
-3.0.1 Next Incremental 3.0.2 3.0.3 3.0.4 3.0.53.1.0-alpha-1 Latest Incremental 3.1.0 Next Minor 3.1.13.2.1 Latest Minor
+3.0.1 Next Incremental 3.0.2 3.0.3 3.0.4 3.0.53.1.0-alpha-1 Latest Incremental 3.1.0 Next Minor 3.1.1 3.2.13.2.2 Latest Minor
org.apache.maven:maven-settings
@@ -512,7 +512,7 @@
jar
Newer versions
-3.0.1 Next Incremental 3.0.2 3.0.3 3.0.4 3.0.53.1.0-alpha-1 Latest Incremental 3.1.0 Next Minor 3.1.13.2.1 Latest Minor
+3.0.1 Next Incremental 3.0.2 3.0.3 3.0.4 3.0.53.1.0-alpha-1 Latest Incremental 3.1.0 Next Minor 3.1.1 3.2.13.2.2 Latest Minor
org.apache.maven.plugin-testing:maven-plugin-testing-harness
@@ -632,7 +632,7 @@
dependency-check-core
Current Version
-1.2.2
+1.2.3
Scope
compile
@@ -656,7 +656,7 @@
dependency-check-utils
Current Version
-1.2.2
+1.2.3
Scope
compile
diff --git a/dependency-check-maven/findbugs.html b/dependency-check-maven/findbugs.html
index 691d94cde..f3c3c8482 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-maven/help-mojo.html b/dependency-check-maven/help-mojo.html
index 92861ae1e..d120de561 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,9 +69,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -163,7 +163,7 @@
Full name :
-org.owasp:dependency-check-maven:1.2.2:help
+org.owasp:dependency-check-maven:1.2.3:help
Description :
diff --git a/dependency-check-maven/index.html b/dependency-check-maven/index.html
index a5a4340ed..f6cfbf88d 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-maven/license.html b/dependency-check-maven/license.html
index 8e864fb76..91418d9d7 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-maven/plugin-info.html b/dependency-check-maven/plugin-info.html
index 6b2e04d23..f8f6ff23a 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -279,7 +279,7 @@ Call mvn dependency-check:help -Ddetail=true
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.2.2</version>
+ <version>1.2.3</version>
</plugin>
...
</plugins>
@@ -289,7 +289,7 @@ Call mvn dependency-check:help -Ddetail=true
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.2.2</version>
+ <version>1.2.3</version>
</plugin>
...
</plugins>
@@ -301,7 +301,7 @@ Call mvn dependency-check:help -Ddetail=true
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.2.2</version>
+ <version>1.2.3</version>
</plugin>
...
</plugins>
diff --git a/dependency-check-maven/plugin-updates-report.html b/dependency-check-maven/plugin-updates-report.html
index 000b1958a..40b71b890 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-maven/project-info.html b/dependency-check-maven/project-info.html
index f2ef32539..99f0fe3fd 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-maven/project-reports.html b/dependency-check-maven/project-reports.html
index ee6d83114..11ea45f99 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-maven/project-summary.html b/dependency-check-maven/project-summary.html
index 713ef519a..5bcca9aa5 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -196,7 +196,7 @@
dependency-check-jenkins
Version
-1.2.2
+1.2.3
Type
pom
diff --git a/dependency-check-maven/surefire-report.html b/dependency-check-maven/surefire-report.html
index 59a0300a7..7cb61e2b7 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,9 +67,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -267,7 +267,7 @@ function toggleDisplay(elementId) {
0
0
100%
-0.211
+0.172
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Package List
@@ -288,7 +288,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
0.211
+
0.172
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
org.owasp.dependencycheck.maven
@@ -310,7 +310,7 @@ function toggleDisplay(elementId) {
0
0
100%
-
0.211
+0.172
Test Cases
[Summary ] [Package List ] [Test Cases ]
diff --git a/dependency-check-maven/taglist.html b/dependency-check-maven/taglist.html
index ca0fe108a..a4873cd7b 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,9 +67,9 @@
-
| Last Published: 2014-06-22
+
| Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/dependency-check-maven/usage.html b/dependency-check-maven/usage.html
index ebf73ef24..5377916df 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,9 +67,9 @@
-
| Last Published: 2014-06-22
+
| Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -169,7 +169,7 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.2.2</version>
+ <version>1.2.3</version>
<executions>
<execution>
<goals>
@@ -197,7 +197,7 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.2.2</version>
+ <version>1.2.3</version>
<configuration>
<failBuildOnCVSS>8</failBuildOnCVSS>
</configuration>
@@ -233,7 +233,7 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.2.2</version>
+ <version>1.2.3</version>
<configuration>
<externalReport>false</externalReport>
</configuration>
@@ -260,7 +260,7 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.2.2</version>
+ <version>1.2.3</version>
<configuration>
<skipProvidedScope>true</skipProvidedScope>
<skipRuntimeScope>true</skipRuntimeScope>
@@ -292,7 +292,7 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>1.2.2</version>
+ <version>1.2.3</version>
<configuration>
<cveUrl12Modified>http://internal-mirror.mycorp.com/downloads/nist/nvdcve-modified.xml</cveUrl12Modified>
<cveUrl20Modified>http://internal-mirror.mycorp.com/downloads/nist/nvdcve-2.0-modified.xml</cveUrl20Modified>
diff --git a/dependency-check-maven/xref-test/index.html b/dependency-check-maven/xref-test/index.html
index 45de795c2..db707548d 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.2.2 Reference
+
Dependency-Check Maven Plugin 1.2.3 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 ce1782b8b..231619de0 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.2.2 Reference Package org.owasp.dependencycheck.maven
+ Dependency-Check Maven Plugin 1.2.3 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 a8d644534..630db0e0b 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.2.2 Reference Package org.owasp.dependencycheck.maven
+ Dependency-Check Maven Plugin 1.2.3 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 273bcd797..83be64c82 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.2.2 Reference
+ Dependency-Check Maven Plugin 1.2.3 Reference
diff --git a/dependency-check-maven/xref-test/overview-summary.html b/dependency-check-maven/xref-test/overview-summary.html
index d6a2bc3a1..c1261651b 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.2.2 Reference
+ Dependency-Check Maven Plugin 1.2.3 Reference
@@ -24,7 +24,7 @@
- Dependency-Check Maven Plugin 1.2.2 Reference
+ Dependency-Check Maven Plugin 1.2.3 Reference
diff --git a/dependency-check-maven/xref/index.html b/dependency-check-maven/xref/index.html
index 45de795c2..db707548d 100644
--- a/dependency-check-maven/xref/index.html
+++ b/dependency-check-maven/xref/index.html
@@ -4,7 +4,7 @@
- Dependency-Check Maven Plugin 1.2.2 Reference
+ Dependency-Check Maven Plugin 1.2.3 Reference
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 b68e5e5bd..f980d906e 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.2.2 Reference Package org.owasp.dependencycheck.maven
+ Dependency-Check Maven Plugin 1.2.3 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 908423014..985e2ea65 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.2.2 Reference Package org.owasp.dependencycheck.maven
+ Dependency-Check Maven Plugin 1.2.3 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 273bcd797..83be64c82 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.2.2 Reference
+ Dependency-Check Maven Plugin 1.2.3 Reference
diff --git a/dependency-check-maven/xref/overview-summary.html b/dependency-check-maven/xref/overview-summary.html
index d6a2bc3a1..c1261651b 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.2.2 Reference
+ Dependency-Check Maven Plugin 1.2.3 Reference
@@ -24,7 +24,7 @@
- Dependency-Check Maven Plugin 1.2.2 Reference
+ Dependency-Check Maven Plugin 1.2.3 Reference
diff --git a/dependency-check-utils/apidocs/allclasses-frame.html b/dependency-check-utils/apidocs/allclasses-frame.html
new file mode 100644
index 000000000..9568c11fc
--- /dev/null
+++ b/dependency-check-utils/apidocs/allclasses-frame.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+All Classes (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+All Classes
+
+
+
diff --git a/dependency-check-utils/apidocs/allclasses-noframe.html b/dependency-check-utils/apidocs/allclasses-noframe.html
new file mode 100644
index 000000000..cc6c3646f
--- /dev/null
+++ b/dependency-check-utils/apidocs/allclasses-noframe.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+All Classes (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+All Classes
+
+
+
diff --git a/dependency-check-utils/apidocs/constant-values.html b/dependency-check-utils/apidocs/constant-values.html
new file mode 100644
index 000000000..c7a52d70a
--- /dev/null
+++ b/dependency-check-utils/apidocs/constant-values.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+Constant Field Values (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/deprecated-list.html b/dependency-check-utils/apidocs/deprecated-list.html
new file mode 100644
index 000000000..623f90c3a
--- /dev/null
+++ b/dependency-check-utils/apidocs/deprecated-list.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Deprecated List (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/help-doc.html b/dependency-check-utils/apidocs/help-doc.html
new file mode 100644
index 000000000..7c6229873
--- /dev/null
+++ b/dependency-check-utils/apidocs/help-doc.html
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+API Help (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+Package
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:
+
+Interfaces (italic)
+Classes
+Enums
+Exceptions
+Errors
+Annotation Types
+
+
+
+Class/Interface
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
+
+Class inheritance diagram
+Direct Subclasses
+All Known Subinterfaces
+All Known Implementing Classes
+Class/interface declaration
+Class/interface description
+
+
+Nested Class Summary
+Field Summary
+Constructor Summary
+Method Summary
+
+
+Field Detail
+Constructor Detail
+Method Detail
+
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+
+
+Annotation Type
+Each annotation type has its own separate page with the following sections:
+
+Annotation Type declaration
+Annotation Type description
+Required Element Summary
+Optional Element Summary
+Element Detail
+
+
+
+Enum
+Each enum has its own separate page with the following sections:
+
+Enum declaration
+Enum description
+Enum Constant Summary
+Enum Constant Detail
+
+
+
+Use
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+
+
+Tree (Class Hierarchy)
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
+
+When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
+When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+
+
+Deprecated API
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+
+
+Index
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+
+
+Prev/Next
+These links take you to the next or previous class, interface, package, or related page.
+
+
+Frames/No Frames
+These links show and hide the HTML frames. All pages are available with or without frames.
+
+
+All Classes
+The All Classes link shows all classes and interfaces except non-static nested types.
+
+
+Serialized Form
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+
+
+Constant Field Values
+The Constant Field Values page lists the static final fields and their values.
+
+
+
This help file applies to API documentation generated using the standard doclet.
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/index-all.html b/dependency-check-utils/apidocs/index-all.html
new file mode 100644
index 000000000..0062268d1
--- /dev/null
+++ b/dependency-check-utils/apidocs/index-all.html
@@ -0,0 +1,618 @@
+
+
+
+
+
+
+Index (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A C D E F G I L M O P R S T U
+
+
+
A
+
+ADDITIONAL_ZIP_EXTENSIONS - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The additional configured zip file extensions, if available.
+
+ANALYZER_ARCHIVE_ENABLED - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether the Archive analyzer is enabled.
+
+ANALYZER_ASSEMBLY_ENABLED - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether the .NET Assembly analyzer is enabled.
+
+ANALYZER_ASSEMBLY_MONO_PATH - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The path to mono, if available.
+
+ANALYZER_JAR_ENABLED - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether the Jar Analyzer is enabled.
+
+ANALYZER_JAVASCRIPT_ENABLED - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether the JavaScript analyzer is enabled.
+
+ANALYZER_NEXUS_ENABLED - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether the Nexus analyzer is enabled.
+
+ANALYZER_NEXUS_PROXY - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for using the proxy to reach Nexus.
+
+ANALYZER_NEXUS_URL - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the Nexus search URL.
+
+ANALYZER_NUSPEC_ENABLED - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether the .NET Nuspec analyzer is enabled.
+
+AUTO_UPDATE - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key indicating whether or not the cached data sources should be updated.
+
+
+
+
+
+
C
+
+cleanup() - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Cleans up resources to prevent memory leaks.
+
+cleanup(boolean) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Cleans up resources to prevent memory leaks.
+
+CONNECTION_TIMEOUT - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the connection timeout.
+
+createHttpURLConnection(URL) - Static method in class org.owasp.dependencycheck.utils.URLConnectionFactory
+
+Utility method to create an HttpURLConnection.
+
+createHttpURLConnection(URL, boolean) - Static method in class org.owasp.dependencycheck.utils.URLConnectionFactory
+
+Utility method to create an HttpURLConnection.
+
+CVE_META_URL - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the URL to retrieve the "meta" data from about the CVE entries.
+
+CVE_MODIFIED_12_URL - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the URL to retrieve the recently modified and added CVE entries (last 8 days) using
+ the 1.2 schema.
+
+CVE_MODIFIED_20_URL - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the URL to retrieve the recently modified and added CVE entries (last 8 days) using
+ the 2.0 schema.
+
+CVE_MODIFIED_VALID_FOR_DAYS - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the URL to retrieve the recently modified and added CVE entries (last 8 days).
+
+CVE_SCHEMA_1_2 - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the CVE schema version 1.2.
+
+CVE_SCHEMA_2_0 - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the CVE schema version 2.0.
+
+CVE_START_YEAR - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the telling us how many cvr.url.* URLs exists.
+
+
+
+
+
+
D
+
+DATA_DIRECTORY - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The base path to use for the data directory (for embedded db).
+
+DB_CONNECTION_STRING - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The database connection string.
+
+DB_DRIVER_NAME - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The database driver class name.
+
+DB_DRIVER_PATH - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The database driver class name.
+
+DB_PASSWORD - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The password to authenticate to the database.
+
+DB_USER - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The username to use when connecting to the database.
+
+delete(File) - Static method in class org.owasp.dependencycheck.utils.FileUtils
+
+Deletes a file.
+
+Downloader - Class in org.owasp.dependencycheck.utils
+
+A utility to download files from the Internet.
+
+DownloadFailedException - Exception in org.owasp.dependencycheck.utils
+
+An exception used when a download fails.
+
+DownloadFailedException() - Constructor for exception org.owasp.dependencycheck.utils.DownloadFailedException
+
+Creates a new DownloadFailedException.
+
+DownloadFailedException(String) - Constructor for exception org.owasp.dependencycheck.utils.DownloadFailedException
+
+Creates a new DownloadFailedException.
+
+DownloadFailedException(Throwable) - Constructor for exception org.owasp.dependencycheck.utils.DownloadFailedException
+
+Creates a new DownloadFailedException.
+
+DownloadFailedException(String, Throwable) - Constructor for exception org.owasp.dependencycheck.utils.DownloadFailedException
+
+Creates a new DownloadFailedException.
+
+
+
+
+
+
E
+
+ExtractionException - Exception in org.owasp.dependencycheck.utils
+
+An exception used when a file is unable to be un-zipped.
+
+ExtractionException() - Constructor for exception org.owasp.dependencycheck.utils.ExtractionException
+
+Creates a new ExtractionException.
+
+ExtractionException(String) - Constructor for exception org.owasp.dependencycheck.utils.ExtractionException
+
+Creates a new ExtractionException.
+
+ExtractionException(Throwable) - Constructor for exception org.owasp.dependencycheck.utils.ExtractionException
+
+Creates a new ExtractionException.
+
+ExtractionException(String, Throwable) - Constructor for exception org.owasp.dependencycheck.utils.ExtractionException
+
+Creates a new ExtractionException.
+
+
+
+
+
+
F
+
+fetchFile(URL, File) - Static method in class org.owasp.dependencycheck.utils.Downloader
+
+Retrieves a file from a given URL and saves it to the outputPath.
+
+fetchFile(URL, File, boolean) - Static method in class org.owasp.dependencycheck.utils.Downloader
+
+Retrieves a file from a given URL and saves it to the outputPath.
+
+FileUtils - Class in org.owasp.dependencycheck.utils
+
+A collection of utilities for processing information about files.
+
+
+
+
+
+
G
+
+getBitBucket() - Static method in class org.owasp.dependencycheck.utils.FileUtils
+
+Return the bit bucket for the OS.
+
+getBoolean(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns a boolean value from the properties file.
+
+getBoolean(String, boolean) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns a boolean value from the properties file.
+
+getDataDirectory(String, Class) - Static method in class org.owasp.dependencycheck.utils.FileUtils
+
+Deprecated.
+
This method should no longer be used. See the implementation in dependency-check-cli/App.java to see
+ how the data directory should be set.
+
+
+getDataFile(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns a value from the properties file as a File object.
+
+getFile(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns a value from the properties file as a File object.
+
+getFileExtension(String) - Static method in class org.owasp.dependencycheck.utils.FileUtils
+
+Returns the (lowercase) file extension for a specified file.
+
+getInstance() - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Gets the underlying instance of the Settings object.
+
+getInt(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns an int value from the properties file.
+
+getInt(String, int) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns an int value from the properties file.
+
+getLastModified(URL) - Static method in class org.owasp.dependencycheck.utils.Downloader
+
+Makes an HTTP Head request to retrieve the last modified date of the given URL.
+
+getLong(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns a long value from the properties file.
+
+getPathToJar(Class) - Static method in class org.owasp.dependencycheck.utils.FileUtils
+
+Deprecated.
+
this should no longer be used.
+
+
+getString(String, String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns a value from the properties file.
+
+getString(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns a value from the properties file.
+
+getTempDirectory() - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Returns the temporary directory.
+
+getTempFile(String, String) - Static method in class org.owasp.dependencycheck.utils.FileUtils
+
+Generates a new temporary file name that is guaranteed to be unique.
+
+
+
+
+
+
I
+
+initialize() - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Initializes the thread local settings object.
+
+initialize(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Initializes the thread local settings object.
+
+InvalidSettingException - Exception in org.owasp.dependencycheck.utils
+
+An exception used when an error occurs reading a setting.
+
+InvalidSettingException() - Constructor for exception org.owasp.dependencycheck.utils.InvalidSettingException
+
+Creates a new InvalidSettingException.
+
+InvalidSettingException(String) - Constructor for exception org.owasp.dependencycheck.utils.InvalidSettingException
+
+Creates a new InvalidSettingException.
+
+InvalidSettingException(Throwable) - Constructor for exception org.owasp.dependencycheck.utils.InvalidSettingException
+
+Creates a new InvalidSettingException.
+
+InvalidSettingException(String, Throwable) - Constructor for exception org.owasp.dependencycheck.utils.InvalidSettingException
+
+Creates a new InvalidSettingException.
+
+isLoggable(LogRecord) - Method in class org.owasp.dependencycheck.utils.LogFilter
+
+Determines if the record should be logged.
+
+isVerboseLoggingEnabled() - Static method in class org.owasp.dependencycheck.utils.LogUtils
+
+Get the value of verboseLoggingEnabled.
+
+
+
+
+
+
L
+
+LogFilter - Class in org.owasp.dependencycheck.utils
+
+A simple log filter to limit the entries written to the verbose log file.
+
+LogFilter() - Constructor for class org.owasp.dependencycheck.utils.LogFilter
+
+LogUtils - Class in org.owasp.dependencycheck.utils
+
+A utility class to aide in the setup of the logging mechanism.
+
+
+
+
+
+
M
+
+MAX_DOWNLOAD_THREAD_POOL_SIZE - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The maximum number of threads to allocate when downloading files.
+
+mergeProperties(File) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Merges a new properties file into the current properties.
+
+mergeProperties(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Merges a new properties file into the current properties.
+
+mergeProperties(InputStream) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Merges a new properties file into the current properties.
+
+
+
+
+
+
O
+
+org.owasp.dependencycheck.utils - package org.owasp.dependencycheck.utils
+
+
+
+
org.owasp.dependencycheck.utils
+
+
+ Includes various utility classes such as a Settings wrapper, utilities to make URL Connections, etc.
+
+
+
+
+
+
P
+
+prepareLogger(InputStream, String) - Static method in class org.owasp.dependencycheck.utils.LogUtils
+
+Configures the logger for use by the application.
+
+PROXY_PASSWORD - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the proxy password.
+
+PROXY_PORT - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the proxy port - this must be an integer value.
+
+PROXY_SERVER - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the proxy server.
+
+PROXY_URL - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+
+
+PROXY_USERNAME - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for the proxy username.
+
+
+
+
+
+
R
+
+removeProperty(String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Removes a property from the local properties collection.
+
+
+
+
+
+
S
+
+setBoolean(String, boolean) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Sets a property value.
+
+setInstance(Settings) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Sets the instance of the Settings object to use in this thread.
+
+setString(String, String) - Static method in class org.owasp.dependencycheck.utils.Settings
+
+Sets a property value.
+
+Settings - Class in org.owasp.dependencycheck.utils
+
+A simple settings container that wraps the dependencycheck.properties file.
+
+Settings.KEYS - Class in org.owasp.dependencycheck.utils
+
+The collection of keys used within the properties file.
+
+SKIP_PROVIDED_SCOPE - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether Provided Scope dependencies should be skipped.
+
+SKIP_RUNTIME_SCOPE - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether Runtime Scope dependencies should be skipped.
+
+SKIP_TEST_SCOPE - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The properties key for whether Test Scope dependencies should be skipped.
+
+SUPPRESSION_FILE - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The key for a list of suppression files.
+
+
+
+
+
+
T
+
+TEMP_DIRECTORY - Static variable in class org.owasp.dependencycheck.utils.Settings.KEYS
+
+The location of the temporary directory.
+
+
+
+
+
+
U
+
+URLConnectionFactory - Class in org.owasp.dependencycheck.utils
+
+A URLConnection Factory to create new connections.
+
+URLConnectionFailureException - Exception in org.owasp.dependencycheck.utils
+
+An exception used when the creation of an URLConnection fails.
+
+URLConnectionFailureException() - Constructor for exception org.owasp.dependencycheck.utils.URLConnectionFailureException
+
+Creates a new URLConnectionFailureException.
+
+URLConnectionFailureException(String) - Constructor for exception org.owasp.dependencycheck.utils.URLConnectionFailureException
+
+Creates a new URLConnectionFailureException.
+
+URLConnectionFailureException(Throwable) - Constructor for exception org.owasp.dependencycheck.utils.URLConnectionFailureException
+
+Creates a new URLConnectionFailureException.
+
+URLConnectionFailureException(String, Throwable) - Constructor for exception org.owasp.dependencycheck.utils.URLConnectionFailureException
+
+Creates a new URLConnectionFailureException.
+
+
+
A C D E F G I L M O P R S T U
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/index.html b/dependency-check-utils/apidocs/index.html
new file mode 100644
index 000000000..24d3a0a00
--- /dev/null
+++ b/dependency-check-utils/apidocs/index.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+Dependency-Check Utils 1.2.3 API
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+Frame Alert
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to Non-frame version .
+
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/DownloadFailedException.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/DownloadFailedException.html
new file mode 100644
index 000000000..c6bb5a804
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/DownloadFailedException.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+DownloadFailedException (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Downloader.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Downloader.html
new file mode 100644
index 000000000..3b47af508
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Downloader.html
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+Downloader (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+Methods
+
+Modifier and Type
+Method and Description
+
+
+static void
+fetchFile (URL url,
+ File outputPath)
+Retrieves a file from a given URL and saves it to the outputPath.
+
+
+
+static void
+fetchFile (URL url,
+ File outputPath,
+ boolean useProxy)
+Retrieves a file from a given URL and saves it to the outputPath.
+
+
+
+static long
+getLastModified (URL url)
+Makes an HTTP Head request to retrieve the last modified date of the given URL.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+fetchFile
+public static void fetchFile(URL url,
+ File outputPath)
+ throws DownloadFailedException
+Retrieves a file from a given URL and saves it to the outputPath.
+Parameters: url - the URL of the file to downloadoutputPath - the path to the save the file to
+Throws:
+DownloadFailedException - is thrown if there is an error downloading the file
+
+
+
+
+
+
+
+fetchFile
+public static void fetchFile(URL url,
+ File outputPath,
+ boolean useProxy)
+ throws DownloadFailedException
+Retrieves a file from a given URL and saves it to the outputPath.
+Parameters: url - the URL of the file to downloadoutputPath - the path to the save the file touseProxy - whether to use the configured proxy when downloading files
+Throws:
+DownloadFailedException - is thrown if there is an error downloading the file
+
+
+
+
+
+
+
+getLastModified
+public static long getLastModified(URL url)
+ throws DownloadFailedException
+Makes an HTTP Head request to retrieve the last modified date of the given URL. If the file:// protocol is
+ specified, then the lastTimestamp of the file is returned.
+Parameters: url - the URL to retrieve the timestamp from
+Returns: an epoch timestamp
+Throws:
+DownloadFailedException - is thrown if an exception occurs making the HTTP request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/ExtractionException.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/ExtractionException.html
new file mode 100644
index 000000000..9c7f99e31
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/ExtractionException.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+ExtractionException (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/FileUtils.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/FileUtils.html
new file mode 100644
index 000000000..e97d71ec3
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/FileUtils.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+FileUtils (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+Methods
+
+Modifier and Type
+Method and Description
+
+
+static boolean
+delete (File file)
+Deletes a file.
+
+
+
+static String
+getBitBucket ()
+Return the bit bucket for the OS.
+
+
+
+static File
+getDataDirectory (String configuredFilePath,
+ Class clazz)
+Deprecated.
+
This method should no longer be used. See the implementation in dependency-check-cli/App.java to see
+ how the data directory should be set.
+
+
+
+
+static String
+getFileExtension (String fileName)
+Returns the (lowercase) file extension for a specified file.
+
+
+
+static File
+getPathToJar (Class clazz)
+Deprecated.
+
this should no longer be used.
+
+
+
+
+static File
+getTempFile (String prefix,
+ String extension)
+Generates a new temporary file name that is guaranteed to be unique.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+getTempFile
+public static File getTempFile(String prefix,
+ String extension)
+ throws IOException
+Generates a new temporary file name that is guaranteed to be unique.
+Parameters: prefix - the prefix for the file name to generateextension - the extension of the generated file name
+Returns: a temporary File
+Throws:
+IOException - thrown if the temporary folder could not be created
+
+
+
+
+
+
+
+getDataDirectory
+@Deprecated
+public static File getDataDirectory(String configuredFilePath,
+ Class clazz)
+ throws IOException
+Deprecated. This method should no longer be used. See the implementation in dependency-check-cli/App.java to see
+ how the data directory should be set.
+Returns the data directory. If a path was specified in dependencycheck.properties or was specified using the
+ Settings object, and the path exists, that path will be returned as a File object. If it does not exist, then a
+ File object will be created based on the file location of the JAR containing the specified class.
+Parameters: configuredFilePath - the configured relative or absolute pathclazz - the class to resolve the path
+Returns: a File object
+Throws:
+IOException - is thrown if the path could not be decoded
+
+
+
+
+
+
+
+getPathToJar
+@Deprecated
+public static File getPathToJar(Class clazz)
+ throws UnsupportedEncodingException
+Deprecated. this should no longer be used.
+Retrieves the physical path to the parent directory containing the provided class. For example, if a JAR file
+ contained a class org.something.clazz this method would return the parent directory of the JAR file.
+Parameters: clazz - the class to determine the parent directory of
+Returns: the parent directory of the file containing the specified class.
+Throws:
+UnsupportedEncodingException - thrown if UTF-8 is not supported.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/InvalidSettingException.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/InvalidSettingException.html
new file mode 100644
index 000000000..7eebfd9a6
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/InvalidSettingException.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+InvalidSettingException (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/LogFilter.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/LogFilter.html
new file mode 100644
index 000000000..3ba3bf5d2
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/LogFilter.html
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+LogFilter (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+Filter
+
+
+
+public class LogFilter
+extends Object
+implements Filter
+A simple log filter to limit the entries written to the verbose log file. The verbose log file uses the root logger
+ as I couldn't get anything else to work; as such, this filter limits the log entries to specific classes.
+Author:
+ Jeremy Long
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+LogFilter ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+Methods
+
+Modifier and Type
+Method and Description
+
+
+boolean
+isLoggable (LogRecord record)
+Determines if the record should be logged.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+LogFilter
+public LogFilter()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/LogUtils.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/LogUtils.html
new file mode 100644
index 000000000..ee4c76cf9
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/LogUtils.html
@@ -0,0 +1,248 @@
+
+
+
+
+
+
+LogUtils (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+Methods
+
+Modifier and Type
+Method and Description
+
+
+static boolean
+isVerboseLoggingEnabled ()
+Get the value of verboseLoggingEnabled.
+
+
+
+static void
+prepareLogger (InputStream in,
+ String verboseLogFile)
+Configures the logger for use by the application.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+prepareLogger
+public static void prepareLogger(InputStream in,
+ String verboseLogFile)
+Configures the logger for use by the application.
+Parameters: in - the input stream to read the log settings fromverboseLogFile - the file path for the verbose log
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Settings.KEYS.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Settings.KEYS.html
new file mode 100644
index 000000000..cd7fbad75
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Settings.KEYS.html
@@ -0,0 +1,843 @@
+
+
+
+
+
+
+Settings.KEYS (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Settings.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Settings.html
new file mode 100644
index 000000000..e161ec846
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/Settings.html
@@ -0,0 +1,683 @@
+
+
+
+
+
+
+Settings (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+Settings.KEYS
+The collection of keys used within the properties file.
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+Methods
+
+Modifier and Type
+Method and Description
+
+
+static void
+cleanup ()
+Cleans up resources to prevent memory leaks.
+
+
+
+static void
+cleanup (boolean deleteTemporary)
+Cleans up resources to prevent memory leaks.
+
+
+
+static boolean
+getBoolean (String key)
+Returns a boolean value from the properties file.
+
+
+
+static boolean
+getBoolean (String key,
+ boolean defaultValue)
+Returns a boolean value from the properties file.
+
+
+
+static File
+getDataFile (String key)
+Returns a value from the properties file as a File object.
+
+
+
+static File
+getFile (String key)
+Returns a value from the properties file as a File object.
+
+
+
+static Settings
+getInstance ()
+Gets the underlying instance of the Settings object.
+
+
+
+static int
+getInt (String key)
+Returns an int value from the properties file.
+
+
+
+static int
+getInt (String key,
+ int defaultValue)
+Returns an int value from the properties file.
+
+
+
+static long
+getLong (String key)
+Returns a long value from the properties file.
+
+
+
+static String
+getString (String key)
+Returns a value from the properties file.
+
+
+
+static String
+getString (String key,
+ String defaultValue)
+Returns a value from the properties file.
+
+
+
+static File
+getTempDirectory ()
+Returns the temporary directory.
+
+
+
+static void
+initialize ()
+Initializes the thread local settings object.
+
+
+
+static void
+initialize (String propertiesFilePath)
+Initializes the thread local settings object.
+
+
+
+static void
+mergeProperties (File filePath)
+Merges a new properties file into the current properties.
+
+
+
+static void
+mergeProperties (InputStream stream)
+Merges a new properties file into the current properties.
+
+
+
+static void
+mergeProperties (String filePath)
+Merges a new properties file into the current properties.
+
+
+
+static void
+removeProperty (String key)
+Removes a property from the local properties collection.
+
+
+
+static void
+setBoolean (String key,
+ boolean value)
+Sets a property value.
+
+
+
+static void
+setInstance (Settings instance)
+Sets the instance of the Settings object to use in this thread.
+
+
+
+static void
+setString (String key,
+ String value)
+Sets a property value.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+initialize
+public static void initialize()
+Initializes the thread local settings object. Note, to use the settings object you must call this method.
+ However, you must also call Settings.cleanup() to properly release resources.
+
+
+
+
+
+
+
+initialize
+public static void initialize(String propertiesFilePath)
+Initializes the thread local settings object. Note, to use the settings object you must call this method.
+ However, you must also call Settings.cleanup() to properly release resources.
+Parameters: propertiesFilePath - the path to the base properties file to load
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mergeProperties
+public static void mergeProperties(File filePath)
+ throws FileNotFoundException ,
+ IOException
+Merges a new properties file into the current properties. This method allows for the loading of a user provided
+ properties file.
+ Note: even if using this method - system properties will be loaded before properties loaded from files.
+Parameters: filePath - the path to the properties file to merge.
+Throws:
+FileNotFoundException - is thrown when the filePath points to a non-existent file
+IOException - is thrown when there is an exception loading/merging the properties
+
+
+
+
+
+
+
+mergeProperties
+public static void mergeProperties(String filePath)
+ throws FileNotFoundException ,
+ IOException
+Merges a new properties file into the current properties. This method allows for the loading of a user provided
+ properties file.
+ Note: even if using this method - system properties will be loaded before properties loaded from files.
+Parameters: filePath - the path to the properties file to merge.
+Throws:
+FileNotFoundException - is thrown when the filePath points to a non-existent file
+IOException - is thrown when there is an exception loading/merging the properties
+
+
+
+
+
+
+
+mergeProperties
+public static void mergeProperties(InputStream stream)
+ throws IOException
+Merges a new properties file into the current properties. This method allows for the loading of a user provided
+ properties file.
+ Note: even if using this method - system properties will be loaded before properties loaded from files.
+Parameters: stream - an Input Stream pointing at a properties file to merge
+Throws:
+IOException - is thrown when there is an exception loading/merging the properties
+
+
+
+
+
+
+
+getFile
+public static File getFile(String key)
+Returns a value from the properties file as a File object. If the value was specified as a system property or
+ passed in via the -Dprop=value argument - this method will return the value from the system properties before the
+ values in the contained configuration file.
+Parameters: key - the key to lookup within the properties file
+Returns: the property from the properties file converted to a File object
+
+
+
+
+
+
+
+getDataFile
+public static File getDataFile(String key)
+Returns a value from the properties file as a File object. If the value was specified as a system property or
+ passed in via the -Dprop=value argument - this method will return the value from the system properties before the
+ values in the contained configuration file.
+
+ This method will check the configured base directory and will use this as the base of the file path.
+ Additionally, if the base directory begins with a leading "[JAR]\" sequence with the path to the folder
+ containing the JAR file containing this class.
+Parameters: key - the key to lookup within the properties file
+Returns: the property from the properties file converted to a File object
+
+
+
+
+
+
+
+getString
+public static String getString(String key,
+ String defaultValue)
+Returns a value from the properties file. If the value was specified as a system property or passed in via the
+ -Dprop=value argument - this method will return the value from the system properties before the values in the
+ contained configuration file.
+Parameters: key - the key to lookup within the properties filedefaultValue - the default value for the requested property
+Returns: the property from the properties file
+
+
+
+
+
+
+
+
+
+
+
+getString
+public static String getString(String key)
+Returns a value from the properties file. If the value was specified as a system property or passed in via the
+ -Dprop=value argument - this method will return the value from the system properties before the values in the
+ contained configuration file.
+Parameters: key - the key to lookup within the properties file
+Returns: the property from the properties file
+
+
+
+
+
+
+
+
+
+
+
+getInt
+public static int getInt(String key)
+ throws InvalidSettingException
+Returns an int value from the properties file. If the value was specified as a system property or passed in via
+ the -Dprop=value argument - this method will return the value from the system properties before the values in the
+ contained configuration file.
+Parameters: key - the key to lookup within the properties file
+Returns: the property from the properties file
+Throws:
+InvalidSettingException - is thrown if there is an error retrieving the setting
+
+
+
+
+
+
+
+getInt
+public static int getInt(String key,
+ int defaultValue)
+Returns an int value from the properties file. If the value was specified as a system property or passed in via
+ the -Dprop=value argument - this method will return the value from the system properties before the values in the
+ contained configuration file.
+Parameters: key - the key to lookup within the properties filedefaultValue - the default value to return
+Returns: the property from the properties file or the defaultValue if the property does not exist or cannot be
+ converted to an integer
+
+
+
+
+
+
+
+getLong
+public static long getLong(String key)
+ throws InvalidSettingException
+Returns a long value from the properties file. If the value was specified as a system property or passed in via
+ the -Dprop=value argument - this method will return the value from the system properties before the values in the
+ contained configuration file.
+Parameters: key - the key to lookup within the properties file
+Returns: the property from the properties file
+Throws:
+InvalidSettingException - is thrown if there is an error retrieving the setting
+
+
+
+
+
+
+
+getBoolean
+public static boolean getBoolean(String key)
+ throws InvalidSettingException
+Returns a boolean value from the properties file. If the value was specified as a system property or passed in
+ via the -Dprop=value argument this method will return the value from the system properties before
+ the values in the contained configuration file.
+Parameters: key - the key to lookup within the properties file
+Returns: the property from the properties file
+Throws:
+InvalidSettingException - is thrown if there is an error retrieving the setting
+
+
+
+
+
+
+
+getBoolean
+public static boolean getBoolean(String key,
+ boolean defaultValue)
+ throws InvalidSettingException
+Returns a boolean value from the properties file. If the value was specified as a system property or passed in
+ via the -Dprop=value argument this method will return the value from the system properties before
+ the values in the contained configuration file.
+Parameters: key - the key to lookup within the properties filedefaultValue - the default value to return if the setting does not exist
+Returns: the property from the properties file
+Throws:
+InvalidSettingException - is thrown if there is an error retrieving the setting
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/URLConnectionFactory.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/URLConnectionFactory.html
new file mode 100644
index 000000000..a90b126d0
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/URLConnectionFactory.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+URLConnectionFactory (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+org.owasp.dependencycheck.utils.URLConnectionFactory
+
+
+
+
+
+
+
+
+public final class URLConnectionFactory
+extends Object
+A URLConnection Factory to create new connections. This encapsulates several configuration checks to ensure that the
+ connection uses the correct proxy settings.
+Author:
+ Jeremy Long
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+createHttpURLConnection
+public static HttpURLConnection createHttpURLConnection(URL url)
+ throws URLConnectionFailureException
+Utility method to create an HttpURLConnection. If the application is configured to use a proxy this method will
+ retrieve the proxy settings and use them when setting up the connection.
+Parameters: url - the url to connect to
+Returns: an HttpURLConnection
+Throws:
+URLConnectionFailureException - thrown if there is an exception
+
+
+
+
+
+
+
+createHttpURLConnection
+public static HttpURLConnection createHttpURLConnection(URL url,
+ boolean proxy)
+ throws URLConnectionFailureException
+Utility method to create an HttpURLConnection. The use of a proxy here is optional as there may be cases where a
+ proxy is configured but we don't want to use it (for example, if there's an internal repository configured)
+Parameters: url - the url to connect toproxy - whether to use the proxy (if configured)
+Returns: a newly constructed HttpURLConnection
+Throws:
+URLConnectionFailureException - thrown if there is an exception
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/URLConnectionFailureException.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/URLConnectionFailureException.html
new file mode 100644
index 000000000..153b2b165
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/URLConnectionFailureException.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+URLConnectionFailureException (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+URLConnectionFailureException
+public URLConnectionFailureException(String msg,
+ Throwable ex)
+Creates a new URLConnectionFailureException.
+Parameters: msg - a message for the exception.ex - the cause of the download failure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/DownloadFailedException.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/DownloadFailedException.html
new file mode 100644
index 000000000..c1284e4fe
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/DownloadFailedException.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in org.owasp.dependencycheck.utils that throw DownloadFailedException
+
+Modifier and Type
+Method and Description
+
+
+
+static void
+Downloader. fetchFile (URL url,
+ File outputPath)
+Retrieves a file from a given URL and saves it to the outputPath.
+
+
+
+static void
+Downloader. fetchFile (URL url,
+ File outputPath,
+ boolean useProxy)
+Retrieves a file from a given URL and saves it to the outputPath.
+
+
+
+static long
+Downloader. getLastModified (URL url)
+Makes an HTTP Head request to retrieve the last modified date of the given URL.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Downloader.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Downloader.html
new file mode 100644
index 000000000..1a7860f5f
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Downloader.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.Downloader (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of org.owasp.dependencycheck.utils.Downloader
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionException.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionException.html
new file mode 100644
index 000000000..54203f0f9
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionException.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.ExtractionException (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of org.owasp.dependencycheck.utils.ExtractionException
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/FileUtils.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/FileUtils.html
new file mode 100644
index 000000000..24b05cb6f
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/FileUtils.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.FileUtils (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of org.owasp.dependencycheck.utils.FileUtils
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/InvalidSettingException.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/InvalidSettingException.html
new file mode 100644
index 000000000..cb9080743
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/InvalidSettingException.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in org.owasp.dependencycheck.utils that throw InvalidSettingException
+
+Modifier and Type
+Method and Description
+
+
+
+static boolean
+Settings. getBoolean (String key)
+Returns a boolean value from the properties file.
+
+
+
+static boolean
+Settings. getBoolean (String key,
+ boolean defaultValue)
+Returns a boolean value from the properties file.
+
+
+
+static int
+Settings. getInt (String key)
+Returns an int value from the properties file.
+
+
+
+static long
+Settings. getLong (String key)
+Returns a long value from the properties file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/LogFilter.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/LogFilter.html
new file mode 100644
index 000000000..65ee1f4f2
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/LogFilter.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.LogFilter (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of org.owasp.dependencycheck.utils.LogFilter
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/LogUtils.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/LogUtils.html
new file mode 100644
index 000000000..7d2cd49b1
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/LogUtils.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.LogUtils (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of org.owasp.dependencycheck.utils.LogUtils
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.KEYS.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.KEYS.html
new file mode 100644
index 000000000..9cdde5523
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.KEYS.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of org.owasp.dependencycheck.utils.Settings.KEYS
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.html
new file mode 100644
index 000000000..4590c4e60
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.Settings (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/URLConnectionFactory.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/URLConnectionFactory.html
new file mode 100644
index 000000000..9dd0c7347
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/URLConnectionFactory.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.URLConnectionFactory (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of org.owasp.dependencycheck.utils.URLConnectionFactory
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/URLConnectionFailureException.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/URLConnectionFailureException.html
new file mode 100644
index 000000000..0109ab427
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/class-use/URLConnectionFailureException.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.URLConnectionFailureException (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-frame.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-frame.html
new file mode 100644
index 000000000..4e50112f7
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-frame.html
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+org.owasp.dependencycheck.utils (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+
Classes
+
+
Exceptions
+
+
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-summary.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-summary.html
new file mode 100644
index 000000000..3075c54f9
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-summary.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+org.owasp.dependencycheck.utils (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Prev Package
+Next Package
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+Downloader
+
+A utility to download files from the Internet.
+
+
+
+FileUtils
+
+A collection of utilities for processing information about files.
+
+
+
+LogFilter
+
+A simple log filter to limit the entries written to the verbose log file.
+
+
+
+LogUtils
+
+A utility class to aide in the setup of the logging mechanism.
+
+
+
+Settings
+
+A simple settings container that wraps the dependencycheck.properties file.
+
+
+
+Settings.KEYS
+
+The collection of keys used within the properties file.
+
+
+
+URLConnectionFactory
+
+A URLConnection Factory to create new connections.
+
+
+
+
+
+
+
+
+
+
+
+
+
Package org.owasp.dependencycheck.utils Description
+
+
+
org.owasp.dependencycheck.utils
+
+
+ Includes various utility classes such as a Settings wrapper, utilities to make URL Connections, etc.
+
+
+
+
+
+
+
+Prev Package
+Next Package
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-tree.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-tree.html
new file mode 100644
index 000000000..9b84493fd
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-tree.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-use.html b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-use.html
new file mode 100644
index 000000000..fc5cdcc3f
--- /dev/null
+++ b/dependency-check-utils/apidocs/org/owasp/dependencycheck/utils/package-use.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/overview-tree.html b/dependency-check-utils/apidocs/overview-tree.html
new file mode 100644
index 000000000..c284af975
--- /dev/null
+++ b/dependency-check-utils/apidocs/overview-tree.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+Class Hierarchy (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/package-list b/dependency-check-utils/apidocs/package-list
new file mode 100644
index 000000000..039ee5c7a
--- /dev/null
+++ b/dependency-check-utils/apidocs/package-list
@@ -0,0 +1 @@
+org.owasp.dependencycheck.utils
diff --git a/dependency-check-utils/apidocs/resources/background.gif b/dependency-check-utils/apidocs/resources/background.gif
new file mode 100644
index 000000000..f471940fd
Binary files /dev/null and b/dependency-check-utils/apidocs/resources/background.gif differ
diff --git a/dependency-check-utils/apidocs/resources/tab.gif b/dependency-check-utils/apidocs/resources/tab.gif
new file mode 100644
index 000000000..1a73a83be
Binary files /dev/null and b/dependency-check-utils/apidocs/resources/tab.gif differ
diff --git a/dependency-check-utils/apidocs/resources/titlebar.gif b/dependency-check-utils/apidocs/resources/titlebar.gif
new file mode 100644
index 000000000..17443b3e1
Binary files /dev/null and b/dependency-check-utils/apidocs/resources/titlebar.gif differ
diff --git a/dependency-check-utils/apidocs/resources/titlebar_end.gif b/dependency-check-utils/apidocs/resources/titlebar_end.gif
new file mode 100644
index 000000000..3ad78d461
Binary files /dev/null and b/dependency-check-utils/apidocs/resources/titlebar_end.gif differ
diff --git a/dependency-check-utils/apidocs/serialized-form.html b/dependency-check-utils/apidocs/serialized-form.html
new file mode 100644
index 000000000..e69557c8c
--- /dev/null
+++ b/dependency-check-utils/apidocs/serialized-form.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+Serialized Form (Dependency-Check Utils 1.2.3 API)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012–2014 OWASP . All rights reserved.
+
+
diff --git a/dependency-check-utils/apidocs/stylesheet.css b/dependency-check-utils/apidocs/stylesheet.css
new file mode 100644
index 000000000..0aeaa97fe
--- /dev/null
+++ b/dependency-check-utils/apidocs/stylesheet.css
@@ -0,0 +1,474 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+body {
+ background-color:#ffffff;
+ color:#353833;
+ font-family:Arial, Helvetica, sans-serif;
+ font-size:76%;
+ margin:0;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:#4c6b87;
+}
+a:hover, a:focus {
+ text-decoration:none;
+ color:#bb7a2a;
+}
+a:active {
+ text-decoration:none;
+ color:#4c6b87;
+}
+a[name] {
+ color:#353833;
+}
+a[name]:hover {
+ text-decoration:none;
+ color:#353833;
+}
+pre {
+ font-size:1.3em;
+}
+h1 {
+ font-size:1.8em;
+}
+h2 {
+ font-size:1.5em;
+}
+h3 {
+ font-size:1.4em;
+}
+h4 {
+ font-size:1.3em;
+}
+h5 {
+ font-size:1.2em;
+}
+h6 {
+ font-size:1.1em;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-size:1.2em;
+}
+dt code {
+ font-size:1.2em;
+}
+table tr td dt code {
+ font-size:1.2em;
+ vertical-align:top;
+}
+sup {
+ font-size:.6em;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+ clear:both;
+ height:0px;
+ overflow:hidden;
+}
+.aboutLanguage {
+ float:right;
+ padding:0px 21px;
+ font-size:.8em;
+ z-index:200;
+ margin-top:-7px;
+}
+.legalCopy {
+ margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+ color:#FFFFFF;
+ text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+ color:#bb7a2a;
+}
+.tab {
+ background-color:#0066FF;
+ background-image:url(resources/titlebar.gif);
+ background-position:left top;
+ background-repeat:no-repeat;
+ color:#ffffff;
+ padding:8px;
+ width:5em;
+ font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+ background-image:url(resources/background.gif);
+ background-repeat:repeat-x;
+ color:#FFFFFF;
+ padding:.8em .5em .4em .8em;
+ height:auto;/*height:1.8em;*/
+ font-size:1em;
+ margin:0;
+}
+.topNav {
+ background-image:url(resources/background.gif);
+ background-repeat:repeat-x;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+}
+.bottomNav {
+ margin-top:10px;
+ background-image:url(resources/background.gif);
+ background-repeat:repeat-x;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+}
+.subNav {
+ background-color:#dee3e9;
+ border-bottom:1px solid #9eadc0;
+ float:left;
+ width:100%;
+ overflow:hidden;
+}
+.subNav div {
+ clear:left;
+ float:left;
+ padding:0 0 5px 6px;
+}
+ul.navList, ul.subNavList {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.navList li{
+ list-style:none;
+ float:left;
+ padding:3px 6px;
+}
+ul.subNavList li{
+ list-style:none;
+ float:left;
+ font-size:90%;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+ color:#FFFFFF;
+ text-decoration:none;
+}
+.topNav a:hover, .bottomNav a:hover {
+ text-decoration:none;
+ color:#bb7a2a;
+}
+.navBarCell1Rev {
+ background-image:url(resources/tab.gif);
+ background-color:#a88834;
+ color:#FFFFFF;
+ margin: auto 5px;
+ border:1px solid #c9aa44;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+ clear:both;
+ margin:0 20px;
+ padding:5px 0 0 0;
+}
+.indexHeader {
+ margin:10px;
+ position:relative;
+}
+.indexHeader h1 {
+ font-size:1.3em;
+}
+.title {
+ color:#2c4557;
+ margin:10px 0;
+}
+.subTitle {
+ margin:5px 0 0 0;
+}
+.header ul {
+ margin:0 0 25px 0;
+ padding:0;
+}
+.footer ul {
+ margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+ list-style:none;
+ font-size:1.2em;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+ background-color:#dee3e9;
+ border-top:1px solid #9eadc0;
+ border-bottom:1px solid #9eadc0;
+ margin:0 0 6px -8px;
+ padding:2px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ background-color:#dee3e9;
+ border-top:1px solid #9eadc0;
+ border-bottom:1px solid #9eadc0;
+ margin:0 0 6px -8px;
+ padding:2px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+ padding:0;
+ margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+ padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+.indexContainer {
+ margin:10px;
+ position:relative;
+ font-size:1.0em;
+}
+.indexContainer h2 {
+ font-size:1.1em;
+ padding:0 0 3px 0;
+}
+.indexContainer ul {
+ margin:0;
+ padding:0;
+}
+.indexContainer ul li {
+ list-style:none;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+ font-size:1.1em;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+ margin:10px 0 10px 20px;
+}
+.serializedFormContainer dl.nameValue dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+ul.inheritance {
+ margin:0;
+ padding:0;
+}
+ul.inheritance li {
+ display:inline;
+ list-style:none;
+}
+ul.inheritance li ul.inheritance {
+ margin-left:15px;
+ padding-left:15px;
+ padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+ list-style:none;
+ margin-bottom:25px;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+ padding:0px 20px 5px 10px;
+ border:1px solid #9eadc0;
+ background-color:#f9f9f9;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+ padding:0 0 5px 8px;
+ background-color:#ffffff;
+ border:1px solid #9eadc0;
+ border-top:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+ margin-left:0;
+ padding-left:0;
+ padding-bottom:15px;
+ border:none;
+ border-bottom:1px solid #9eadc0;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+ list-style:none;
+ border-bottom:none;
+ padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.contentContainer table, .classUseContainer table, .constantValuesContainer table {
+ border-bottom:1px solid #9eadc0;
+ width:100%;
+}
+.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table {
+ width:100%;
+}
+.contentContainer .description table, .contentContainer .details table {
+ border-bottom:none;
+}
+.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{
+ vertical-align:top;
+ padding-right:20px;
+}
+.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast,
+.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast,
+.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne,
+.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne {
+ padding-right:3px;
+}
+.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:#FFFFFF;
+ font-weight:bold;
+ clear:none;
+ overflow:hidden;
+ padding:0px;
+ margin:0px;
+}
+caption a:link, caption a:hover, caption a:active, caption a:visited {
+ color:#FFFFFF;
+}
+.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span {
+ white-space:nowrap;
+ padding-top:8px;
+ padding-left:8px;
+ display:block;
+ float:left;
+ background-image:url(resources/titlebar.gif);
+ height:18px;
+}
+.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd {
+ width:10px;
+ background-image:url(resources/titlebar_end.gif);
+ background-repeat:no-repeat;
+ background-position:top right;
+ position:relative;
+ float:left;
+}
+ul.blockList ul.blockList li.blockList table {
+ margin:0 0 12px 0px;
+ width:100%;
+}
+.tableSubHeadingColor {
+ background-color: #EEEEFF;
+}
+.altColor {
+ background-color:#eeeeef;
+}
+.rowColor {
+ background-color:#ffffff;
+}
+.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td {
+ text-align:left;
+ padding:3px 3px 3px 7px;
+}
+th.colFirst, th.colLast, th.colOne, .constantValuesContainer th {
+ background:#dee3e9;
+ border-top:1px solid #9eadc0;
+ border-bottom:1px solid #9eadc0;
+ text-align:left;
+ padding:3px 3px 3px 7px;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+ font-weight:bold;
+}
+td.colFirst, th.colFirst {
+ border-left:1px solid #9eadc0;
+ white-space:nowrap;
+}
+td.colLast, th.colLast {
+ border-right:1px solid #9eadc0;
+}
+td.colOne, th.colOne {
+ border-right:1px solid #9eadc0;
+ border-left:1px solid #9eadc0;
+}
+table.overviewSummary {
+ padding:0px;
+ margin-left:0px;
+}
+table.overviewSummary td.colFirst, table.overviewSummary th.colFirst,
+table.overviewSummary td.colOne, table.overviewSummary th.colOne {
+ width:25%;
+ vertical-align:middle;
+}
+table.packageSummary td.colFirst, table.overviewSummary th.colFirst {
+ width:25%;
+ vertical-align:middle;
+}
+/*
+Content styles
+*/
+.description pre {
+ margin-top:0;
+}
+.deprecatedContent {
+ margin:0;
+ padding:10px 0;
+}
+.docSummary {
+ padding:0;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+ color:green;
+ padding:0 30px 0 0;
+}
+h1.hidden {
+ visibility:hidden;
+ overflow:hidden;
+ font-size:.9em;
+}
+.block {
+ display:block;
+ margin:3px 0 0 0;
+}
+.strong {
+ font-weight:bold;
+}
diff --git a/dependency-check-utils/checkstyle.html b/dependency-check-utils/checkstyle.html
new file mode 100644
index 000000000..2f22f86a4
--- /dev/null
+++ b/dependency-check-utils/checkstyle.html
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - Checkstyle Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Checkstyle Results
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Checkstyle Results
+
The following document contains the results of Checkstyle .
+
+
Summary
+
+
+Files
+Infos
+Warnings
+Errors
+
+11
+0
+0
+0
+
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/checkstyle.rss b/dependency-check-utils/checkstyle.rss
new file mode 100644
index 000000000..3594c222d
--- /dev/null
+++ b/dependency-check-utils/checkstyle.rss
@@ -0,0 +1,208 @@
+
+
+
+
+ Dependency-Check Utils - Checkstyle report
+ https://github.com/jeremylong/DependencyCheck.git/dependency-check-utils
+ Dependency-Check Utils - Checkstyle report
+ en-us
+ ©2012 - 2014 OWASP
+ -
+
File: 11,
+ Errors: 0,
+ Warnings: 0,
+ Infos: 0
+
+ https://github.com/jeremylong/DependencyCheck.git/dependency-check-utils/checkstyle.html
+
+ Click here for the full Checkstyle report.
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/css/help.css b/dependency-check-utils/cobertura/css/help.css
new file mode 100644
index 000000000..b023e0334
--- /dev/null
+++ b/dependency-check-utils/cobertura/css/help.css
@@ -0,0 +1,22 @@
+dl {
+ float: left;
+ width: 100%;
+}
+
+dt {
+ border-top: 1px solid #808080;
+ float: left;
+ font-weight: bold;
+ margin: 0;
+ padding: 1em;
+ width: 20%;
+}
+
+dd {
+ border-top: 1px solid #808080;
+ float: left;
+ font-style: italic;
+ margin: 0;
+ padding: 1em;
+ width: 60%;
+}
diff --git a/dependency-check-utils/cobertura/css/main.css b/dependency-check-utils/cobertura/css/main.css
new file mode 100644
index 000000000..fb209e413
--- /dev/null
+++ b/dependency-check-utils/cobertura/css/main.css
@@ -0,0 +1,131 @@
+@import url("help.css");
+@import url("source-viewer.css");
+@import url("tooltip.css");
+
+.hidden {
+ display: none;
+}
+
+a.dfn {
+ border-bottom: 1px dotted #00aa00;
+ cursor: help;
+}
+
+a.dfn:active, a.dfn:link, a.dfn:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.dfn:hover {
+ color: #0000ff;
+ text-decoration: none;
+}
+
+body {
+ font-family: verdana, arial, helvetica;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-bottom: 0.5em;
+}
+
+h5 {
+ margin-top: 0.5em;
+}
+
+div.footer {
+ font-size: 68%;
+ margin-top: 1.5em;
+}
+
+div.percentgraph
+{
+ background-color: #f02020;
+ border: #808080 1px solid;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+ width: 100px;
+}
+
+div.percentgraph div.greenbar
+{
+ background-color: #00f000;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph div.na
+{
+ background-color: #eaeaea;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph span.text
+{
+ display: block;
+ position: absolute;
+ text-align: center;
+ width: 100px;
+}
+
+div.separator {
+ height: 10px;
+}
+
+table tr td, table tr th {
+ font-size: 68%;
+}
+
+td.value table tr td {
+ font-size: 11px;
+}
+
+table.percentgraph {
+ border: 0px;
+ font-size: 130%;
+ margin: 0px;
+ margin-left: auto;
+ margin-right: 0px;
+ padding: 0px;
+}
+
+table.percentgraph tr.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+}
+
+table.percentgraph td.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+ padding-left: 4px;
+}
+
+table.report {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+table.report td {
+ border: #d0d0d0 1px solid;
+}
+
+table.report td.heading {
+ background: #dcecff;
+ font-weight: bold;
+ text-align: center;
+}
+
+table.report td.heading:hover {
+ background: #c0ffc0;
+ cursor: pointer;
+}
+
+table.report td.value {
+ text-align: right;
+}
diff --git a/dependency-check-utils/cobertura/css/sortabletable.css b/dependency-check-utils/cobertura/css/sortabletable.css
new file mode 100644
index 000000000..7c1ff92bd
--- /dev/null
+++ b/dependency-check-utils/cobertura/css/sortabletable.css
@@ -0,0 +1,50 @@
+.sort-table {
+ font: Icon;
+ border: 1px Solid ThreeDShadow;
+ background: Window;
+ color: WindowText;
+}
+
+.sort-table thead {
+ background: ButtonFace;
+}
+
+.sort-table td {
+ padding: 2px 5px;
+}
+
+.sort-table thead td {
+ border: 1px solid;
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ cursor: default;
+}
+
+.sort-table thead td:active {
+ border-color: ButtonShadow ButtonHighlight
+ ButtonHighlight ButtonShadow;
+ padding: 3px 4px 1px 6px;
+}
+
+.sort-table thead td[_sortType=None]:active {
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ padding: 2px 5px;
+}
+
+.sort-arrow {
+ width: 11px;
+ height: 11px;
+ background-position: center center;
+ background-repeat: no-repeat;
+ margin: 0 2px;
+}
+
+.sort-arrow.descending {
+ background-image: url("../images/downsimple.png");
+
+}
+
+.sort-arrow.ascending {
+ background-image: url("../images/upsimple.png");
+}
\ No newline at end of file
diff --git a/dependency-check-utils/cobertura/css/source-viewer.css b/dependency-check-utils/cobertura/css/source-viewer.css
new file mode 100644
index 000000000..125a994b8
--- /dev/null
+++ b/dependency-check-utils/cobertura/css/source-viewer.css
@@ -0,0 +1,73 @@
+pre.src {
+ background: #ffffff;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+table.src {
+ border: #dcdcdc 1px solid;
+ font-size: 16px;
+}
+
+td.numLine {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.numLineCover {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHits {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsCovered {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsUncovered {
+ background: #ff9090;
+ border-right: #dcdcdc 1px solid;
+ font-weight: bold;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.src {
+ width: 100%;
+}
+
+span.comment {
+ color: #b22222;
+ font-style: italic;
+}
+
+span.keyword {
+ color: #2020bf;
+ font-weight: bold;
+}
+
+span.srcUncovered {
+ background: #ff9090;
+}
+
+span.string {
+ color: #2a00ff;
+}
+
+span.text_italic {
+ font-size: 12px;
+ font-style: italic;
+}
diff --git a/dependency-check-utils/cobertura/css/tooltip.css b/dependency-check-utils/cobertura/css/tooltip.css
new file mode 100644
index 000000000..7c8050c89
--- /dev/null
+++ b/dependency-check-utils/cobertura/css/tooltip.css
@@ -0,0 +1,49 @@
+a.hastooltip {
+ border-bottom: 1px dotted #00aa00;
+ color: #000000;
+ cursor: help;
+ font-style: normal;
+ position: relative; /* This is the key */
+ text-decoration: none;
+ z-index: 24; /* What does this do? */
+}
+
+a.hastooltip:active {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:link {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:hover {
+ background-color: #a0b8ff;
+ color: #000000;
+ text-decoration: none;
+ z-index: 25;
+}
+
+a.hastooltip:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip span {
+ display: none;
+}
+
+a.hastooltip:hover span {
+ background-color: #eeeeee;
+ border: 1px solid #000000;
+ color: #000000;
+ display: block;
+ padding: 5px;
+ left: -15.2em;
+ position: absolute;
+ text-align: center;
+ text-decoration: none;
+ top: 2em;
+ width: 20em;
+}
diff --git a/dependency-check-utils/cobertura/frame-packages.html b/dependency-check-utils/cobertura/frame-packages.html
new file mode 100644
index 000000000..16f3e840f
--- /dev/null
+++ b/dependency-check-utils/cobertura/frame-packages.html
@@ -0,0 +1,20 @@
+
+
+
+
+Coverage Report
+
+
+
+Packages
+
+
+
diff --git a/dependency-check-utils/cobertura/frame-sourcefiles-org.owasp.dependencycheck.utils.html b/dependency-check-utils/cobertura/frame-sourcefiles-org.owasp.dependencycheck.utils.html
new file mode 100644
index 000000000..592a876a8
--- /dev/null
+++ b/dependency-check-utils/cobertura/frame-sourcefiles-org.owasp.dependencycheck.utils.html
@@ -0,0 +1,50 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+org.owasp.dependencycheck.utils
+
+
+Classes
+
+
+
diff --git a/dependency-check-utils/cobertura/frame-sourcefiles.html b/dependency-check-utils/cobertura/frame-sourcefiles.html
new file mode 100644
index 000000000..607949f43
--- /dev/null
+++ b/dependency-check-utils/cobertura/frame-sourcefiles.html
@@ -0,0 +1,50 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+All Packages
+
+
+Classes
+
+
+
diff --git a/dependency-check-utils/cobertura/frame-summary-org.owasp.dependencycheck.utils.html b/dependency-check-utils/cobertura/frame-summary-org.owasp.dependencycheck.utils.html
new file mode 100644
index 000000000..8407eeb29
--- /dev/null
+++ b/dependency-check-utils/cobertura/frame-summary-org.owasp.dependencycheck.utils.html
@@ -0,0 +1,62 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/frame-summary.html b/dependency-check-utils/cobertura/frame-summary.html
new file mode 100644
index 000000000..68ac086c3
--- /dev/null
+++ b/dependency-check-utils/cobertura/frame-summary.html
@@ -0,0 +1,30 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - All Packages
+
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/help.html b/dependency-check-utils/cobertura/help.html
new file mode 100644
index 000000000..b1de76394
--- /dev/null
+++ b/dependency-check-utils/cobertura/help.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+Coverage Report - Help
+
+
+
+
+
+
+Line Coverage
+The percent of lines executed by this test run.
+
+Branch Coverage
+The percent of branches executed by this test run.
+
+Complexity
+Average McCabe's cyclomatic code complexity for all methods. This is basically a count of the number of different code paths in a method (incremented by 1 for each if statement, while loop, etc.)
+
+N/A
+Line coverage and branch coverage will appear as "Not Applicable" when Cobertura can not find line number information in the .class file. This happens for stub and skeleton classes, interfaces, or when the class was not compiled with "debug=true."
+
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/images/blank.png b/dependency-check-utils/cobertura/images/blank.png
new file mode 100644
index 000000000..cee9cd37a
Binary files /dev/null and b/dependency-check-utils/cobertura/images/blank.png differ
diff --git a/dependency-check-utils/cobertura/images/downsimple.png b/dependency-check-utils/cobertura/images/downsimple.png
new file mode 100644
index 000000000..4accf927b
Binary files /dev/null and b/dependency-check-utils/cobertura/images/downsimple.png differ
diff --git a/dependency-check-utils/cobertura/images/upsimple.png b/dependency-check-utils/cobertura/images/upsimple.png
new file mode 100644
index 000000000..c82b76ffe
Binary files /dev/null and b/dependency-check-utils/cobertura/images/upsimple.png differ
diff --git a/dependency-check-utils/cobertura/index.html b/dependency-check-utils/cobertura/index.html
new file mode 100644
index 000000000..17ebf4f7b
--- /dev/null
+++ b/dependency-check-utils/cobertura/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+
+
+
+
+ This document is designed to be viewed using the frames feature. If you see this message, you are using a frame-incapable web client.
+ Click here to view a non-frame version.
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/js/customsorttypes.js b/dependency-check-utils/cobertura/js/customsorttypes.js
new file mode 100644
index 000000000..1fe955903
--- /dev/null
+++ b/dependency-check-utils/cobertura/js/customsorttypes.js
@@ -0,0 +1,65 @@
+/*
+ * Cobertura - http://cobertura.sourceforge.net/
+ *
+ * Copyright (C) 2005 Mark Doliner
+ * Copyright (C) 2005 Olivier Parent
+ *
+ * Cobertura is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * Cobertura is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Cobertura; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+
+function percentageSortType( s )
+{
+ var ret;
+ var i = s.indexOf( "%" );
+
+ if (i != -1) {
+ s = s.substr( 0, i );
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ ret = -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "Percentage", percentageSortType );
+
+
+
+// This is needed for correctly sorting numbers in different
+// locales. The stock number converter only expects to sort
+// numbers which use a period as a separator instead of a
+// comma (like French).
+function formattedNumberSortType( s )
+{
+ var ret;
+ var i = s.indexOf(';');
+
+ if (i != -1) {
+ s = s.substring(0, i);
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ return -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "FormattedNumber", formattedNumberSortType );
diff --git a/dependency-check-utils/cobertura/js/popup.js b/dependency-check-utils/cobertura/js/popup.js
new file mode 100644
index 000000000..f1160ff58
--- /dev/null
+++ b/dependency-check-utils/cobertura/js/popup.js
@@ -0,0 +1,8 @@
+var newwindow;
+function popupwindow(url)
+{
+ newwindow=window.open(url,'name','height=500,width=500,resizable=yes,scrollbars=yes');
+ if (window.focus) {
+ newwindow.focus()
+ }
+}
diff --git a/dependency-check-utils/cobertura/js/sortabletable.js b/dependency-check-utils/cobertura/js/sortabletable.js
new file mode 100644
index 000000000..2f7c72e5b
--- /dev/null
+++ b/dependency-check-utils/cobertura/js/sortabletable.js
@@ -0,0 +1,455 @@
+
+/*----------------------------------------------------------------------------\
+| Sortable Table 1.12 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A DOM 1 based script that allows an ordinary HTML table to be sortable. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1998 - 2004 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2003-01-10 | First version |
+| 2003-01-19 | Minor changes to the date parsing |
+| 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator) |
+| 2003-02-01 | Sloppy typo like error fixed in getInnerText |
+| 2003-07-04 | Added workaround for IE cellIndex bug. |
+| 2003-11-09 | The bDescending argument to sort was not correctly working |
+| | Using onclick DOM0 event if no support for addEventListener |
+| | or attachEvent |
+| 2004-01-13 | Adding addSortType and removeSortType which makes it a lot |
+| | easier to add new, custom sort types. |
+| 2004-01-27 | Switch to use descending = false as the default sort order. |
+| | Change defaultDescending to suit your needs. |
+| 2004-03-14 | Improved sort type None look and feel a bit |
+| 2004-08-26 | Made the handling of tBody and tHead more flexible. Now you |
+| | can use another tHead or no tHead, and you can chose some |
+| | other tBody. |
+|-----------------------------------------------------------------------------|
+| Created 2003-01-10 | All changes are in the log above. | Updated 2004-08-26 |
+\----------------------------------------------------------------------------*/
+
+
+function SortableTable(oTable, oSortTypes) {
+
+ this.sortTypes = oSortTypes || [];
+
+ this.sortColumn = null;
+ this.descending = null;
+
+ var oThis = this;
+ this._headerOnclick = function (e) {
+ oThis.headerOnclick(e);
+ };
+
+ if (oTable) {
+ this.setTable( oTable );
+ this.document = oTable.ownerDocument || oTable.document;
+ }
+ else {
+ this.document = document;
+ }
+
+
+ // only IE needs this
+ var win = this.document.defaultView || this.document.parentWindow;
+ this._onunload = function () {
+ oThis.destroy();
+ };
+ if (win && typeof win.attachEvent != "undefined") {
+ win.attachEvent("onunload", this._onunload);
+ }
+}
+
+SortableTable.gecko = navigator.product == "Gecko";
+SortableTable.msie = /msie/i.test(navigator.userAgent);
+// Mozilla is faster when doing the DOM manipulations on
+// an orphaned element. MSIE is not
+SortableTable.removeBeforeSort = SortableTable.gecko;
+
+SortableTable.prototype.onsort = function () {};
+
+// default sort order. true -> descending, false -> ascending
+SortableTable.prototype.defaultDescending = false;
+
+// shared between all instances. This is intentional to allow external files
+// to modify the prototype
+SortableTable.prototype._sortTypeInfo = {};
+
+SortableTable.prototype.setTable = function (oTable) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.element = oTable;
+ this.setTHead( oTable.tHead );
+ this.setTBody( oTable.tBodies[0] );
+};
+
+SortableTable.prototype.setTHead = function (oTHead) {
+ if (this.tHead && this.tHead != oTHead )
+ this.uninitHeader();
+ this.tHead = oTHead;
+ this.initHeader( this.sortTypes );
+};
+
+SortableTable.prototype.setTBody = function (oTBody) {
+ this.tBody = oTBody;
+};
+
+SortableTable.prototype.setSortTypes = function ( oSortTypes ) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.sortTypes = oSortTypes || [];
+ if ( this.tHead )
+ this.initHeader( this.sortTypes );
+};
+
+// adds arrow containers and events
+// also binds sort type to the header cells so that reordering columns does
+// not break the sort types
+SortableTable.prototype.initHeader = function (oSortTypes) {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var doc = this.tHead.ownerDocument || this.tHead.document;
+ this.sortTypes = oSortTypes || [];
+ var l = cells.length;
+ var img, c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {
+ img = doc.createElement("IMG");
+ img.src = "images/blank.png";
+ c.appendChild(img);
+ if (this.sortTypes[i] != null)
+ c._sortType = this.sortTypes[i];
+ if (typeof c.addEventListener != "undefined")
+ c.addEventListener("click", this._headerOnclick, false);
+ else if (typeof c.attachEvent != "undefined")
+ c.attachEvent("onclick", this._headerOnclick);
+ else
+ c.onclick = this._headerOnclick;
+ }
+ else
+ {
+ c.setAttribute( "_sortType", oSortTypes[i] );
+ c._sortType = "None";
+ }
+ }
+ this.updateHeaderArrows();
+};
+
+// remove arrows and events
+SortableTable.prototype.uninitHeader = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (c._sortType != null && c._sortType != "None") {
+ c.removeChild(c.lastChild);
+ if (typeof c.removeEventListener != "undefined")
+ c.removeEventListener("click", this._headerOnclick, false);
+ else if (typeof c.detachEvent != "undefined")
+ c.detachEvent("onclick", this._headerOnclick);
+ c._sortType = null;
+ c.removeAttribute( "_sortType" );
+ }
+ }
+};
+
+SortableTable.prototype.updateHeaderArrows = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var img;
+ for (var i = 0; i < l; i++) {
+ if (cells[i]._sortType != null && cells[i]._sortType != "None") {
+ img = cells[i].lastChild;
+ if (i == this.sortColumn)
+ img.className = "sort-arrow " + (this.descending ? "descending" : "ascending");
+ else
+ img.className = "sort-arrow";
+ }
+ }
+};
+
+SortableTable.prototype.headerOnclick = function (e) {
+ // find TD element
+ var el = e.target || e.srcElement;
+ while (el.tagName != "TD")
+ el = el.parentNode;
+
+ this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);
+};
+
+// IE returns wrong cellIndex when columns are hidden
+SortableTable.getCellIndex = function (oTd) {
+ var cells = oTd.parentNode.childNodes
+ var l = cells.length;
+ var i;
+ for (i = 0; cells[i] != oTd && i < l; i++)
+ ;
+ return i;
+};
+
+SortableTable.prototype.getSortType = function (nColumn) {
+ return this.sortTypes[nColumn] || "String";
+};
+
+// only nColumn is required
+// if bDescending is left out the old value is taken into account
+// if sSortType is left out the sort type is found from the sortTypes array
+
+SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {
+ if (!this.tBody) return;
+ if (sSortType == null)
+ sSortType = this.getSortType(nColumn);
+
+ // exit if None
+ if (sSortType == "None")
+ return;
+
+ if (bDescending == null) {
+ if (this.sortColumn != nColumn)
+ this.descending = this.defaultDescending;
+ else
+ this.descending = !this.descending;
+ }
+ else
+ this.descending = bDescending;
+
+ this.sortColumn = nColumn;
+
+ if (typeof this.onbeforesort == "function")
+ this.onbeforesort();
+
+ var f = this.getSortFunction(sSortType, nColumn);
+ var a = this.getCache(sSortType, nColumn);
+ var tBody = this.tBody;
+
+ a.sort(f);
+
+ if (this.descending)
+ a.reverse();
+
+ if (SortableTable.removeBeforeSort) {
+ // remove from doc
+ var nextSibling = tBody.nextSibling;
+ var p = tBody.parentNode;
+ p.removeChild(tBody);
+ }
+
+ // insert in the new order
+ var l = a.length;
+ for (var i = 0; i < l; i++)
+ tBody.appendChild(a[i].element);
+
+ if (SortableTable.removeBeforeSort) {
+ // insert into doc
+ p.insertBefore(tBody, nextSibling);
+ }
+
+ this.updateHeaderArrows();
+
+ this.destroyCache(a);
+
+ if (typeof this.onsort == "function")
+ this.onsort();
+};
+
+SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) {
+ var oThis = this;
+ this._asyncsort = function () {
+ oThis.sort(nColumn, bDescending, sSortType);
+ };
+ window.setTimeout(this._asyncsort, 1);
+};
+
+SortableTable.prototype.getCache = function (sType, nColumn) {
+ if (!this.tBody) return [];
+ var rows = this.tBody.rows;
+ var l = rows.length;
+ var a = new Array(l);
+ var r;
+ for (var i = 0; i < l; i++) {
+ r = rows[i];
+ a[i] = {
+ value: this.getRowValue(r, sType, nColumn),
+ element: r
+ };
+ };
+ return a;
+};
+
+SortableTable.prototype.destroyCache = function (oArray) {
+ var l = oArray.length;
+ for (var i = 0; i < l; i++) {
+ oArray[i].value = null;
+ oArray[i].element = null;
+ oArray[i] = null;
+ }
+};
+
+SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {
+ // if we have defined a custom getRowValue use that
+ if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)
+ return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);
+
+ var s;
+ var c = oRow.cells[nColumn];
+ if (typeof c.innerText != "undefined")
+ s = c.innerText;
+ else
+ s = SortableTable.getInnerText(c);
+ return this.getValueFromString(s, sType);
+};
+
+SortableTable.getInnerText = function (oNode) {
+ var s = "";
+ var cs = oNode.childNodes;
+ var l = cs.length;
+ for (var i = 0; i < l; i++) {
+ switch (cs[i].nodeType) {
+ case 1: //ELEMENT_NODE
+ s += SortableTable.getInnerText(cs[i]);
+ break;
+ case 3: //TEXT_NODE
+ s += cs[i].nodeValue;
+ break;
+ }
+ }
+ return s;
+};
+
+SortableTable.prototype.getValueFromString = function (sText, sType) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].getValueFromString( sText );
+ return sText;
+ /*
+ switch (sType) {
+ case "Number":
+ return Number(sText);
+ case "CaseInsensitiveString":
+ return sText.toUpperCase();
+ case "Date":
+ var parts = sText.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+ }
+ return sText;
+ */
+ };
+
+SortableTable.prototype.getSortFunction = function (sType, nColumn) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].compare;
+ return SortableTable.basicCompare;
+};
+
+SortableTable.prototype.destroy = function () {
+ this.uninitHeader();
+ var win = this.document.parentWindow;
+ if (win && typeof win.detachEvent != "undefined") { // only IE needs this
+ win.detachEvent("onunload", this._onunload);
+ }
+ this._onunload = null;
+ this.element = null;
+ this.tHead = null;
+ this.tBody = null;
+ this.document = null;
+ this._headerOnclick = null;
+ this.sortTypes = null;
+ this._asyncsort = null;
+ this.onsort = null;
+};
+
+// Adds a sort type to all instance of SortableTable
+// sType : String - the identifier of the sort type
+// fGetValueFromString : function ( s : string ) : T - A function that takes a
+// string and casts it to a desired format. If left out the string is just
+// returned
+// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort
+// compare function. Takes two values and compares them. If left out less than,
+// <, compare is used
+// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function
+// that takes the row and the column index and returns the value used to compare.
+// If left out then the innerText is first taken for the cell and then the
+// fGetValueFromString is used to convert that string the desired value and type
+
+SortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) {
+ this._sortTypeInfo[sType] = {
+ type: sType,
+ getValueFromString: fGetValueFromString || SortableTable.idFunction,
+ compare: fCompareFunction || SortableTable.basicCompare,
+ getRowValue: fGetRowValue
+ };
+};
+
+// this removes the sort type from all instances of SortableTable
+SortableTable.prototype.removeSortType = function (sType) {
+ delete this._sortTypeInfo[sType];
+};
+
+SortableTable.basicCompare = function compare(n1, n2) {
+ if (n1.value < n2.value)
+ return -1;
+ if (n2.value < n1.value)
+ return 1;
+ return 0;
+};
+
+SortableTable.idFunction = function (x) {
+ return x;
+};
+
+SortableTable.toUpperCase = function (s) {
+ return s.toUpperCase();
+};
+
+SortableTable.toDate = function (s) {
+ var parts = s.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+};
+
+
+// add sort types
+SortableTable.prototype.addSortType("Number", Number);
+SortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase);
+SortableTable.prototype.addSortType("Date", SortableTable.toDate);
+SortableTable.prototype.addSortType("String");
+// None is a special case
diff --git a/dependency-check-utils/cobertura/js/stringbuilder.js b/dependency-check-utils/cobertura/js/stringbuilder.js
new file mode 100644
index 000000000..180812607
--- /dev/null
+++ b/dependency-check-utils/cobertura/js/stringbuilder.js
@@ -0,0 +1,79 @@
+/*----------------------------------------------------------------------------\
+| String Builder 1.02 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A class that allows more efficient building of strings than concatenation. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1999 - 2002 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2000-10-02 | First version |
+| 2000-10-05 | Added a cache of the string so that it does not need to be |
+| | regenerated every time in toString |
+| 2002-10-03 | Added minor improvement in the toString method |
+|-----------------------------------------------------------------------------|
+| Created 2000-10-02 | All changes are in the log above. | Updated 2002-10-03 |
+\----------------------------------------------------------------------------*/ function StringBuilder(sString) {
+
+ // public
+ this.length = 0;
+
+ this.append = function (sString) {
+ // append argument
+ this.length += (this._parts[this._current++] = String(sString)).length;
+
+ // reset cache
+ this._string = null;
+ return this;
+ };
+
+ this.toString = function () {
+ if (this._string != null)
+ return this._string;
+
+ var s = this._parts.join("");
+ this._parts = [s];
+ this._current = 1;
+ this.length = s.length;
+
+ return this._string = s;
+ };
+
+ // private
+ this._current = 0;
+ this._parts = [];
+ this._string = null; // used to cache the string
+
+ // init
+ if (sString != null)
+ this.append(sString);
+}
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html
new file mode 100644
index 000000000..d7b0d91da
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html
@@ -0,0 +1,160 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.DownloadFailedException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.IOException;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+ public class DownloadFailedException extends IOException {
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+ private static final long serialVersionUID = 1L;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ public DownloadFailedException() {
+ 38
+ super ();
+ 39
+ }
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+ public DownloadFailedException(String msg) {
+ 47
+ super (msg);
+ 48
+ }
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+ public DownloadFailedException(Throwable ex) {
+ 56
+ super (ex);
+ 57
+ }
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ public DownloadFailedException(String msg, Throwable ex) {
+ 66
+ super (msg, ex);
+ 67
+ }
+ 68
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.Downloader.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.Downloader.html
new file mode 100644
index 000000000..fbfb7e5eb
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.Downloader.html
@@ -0,0 +1,342 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.Downloader
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.BufferedOutputStream;
+ 21
+ import java.io.File;
+ 22
+ import java.io.FileOutputStream;
+ 23
+ import java.io.IOException;
+ 24
+ import java.io.InputStream;
+ 25
+ import java.net.HttpURLConnection;
+ 26
+ import java.net.URISyntaxException;
+ 27
+ import java.net.URL;
+ 28
+ import java.util.logging.Level;
+ 29
+ import java.util.logging.Logger;
+ 30
+ import java.util.zip.GZIPInputStream;
+ 31
+ import java.util.zip.InflaterInputStream;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+ public final class Downloader {
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43 1 private static final Logger LOGGER = Logger.getLogger(Downloader.class .getName());
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+ private Downloader() {
+ 49
+ }
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+ public static void fetchFile(URL url, File outputPath) throws DownloadFailedException {
+ 59 0 fetchFile(url, outputPath, true );
+ 60 0 }
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+ public static void fetchFile(URL url, File outputPath, boolean useProxy) throws DownloadFailedException {
+ 71 0 if ("file" .equalsIgnoreCase(url.getProtocol())) {
+ 72
+ File file;
+ 73
+ try {
+ 74 0 file = new File(url.toURI());
+ 75 0 } catch (URISyntaxException ex) {
+ 76 0 final String msg = String.format("Download failed, unable to locate '%s'" , url.toString());
+ 77 0 throw new DownloadFailedException(msg);
+ 78 0 }
+ 79 0 if (file.exists()) {
+ 80
+ try {
+ 81 0 org.apache.commons.io.FileUtils.copyFile(file, outputPath);
+ 82 0 } catch (IOException ex) {
+ 83 0 final String msg = String.format("Download failed, unable to copy '%s'" , url.toString());
+ 84 0 throw new DownloadFailedException(msg);
+ 85 0 }
+ 86
+ } else {
+ 87 0 final String msg = String.format("Download failed, file does not exist '%s'" , url.toString());
+ 88 0 throw new DownloadFailedException(msg);
+ 89
+ }
+ 90 0 } else {
+ 91 0 HttpURLConnection conn = null ;
+ 92
+ try {
+ 93 0 conn = URLConnectionFactory.createHttpURLConnection(url, useProxy);
+ 94 0 conn.setRequestProperty("Accept-Encoding" , "gzip, deflate" );
+ 95 0 conn.connect();
+ 96 0 } catch (IOException ex) {
+ 97
+ try {
+ 98 0 if (conn != null ) {
+ 99 0 conn.disconnect();
+ 100
+ }
+ 101
+ } finally {
+ 102 0 conn = null ;
+ 103 0 }
+ 104 0 throw new DownloadFailedException("Error downloading file." , ex);
+ 105 0 }
+ 106 0 final String encoding = conn.getContentEncoding();
+ 107
+
+ 108 0 BufferedOutputStream writer = null ;
+ 109 0 InputStream reader = null ;
+ 110
+ try {
+ 111 0 if (encoding != null && "gzip" .equalsIgnoreCase(encoding)) {
+ 112 0 reader = new GZIPInputStream(conn.getInputStream());
+ 113 0 } else if (encoding != null && "deflate" .equalsIgnoreCase(encoding)) {
+ 114 0 reader = new InflaterInputStream(conn.getInputStream());
+ 115
+ } else {
+ 116 0 reader = conn.getInputStream();
+ 117
+ }
+ 118
+
+ 119 0 writer = new BufferedOutputStream(new FileOutputStream(outputPath));
+ 120 0 final byte [] buffer = new byte [4096];
+ 121
+ int bytesRead;
+ 122 0 while ((bytesRead = reader.read(buffer)) > 0) {
+ 123 0 writer.write(buffer, 0, bytesRead);
+ 124
+ }
+ 125 0 } catch (Throwable ex) {
+ 126 0 throw new DownloadFailedException("Error saving downloaded file." , ex);
+ 127
+ } finally {
+ 128 0 if (writer != null ) {
+ 129
+ try {
+ 130 0 writer.close();
+ 131 0 } catch (Throwable ex) {
+ 132 0 LOGGER.log(Level.FINEST,
+ 133
+ "Error closing the writer in Downloader." , ex);
+ 134 0 }
+ 135
+ }
+ 136 0 if (reader != null ) {
+ 137
+ try {
+ 138 0 reader.close();
+ 139 0 } catch (Throwable ex) {
+ 140 0 LOGGER.log(Level.FINEST,
+ 141
+ "Error closing the reader in Downloader." , ex);
+ 142 0 }
+ 143
+ }
+ 144
+ try {
+ 145 0 conn.disconnect();
+ 146
+ } finally {
+ 147 0 conn = null ;
+ 148 0 }
+ 149 0 }
+ 150
+ }
+ 151 0 }
+ 152
+
+ 153
+
+ 154
+
+ 155
+
+ 156
+
+ 157
+
+ 158
+
+ 159
+
+ 160
+
+ 161
+ public static long getLastModified(URL url) throws DownloadFailedException {
+ 162 1 long timestamp = 0;
+ 163
+
+ 164 1 if ("file" .equalsIgnoreCase(url.getProtocol())) {
+ 165
+ File lastModifiedFile;
+ 166
+ try {
+ 167 1 lastModifiedFile = new File(url.toURI());
+ 168 0 } catch (URISyntaxException ex) {
+ 169 0 final String msg = String.format("Unable to locate '%s'" , url.toString());
+ 170 0 throw new DownloadFailedException(msg);
+ 171 1 }
+ 172 1 timestamp = lastModifiedFile.lastModified();
+ 173 1 } else {
+ 174 0 HttpURLConnection conn = null ;
+ 175
+ try {
+ 176 0 conn = URLConnectionFactory.createHttpURLConnection(url);
+ 177 0 conn.setRequestMethod("HEAD" );
+ 178 0 conn.connect();
+ 179 0 final int t = conn.getResponseCode();
+ 180 0 if (t >= 200 && t < 300) {
+ 181 0 timestamp = conn.getLastModified();
+ 182
+ } else {
+ 183 0 throw new DownloadFailedException("HEAD request returned a non-200 status code" );
+ 184
+ }
+ 185 0 } catch (URLConnectionFailureException ex) {
+ 186 0 throw new DownloadFailedException("Error creating URL Connection for HTTP HEAD request." , ex);
+ 187 0 } catch (IOException ex) {
+ 188 0 throw new DownloadFailedException("Error making HTTP HEAD request." , ex);
+ 189
+ } finally {
+ 190 0 if (conn != null ) {
+ 191
+ try {
+ 192 0 conn.disconnect();
+ 193
+ } finally {
+ 194 0 conn = null ;
+ 195 0 }
+ 196
+ }
+ 197
+ }
+ 198
+ }
+ 199 1 return timestamp;
+ 200
+ }
+ 201
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html
new file mode 100644
index 000000000..821610f7b
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html
@@ -0,0 +1,160 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.ExtractionException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.IOException;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+ public class ExtractionException extends IOException {
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+ private static final long serialVersionUID = 1L;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ public ExtractionException() {
+ 38
+ super ();
+ 39
+ }
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+ public ExtractionException(String msg) {
+ 47
+ super (msg);
+ 48
+ }
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+ public ExtractionException(Throwable ex) {
+ 56
+ super (ex);
+ 57
+ }
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ public ExtractionException(String msg, Throwable ex) {
+ 66
+ super (msg, ex);
+ 67
+ }
+ 68
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.FileUtils.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.FileUtils.html
new file mode 100644
index 000000000..b8d0ccda6
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.FileUtils.html
@@ -0,0 +1,307 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.FileUtils
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.File;
+ 21
+ import java.io.IOException;
+ 22
+ import java.io.UnsupportedEncodingException;
+ 23
+ import java.net.URLDecoder;
+ 24
+ import java.util.UUID;
+ 25
+ import java.util.logging.Level;
+ 26
+ import java.util.logging.Logger;
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+ public final class FileUtils {
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38 1 private static final Logger LOGGER = Logger.getLogger(FileUtils.class .getName());
+ 39
+
+ 40
+
+ 41
+
+ 42
+ private static final String BIT_BUCKET_UNIX = "/dev/null" ;
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+ private static final String BIT_BUCKET_WIN = "NUL" ;
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+ private FileUtils() {
+ 53
+ }
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61
+ public static String getFileExtension(String fileName) {
+ 62 2 String ret = null ;
+ 63 2 final int pos = fileName.lastIndexOf("." );
+ 64 2 if (pos >= 0) {
+ 65 2 ret = fileName.substring(pos + 1, fileName.length()).toLowerCase();
+ 66
+ }
+ 67 2 return ret;
+ 68
+ }
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+ public static boolean delete(File file) {
+ 77 2 boolean success = true ;
+ 78 2 if (!org.apache.commons.io.FileUtils.deleteQuietly(file)) {
+ 79 0 success = false ;
+ 80 0 final String msg = String.format("Failed to delete file: %s; attempting to delete on exit." , file.getPath());
+ 81 0 LOGGER.log(Level.FINE, msg);
+ 82 0 file.deleteOnExit();
+ 83
+ }
+ 84 2 return success;
+ 85
+ }
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90
+
+ 91
+
+ 92
+
+ 93
+
+ 94
+
+ 95
+ public static File getTempFile(String prefix, String extension) throws IOException {
+ 96 0 final File dir = Settings.getTempDirectory();
+ 97 0 final String tempFileName = String.format("%s%s.%s" , prefix, UUID.randomUUID().toString(), extension);
+ 98 0 final File tempFile = new File(dir, tempFileName);
+ 99 0 if (tempFile.exists()) {
+ 100 0 return getTempFile(prefix, extension);
+ 101
+ }
+ 102 0 return tempFile;
+ 103
+ }
+ 104
+
+ 105
+
+ 106
+
+ 107
+
+ 108
+
+ 109
+
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+
+ 116
+
+ 117
+ @java.lang.Deprecated
+ 118
+ public static File getDataDirectory(String configuredFilePath, Class clazz) throws IOException {
+ 119 0 final File file = new File(configuredFilePath);
+ 120 0 if (file.isDirectory() && file.canWrite()) {
+ 121 0 return new File(file.getCanonicalPath());
+ 122
+ } else {
+ 123 0 final File exePath = getPathToJar(clazz);
+ 124 0 return new File(exePath, configuredFilePath);
+ 125
+ }
+ 126
+ }
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+
+ 135
+
+ 136
+
+ 137
+ @java.lang.Deprecated
+ 138
+ public static File getPathToJar(Class clazz) throws UnsupportedEncodingException {
+ 139 0 final String filePath = clazz.getProtectionDomain().getCodeSource().getLocation().getPath();
+ 140 0 final String decodedPath = URLDecoder.decode(filePath, "UTF-8" );
+ 141 0 final File jarPath = new File(decodedPath);
+ 142 0 return jarPath.getParentFile();
+ 143
+ }
+ 144
+
+ 145
+
+ 146
+
+ 147
+
+ 148
+
+ 149
+
+ 150
+ public static String getBitBucket() {
+ 151 0 if (System.getProperty("os.name" ).startsWith("Windows" )) {
+ 152 0 return BIT_BUCKET_WIN;
+ 153
+ } else {
+ 154 0 return BIT_BUCKET_UNIX;
+ 155
+ }
+ 156
+ }
+ 157
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html
new file mode 100644
index 000000000..b88ba8ac5
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html
@@ -0,0 +1,160 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.InvalidSettingException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.IOException;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+ public class InvalidSettingException extends IOException {
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+ private static final long serialVersionUID = 1L;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ public InvalidSettingException() {
+ 38
+ super ();
+ 39
+ }
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+ public InvalidSettingException(String msg) {
+ 47
+ super (msg);
+ 48
+ }
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+ public InvalidSettingException(Throwable ex) {
+ 56
+ super (ex);
+ 57
+ }
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ public InvalidSettingException(String msg, Throwable ex) {
+ 66
+ super (msg, ex);
+ 67
+ }
+ 68
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.LogFilter.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.LogFilter.html
new file mode 100644
index 000000000..3fa4b87ee
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.LogFilter.html
@@ -0,0 +1,106 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.LogFilter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.util.logging.Filter;
+ 21
+ import java.util.logging.LogRecord;
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+ public class LogFilter implements Filter {
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ @Override
+ 38
+ public boolean isLoggable(LogRecord record) {
+ 39 0 final String name = record.getSourceClassName();
+ 40 0 return name.startsWith("org.owasp.dependencycheck" ) && !name.contains("generated" ) && !name.contains("VelocityLoggerRedirect" );
+ 41
+ }
+ 42
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.LogUtils.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.LogUtils.html
new file mode 100644
index 000000000..0fbf3637d
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.LogUtils.html
@@ -0,0 +1,186 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.LogUtils
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.IOException;
+ 21
+ import java.io.InputStream;
+ 22
+ import java.util.logging.FileHandler;
+ 23
+ import java.util.logging.Level;
+ 24
+ import java.util.logging.LogManager;
+ 25
+ import java.util.logging.Logger;
+ 26
+ import java.util.logging.SimpleFormatter;
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+ public final class LogUtils {
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38 0 private static final Logger LOGGER = Logger.getLogger(LogUtils.class .getName());
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+ private LogUtils() {
+ 44
+ }
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+ public static void prepareLogger(InputStream in, String verboseLogFile) {
+ 53
+ try {
+ 54 0 LogManager.getLogManager().reset();
+ 55 0 LogManager.getLogManager().readConfiguration(in);
+ 56 0 if (verboseLogFile != null && !verboseLogFile.isEmpty()) {
+ 57 0 verboseLoggingEnabled = true ;
+ 58 0 final Logger logger = Logger.getLogger("" );
+ 59 0 final FileHandler handler = new FileHandler(verboseLogFile, true );
+ 60 0 handler.setFormatter(new SimpleFormatter());
+ 61 0 handler.setLevel(Level.FINE);
+ 62 0 handler.setFilter(new LogFilter());
+ 63 0 logger.addHandler(handler);
+ 64 0 logger.setLevel(Level.FINE);
+ 65
+ }
+ 66 0 } catch (IOException ex) {
+ 67 0 LOGGER.log(Level.FINE, "IO Error preparing the logger" , ex);
+ 68 0 } catch (SecurityException ex) {
+ 69 0 LOGGER.log(Level.FINE, "Error preparing the logger" , ex);
+ 70
+ } finally {
+ 71 0 if (in != null ) {
+ 72
+ try {
+ 73 0 in.close();
+ 74 0 } catch (Throwable ex) {
+ 75 0 LOGGER.log(Level.FINEST, "Error closing resource stream" , ex);
+ 76 0 }
+ 77
+ }
+ 78
+ }
+ 79 0 }
+ 80
+
+ 81
+
+ 82
+
+ 83 0 private static boolean verboseLoggingEnabled = false ;
+ 84
+
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90
+ public static boolean isVerboseLoggingEnabled() {
+ 91 0 return verboseLoggingEnabled;
+ 92
+ }
+ 93
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.Settings.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.Settings.html
new file mode 100644
index 000000000..b433dbbb3
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.Settings.html
@@ -0,0 +1,1172 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.Settings
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.File;
+ 21
+ import java.io.FileInputStream;
+ 22
+ import java.io.FileNotFoundException;
+ 23
+ import java.io.IOException;
+ 24
+ import java.io.InputStream;
+ 25
+ import java.io.PrintWriter;
+ 26
+ import java.io.StringWriter;
+ 27
+ import java.io.UnsupportedEncodingException;
+ 28
+ import java.net.URLDecoder;
+ 29
+ import java.util.Enumeration;
+ 30
+ import java.util.Properties;
+ 31
+ import java.util.logging.Level;
+ 32
+ import java.util.logging.Logger;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+ public final class Settings {
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+ public static final class KEYS {
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+ private KEYS() {
+ 51
+
+ 52
+ }
+ 53
+
+ 54
+
+ 55
+
+ 56
+ public static final String AUTO_UPDATE = "autoupdate" ;
+ 57
+
+ 58
+
+ 59
+
+ 60
+ public static final String DB_DRIVER_NAME = "data.driver_name" ;
+ 61
+
+ 62
+
+ 63
+
+ 64
+ public static final String DB_DRIVER_PATH = "data.driver_path" ;
+ 65
+
+ 66
+
+ 67
+
+ 68
+ public static final String DB_CONNECTION_STRING = "data.connection_string" ;
+ 69
+
+ 70
+
+ 71
+
+ 72
+ public static final String DB_USER = "data.user" ;
+ 73
+
+ 74
+
+ 75
+
+ 76
+ public static final String DB_PASSWORD = "data.password" ;
+ 77
+
+ 78
+
+ 79
+
+ 80
+ public static final String DATA_DIRECTORY = "data.directory" ;
+ 81
+
+ 82
+
+ 83
+
+ 84
+ public static final String CVE_META_URL = "cve.url.meta" ;
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+ public static final String CVE_MODIFIED_20_URL = "cve.url-2.0.modified" ;
+ 90
+
+ 91
+
+ 92
+
+ 93
+
+ 94
+ public static final String CVE_MODIFIED_12_URL = "cve.url-1.2.modified" ;
+ 95
+
+ 96
+
+ 97
+
+ 98
+ public static final String CVE_MODIFIED_VALID_FOR_DAYS = "cve.url.modified.validfordays" ;
+ 99
+
+ 100
+
+ 101
+
+ 102
+
+ 103
+ public static final String CVE_START_YEAR = "cve.startyear" ;
+ 104
+
+ 105
+
+ 106
+
+ 107
+ public static final String CVE_SCHEMA_1_2 = "cve.url-1.2.base" ;
+ 108
+
+ 109
+
+ 110
+
+ 111
+ public static final String CVE_SCHEMA_2_0 = "cve.url-2.0.base" ;
+ 112
+
+ 113
+
+ 114
+
+ 115
+
+ 116
+
+ 117
+ @Deprecated
+ 118
+ public static final String PROXY_URL = "proxy.server" ;
+ 119
+
+ 120
+
+ 121
+
+ 122
+ public static final String PROXY_SERVER = "proxy.server" ;
+ 123
+
+ 124
+
+ 125
+
+ 126
+ public static final String PROXY_PORT = "proxy.port" ;
+ 127
+
+ 128
+
+ 129
+
+ 130
+ public static final String PROXY_USERNAME = "proxy.username" ;
+ 131
+
+ 132
+
+ 133
+
+ 134
+ public static final String PROXY_PASSWORD = "proxy.password" ;
+ 135
+
+ 136
+
+ 137
+
+ 138
+ public static final String CONNECTION_TIMEOUT = "connection.timeout" ;
+ 139
+
+ 140
+
+ 141
+
+ 142
+ public static final String TEMP_DIRECTORY = "temp.directory" ;
+ 143
+
+ 144
+
+ 145
+
+ 146
+ public static final String MAX_DOWNLOAD_THREAD_POOL_SIZE = "max.download.threads" ;
+ 147
+
+ 148
+
+ 149
+
+ 150
+ public static final String SUPPRESSION_FILE = "suppression.file" ;
+ 151
+
+ 152
+
+ 153
+
+ 154
+ public static final String ANALYZER_JAR_ENABLED = "analyzer.jar.enabled" ;
+ 155
+
+ 156
+
+ 157
+
+ 158
+ public static final String ANALYZER_ARCHIVE_ENABLED = "analyzer.archive.enabled" ;
+ 159
+
+ 160
+
+ 161
+
+ 162
+ public static final String ANALYZER_ASSEMBLY_ENABLED = "analyzer.assembly.enabled" ;
+ 163
+
+ 164
+
+ 165
+
+ 166
+ public static final String ANALYZER_NUSPEC_ENABLED = "analyzer.nuspec.enabled" ;
+ 167
+
+ 168
+
+ 169
+
+ 170
+ public static final String ANALYZER_JAVASCRIPT_ENABLED = "analyzer.javascript.enabled" ;
+ 171
+
+ 172
+
+ 173
+
+ 174
+ public static final String ANALYZER_NEXUS_ENABLED = "analyzer.nexus.enabled" ;
+ 175
+
+ 176
+
+ 177
+
+ 178
+ public static final String ANALYZER_NEXUS_URL = "analyzer.nexus.url" ;
+ 179
+
+ 180
+
+ 181
+
+ 182
+ public static final String ANALYZER_NEXUS_PROXY = "analyzer.nexus.proxy" ;
+ 183
+
+ 184
+
+ 185
+
+ 186
+ public static final String ANALYZER_ASSEMBLY_MONO_PATH = "analyzer.assembly.mono.path" ;
+ 187
+
+ 188
+
+ 189
+
+ 190
+ public static final String ADDITIONAL_ZIP_EXTENSIONS = "extensions.zip" ;
+ 191
+
+ 192
+
+ 193
+
+ 194
+ public static final String SKIP_TEST_SCOPE = "skip.test.scope" ;
+ 195
+
+ 196
+
+ 197
+
+ 198
+ public static final String SKIP_RUNTIME_SCOPE = "skip.runtime.scope" ;
+ 199
+
+ 200
+
+ 201
+
+ 202
+ public static final String SKIP_PROVIDED_SCOPE = "skip.provided.scope" ;
+ 203
+ }
+ 204
+
+ 205
+
+ 206
+
+ 207
+
+ 208
+
+ 209 1 private static final Logger LOGGER = Logger.getLogger(Settings.class .getName());
+ 210
+
+ 211
+
+ 212
+
+ 213
+ private static final String PROPERTIES_FILE = "dependencycheck.properties" ;
+ 214
+
+ 215
+
+ 216
+
+ 217 1 private static ThreadLocal<Settings> localSettings = new ThreadLocal();
+ 218
+
+ 219
+
+ 220
+
+ 221 2 private Properties props = null ;
+ 222
+
+ 223
+
+ 224
+
+ 225
+
+ 226
+
+ 227
+
+ 228 2 private Settings(String propertiesFilePath) {
+ 229 2 InputStream in = null ;
+ 230 2 props = new Properties();
+ 231
+ try {
+ 232 2 in = this .getClass().getClassLoader().getResourceAsStream(propertiesFilePath);
+ 233 2 props.load(in);
+ 234 0 } catch (IOException ex) {
+ 235 0 LOGGER.log(Level.SEVERE, "Unable to load default settings." );
+ 236 0 LOGGER.log(Level.FINE, null , ex);
+ 237
+ } finally {
+ 238 2 if (in != null ) {
+ 239
+ try {
+ 240 2 in.close();
+ 241 0 } catch (IOException ex) {
+ 242 0 LOGGER.log(Level.FINEST, null , ex);
+ 243 2 }
+ 244
+ }
+ 245
+ }
+ 246 2 logProperties("Properties loaded" , props);
+ 247 2 }
+ 248
+
+ 249
+
+ 250
+
+ 251
+
+ 252
+
+ 253
+ public static void initialize() {
+ 254 2 localSettings.set(new Settings(PROPERTIES_FILE));
+ 255 2 }
+ 256
+
+ 257
+
+ 258
+
+ 259
+
+ 260
+
+ 261
+
+ 262
+
+ 263
+ public static void initialize(String propertiesFilePath) {
+ 264 0 localSettings.set(new Settings(propertiesFilePath));
+ 265 0 }
+ 266
+
+ 267
+
+ 268
+
+ 269
+
+ 270
+
+ 271
+ public static void cleanup() {
+ 272 0 cleanup(true );
+ 273 0 }
+ 274
+
+ 275
+
+ 276
+
+ 277
+
+ 278
+
+ 279
+
+ 280
+ public static void cleanup(boolean deleteTemporary) {
+ 281 2 if (deleteTemporary && tempDirectory != null && tempDirectory.exists()) {
+ 282 1 FileUtils.delete(tempDirectory);
+ 283
+ }
+ 284
+ try {
+ 285 2 localSettings.remove();
+ 286 0 } catch (Throwable ex) {
+ 287 0 LOGGER.log(Level.FINE, "Error cleaning up Settings" , ex);
+ 288 2 }
+ 289 2 }
+ 290
+
+ 291
+
+ 292
+
+ 293
+
+ 294
+
+ 295
+
+ 296
+ public static Settings getInstance() {
+ 297 0 return localSettings.get();
+ 298
+ }
+ 299
+
+ 300
+
+ 301
+
+ 302
+
+ 303
+
+ 304
+
+ 305
+ public static void setInstance(Settings instance) {
+ 306 0 localSettings.set(instance);
+ 307 0 }
+ 308
+
+ 309
+
+ 310
+
+ 311
+
+ 312
+
+ 313
+
+ 314
+
+ 315
+ private static void logProperties(String header, Properties properties) {
+ 316 3 if (LOGGER.isLoggable(Level.FINE)) {
+ 317 0 final StringWriter sw = new StringWriter();
+ 318 0 PrintWriter pw = null ;
+ 319
+ try {
+ 320 0 pw = new PrintWriter(sw);
+ 321 0 pw.format("%s:%n%n" , header);
+ 322 0 final Enumeration e = properties.propertyNames();
+ 323 0 while (e.hasMoreElements()) {
+ 324 0 final String key = (String) e.nextElement();
+ 325 0 if (key.contains("password" )) {
+ 326 0 pw.format("%s='*****'%n" , key);
+ 327
+ } else {
+ 328 0 final String value = properties.getProperty(key);
+ 329 0 if (value != null ) {
+ 330 0 pw.format("%s='%s'%n" , key, value);
+ 331
+ }
+ 332
+ }
+ 333 0 }
+ 334 0 pw.flush();
+ 335 0 LOGGER.fine(sw.toString());
+ 336
+ } finally {
+ 337 0 if (pw != null ) {
+ 338 0 pw.close();
+ 339
+ }
+ 340
+ }
+ 341
+
+ 342
+ }
+ 343 3 }
+ 344
+
+ 345
+
+ 346
+
+ 347
+
+ 348
+
+ 349
+
+ 350
+
+ 351
+ public static void setString(String key, String value) {
+ 352 5 localSettings.get().props.setProperty(key, value);
+ 353 5 if (LOGGER.isLoggable(Level.FINE)) {
+ 354 0 LOGGER.fine(String.format("Setting: %s='%s'" , key, value));
+ 355
+ }
+ 356 5 }
+ 357
+
+ 358
+
+ 359
+
+ 360
+
+ 361
+
+ 362
+
+ 363
+
+ 364
+ public static void setBoolean(String key, boolean value) {
+ 365 0 if (value) {
+ 366 0 localSettings.get().props.setProperty(key, Boolean.TRUE.toString());
+ 367
+ } else {
+ 368 0 localSettings.get().props.setProperty(key, Boolean.FALSE.toString());
+ 369
+ }
+ 370 0 if (LOGGER.isLoggable(Level.FINE)) {
+ 371 0 LOGGER.fine(String.format("Setting: %s='%b'" , key, value));
+ 372
+ }
+ 373 0 }
+ 374
+
+ 375
+
+ 376
+
+ 377
+
+ 378
+
+ 379
+
+ 380
+
+ 381
+
+ 382
+
+ 383
+
+ 384
+ public static void mergeProperties(File filePath) throws FileNotFoundException, IOException {
+ 385 0 final FileInputStream fis = new FileInputStream(filePath);
+ 386 0 mergeProperties(fis);
+ 387 0 }
+ 388
+
+ 389
+
+ 390
+
+ 391
+
+ 392
+
+ 393
+
+ 394
+
+ 395
+
+ 396
+
+ 397
+
+ 398
+ public static void mergeProperties(String filePath) throws FileNotFoundException, IOException {
+ 399 1 final FileInputStream fis = new FileInputStream(filePath);
+ 400 1 mergeProperties(fis);
+ 401 1 }
+ 402
+
+ 403
+
+ 404
+
+ 405
+
+ 406
+
+ 407
+
+ 408
+
+ 409
+
+ 410
+
+ 411
+ public static void mergeProperties(InputStream stream) throws IOException {
+ 412 1 localSettings.get().props.load(stream);
+ 413 1 logProperties("Properties updated via merge" , localSettings.get().props);
+ 414 1 }
+ 415
+
+ 416
+
+ 417
+
+ 418
+
+ 419
+
+ 420
+
+ 421
+
+ 422
+
+ 423
+
+ 424
+ public static File getFile(String key) {
+ 425 0 final String file = getString(key);
+ 426 0 if (file == null ) {
+ 427 0 return null ;
+ 428
+ }
+ 429 0 return new File(file);
+ 430
+ }
+ 431
+
+ 432
+
+ 433
+
+ 434
+
+ 435
+
+ 436
+
+ 437
+
+ 438
+
+ 439
+
+ 440
+
+ 441
+
+ 442
+
+ 443
+
+ 444
+ public static File getDataFile(String key) {
+ 445 1 final String file = getString(key);
+ 446 1 LOGGER.log(Level.FINE, String.format("Settings.getDataFile() - file: '%s'" , file));
+ 447 1 if (file == null ) {
+ 448 0 return null ;
+ 449
+ }
+ 450 1 if (file.startsWith("[JAR]" )) {
+ 451 1 LOGGER.log(Level.FINE, "Settings.getDataFile() - transforming filename" );
+ 452 1 final File jarPath = getJarPath();
+ 453 1 LOGGER.log(Level.FINE, String.format("Settings.getDataFile() - jar file: '%s'" , jarPath.toString()));
+ 454 1 final File retVal = new File(jarPath, file.substring(6));
+ 455 1 LOGGER.log(Level.FINE, String.format("Settings.getDataFile() - returning: '%s'" , retVal.toString()));
+ 456 1 return retVal;
+ 457
+ }
+ 458 0 return new File(file);
+ 459
+ }
+ 460
+
+ 461
+
+ 462
+
+ 463
+
+ 464
+
+ 465
+
+ 466
+ private static File getJarPath() {
+ 467 1 final String jarPath = Settings.class .getProtectionDomain().getCodeSource().getLocation().getPath();
+ 468 1 String decodedPath = "." ;
+ 469
+ try {
+ 470 1 decodedPath = URLDecoder.decode(jarPath, "UTF-8" );
+ 471 0 } catch (UnsupportedEncodingException ex) {
+ 472 0 LOGGER.log(Level.FINEST, null , ex);
+ 473 1 }
+ 474
+
+ 475 1 final File path = new File(decodedPath);
+ 476 1 if (path.getName().toLowerCase().endsWith(".jar" )) {
+ 477 0 return path.getParentFile();
+ 478
+ } else {
+ 479 1 return new File("." );
+ 480
+ }
+ 481
+ }
+ 482
+
+ 483
+
+ 484
+
+ 485
+
+ 486
+
+ 487
+
+ 488
+
+ 489
+
+ 490
+
+ 491
+
+ 492
+ public static String getString(String key, String defaultValue) {
+ 493 3 final String str = System.getProperty(key, localSettings.get().props.getProperty(key, defaultValue));
+ 494 3 return str;
+ 495
+ }
+ 496
+
+ 497
+
+ 498
+
+ 499
+
+ 500 1 private static File tempDirectory = null ;
+ 501
+
+ 502
+
+ 503
+
+ 504
+
+ 505
+
+ 506
+
+ 507
+
+ 508
+ public static File getTempDirectory() throws IOException {
+ 509 1 final File tmpDir = new File(Settings.getString(Settings.KEYS.TEMP_DIRECTORY, System.getProperty("java.io.tmpdir" )));
+ 510 1 if (!tmpDir.exists()) {
+ 511 1 if (!tmpDir.mkdirs()) {
+ 512 0 final String msg = String.format("Unable to make a temporary folder '%s'" , tmpDir.getPath());
+ 513 0 throw new IOException(msg);
+ 514
+ } else {
+ 515 1 tempDirectory = tmpDir;
+ 516
+ }
+ 517
+ }
+ 518 1 return tmpDir;
+ 519
+ }
+ 520
+
+ 521
+
+ 522
+
+ 523
+
+ 524
+
+ 525
+
+ 526
+
+ 527
+
+ 528
+
+ 529
+ public static String getString(String key) {
+ 530 12 return System.getProperty(key, localSettings.get().props.getProperty(key));
+ 531
+ }
+ 532
+
+ 533
+
+ 534
+
+ 535
+
+ 536
+
+ 537
+
+ 538
+ public static void removeProperty(String key) {
+ 539 1 localSettings.get().props.remove(key);
+ 540 1 }
+ 541
+
+ 542
+
+ 543
+
+ 544
+
+ 545
+
+ 546
+
+ 547
+
+ 548
+
+ 549
+
+ 550
+
+ 551
+ public static int getInt(String key) throws InvalidSettingException {
+ 552
+ int value;
+ 553
+ try {
+ 554 1 value = Integer.parseInt(Settings.getString(key));
+ 555 0 } catch (NumberFormatException ex) {
+ 556 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
+ 557 1 }
+ 558 1 return value;
+ 559
+ }
+ 560
+
+ 561
+
+ 562
+
+ 563
+
+ 564
+
+ 565
+
+ 566
+
+ 567
+
+ 568
+
+ 569
+
+ 570
+
+ 571
+ public static int getInt(String key, int defaultValue) {
+ 572
+ int value;
+ 573
+ try {
+ 574 0 value = Integer.parseInt(Settings.getString(key));
+ 575 0 } catch (NumberFormatException ex) {
+ 576 0 final String msg = String.format("Could not convert property '%s' to an int." , key);
+ 577 0 LOGGER.log(Level.FINEST, msg, ex);
+ 578 0 value = defaultValue;
+ 579 0 }
+ 580 0 return value;
+ 581
+ }
+ 582
+
+ 583
+
+ 584
+
+ 585
+
+ 586
+
+ 587
+
+ 588
+
+ 589
+
+ 590
+
+ 591
+
+ 592
+ public static long getLong(String key) throws InvalidSettingException {
+ 593
+ long value;
+ 594
+ try {
+ 595 1 value = Long.parseLong(Settings.getString(key));
+ 596 0 } catch (NumberFormatException ex) {
+ 597 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
+ 598 1 }
+ 599 1 return value;
+ 600
+ }
+ 601
+
+ 602
+
+ 603
+
+ 604
+
+ 605
+
+ 606
+
+ 607
+
+ 608
+
+ 609
+
+ 610
+
+ 611
+ public static boolean getBoolean(String key) throws InvalidSettingException {
+ 612
+ boolean value;
+ 613
+ try {
+ 614 1 value = Boolean.parseBoolean(Settings.getString(key));
+ 615 0 } catch (NumberFormatException ex) {
+ 616 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
+ 617 1 }
+ 618 1 return value;
+ 619
+ }
+ 620
+
+ 621
+
+ 622
+
+ 623
+
+ 624
+
+ 625
+
+ 626
+
+ 627
+
+ 628
+
+ 629
+
+ 630
+
+ 631
+ public static boolean getBoolean(String key, boolean defaultValue) throws InvalidSettingException {
+ 632
+ boolean value;
+ 633
+ try {
+ 634 1 final String strValue = Settings.getString(key);
+ 635 1 if (strValue == null ) {
+ 636 1 return defaultValue;
+ 637
+ }
+ 638 0 value = Boolean.parseBoolean(strValue);
+ 639 0 } catch (NumberFormatException ex) {
+ 640 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
+ 641 0 }
+ 642 0 return value;
+ 643
+ }
+ 644
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.URLConnectionFactory.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.URLConnectionFactory.html
new file mode 100644
index 000000000..2d7739138
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.URLConnectionFactory.html
@@ -0,0 +1,223 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.URLConnectionFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.IOException;
+ 21
+ import java.net.Authenticator;
+ 22
+ import java.net.HttpURLConnection;
+ 23
+ import java.net.InetSocketAddress;
+ 24
+ import java.net.PasswordAuthentication;
+ 25
+ import java.net.Proxy;
+ 26
+ import java.net.SocketAddress;
+ 27
+ import java.net.URL;
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+ public final class URLConnectionFactory {
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+ private URLConnectionFactory() {
+ 41
+ }
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+ public static HttpURLConnection createHttpURLConnection(URL url) throws URLConnectionFailureException {
+ 52 0 HttpURLConnection conn = null ;
+ 53 0 Proxy proxy = null ;
+ 54 0 final String proxyUrl = Settings.getString(Settings.KEYS.PROXY_SERVER);
+ 55
+ try {
+ 56 0 if (proxyUrl != null ) {
+ 57 0 final int proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);
+ 58 0 final SocketAddress address = new InetSocketAddress(proxyUrl, proxyPort);
+ 59
+
+ 60 0 final String username = Settings.getString(Settings.KEYS.PROXY_USERNAME);
+ 61 0 final String password = Settings.getString(Settings.KEYS.PROXY_PASSWORD);
+ 62 0 if (username != null && password != null ) {
+ 63 0 final Authenticator auth = new Authenticator() {
+ 64
+ @Override
+ 65
+ public PasswordAuthentication getPasswordAuthentication() {
+ 66 0 if (getRequestorType().equals(Authenticator.RequestorType.PROXY)) {
+ 67 0 return new PasswordAuthentication(username, password.toCharArray());
+ 68
+ }
+ 69 0 return super .getPasswordAuthentication();
+ 70
+ }
+ 71
+ };
+ 72 0 Authenticator.setDefault(auth);
+ 73
+ }
+ 74
+
+ 75 0 proxy = new Proxy(Proxy.Type.HTTP, address);
+ 76 0 conn = (HttpURLConnection) url.openConnection(proxy);
+ 77 0 } else {
+ 78 0 conn = (HttpURLConnection) url.openConnection();
+ 79
+ }
+ 80 0 final int timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 60000);
+ 81 0 conn.setConnectTimeout(timeout);
+ 82 0 } catch (IOException ex) {
+ 83 0 if (conn != null ) {
+ 84
+ try {
+ 85 0 conn.disconnect();
+ 86
+ } finally {
+ 87 0 conn = null ;
+ 88 0 }
+ 89
+ }
+ 90 0 throw new URLConnectionFailureException("Error getting connection." , ex);
+ 91 0 }
+ 92 0 return conn;
+ 93
+ }
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+
+ 102
+
+ 103
+
+ 104
+ public static HttpURLConnection createHttpURLConnection(URL url, boolean proxy) throws URLConnectionFailureException {
+ 105 0 if (proxy) {
+ 106 0 return createHttpURLConnection(url);
+ 107
+ }
+ 108 0 HttpURLConnection conn = null ;
+ 109
+ try {
+ 110 0 conn = (HttpURLConnection) url.openConnection();
+ 111 0 final int timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 60000);
+ 112 0 conn.setConnectTimeout(timeout);
+ 113 0 } catch (IOException ioe) {
+ 114 0 throw new URLConnectionFailureException("Error getting connection." , ioe);
+ 115 0 }
+ 116 0 return conn;
+ 117
+ }
+ 118
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.URLConnectionFailureException.html b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.URLConnectionFailureException.html
new file mode 100644
index 000000000..ad4aa297b
--- /dev/null
+++ b/dependency-check-utils/cobertura/org.owasp.dependencycheck.utils.URLConnectionFailureException.html
@@ -0,0 +1,160 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.URLConnectionFailureException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+ package org.owasp.dependencycheck.utils;
+ 19
+
+ 20
+ import java.io.IOException;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+ public class URLConnectionFailureException extends IOException {
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+ private static final long serialVersionUID = 1L;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ public URLConnectionFailureException() {
+ 38
+ super ();
+ 39
+ }
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+ public URLConnectionFailureException(String msg) {
+ 47
+ super (msg);
+ 48
+ }
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+ public URLConnectionFailureException(Throwable ex) {
+ 56
+ super (ex);
+ 57
+ }
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ public URLConnectionFailureException(String msg, Throwable ex) {
+ 66
+ super (msg, ex);
+ 67
+ }
+ 68
+ }
+
+
+
+
+
diff --git a/dependency-check-utils/cpd.html b/dependency-check-utils/cpd.html
new file mode 100644
index 000000000..caf52e3a5
--- /dev/null
+++ b/dependency-check-utils/cpd.html
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - CPD Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ CPD Results
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CPD Results
+
The following document contains the results of PMD's CPD 5.0.2.
+
+
Duplications
+
CPD found no problems in your source code.
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/css/apache-maven-fluido-1.3.1.min.css b/dependency-check-utils/css/apache-maven-fluido-1.3.1.min.css
new file mode 100644
index 000000000..89b651f7c
--- /dev/null
+++ b/dependency-check-utils/css/apache-maven-fluido-1.3.1.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.2.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.8em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/dependency-check-utils/css/print.css b/dependency-check-utils/css/print.css
new file mode 100644
index 000000000..1cd02d9b4
--- /dev/null
+++ b/dependency-check-utils/css/print.css
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */
+
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;}
+#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important}
diff --git a/dependency-check-utils/css/site.css b/dependency-check-utils/css/site.css
new file mode 100644
index 000000000..055e7e286
--- /dev/null
+++ b/dependency-check-utils/css/site.css
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file
diff --git a/dependency-check-utils/dependency-updates-report.html b/dependency-check-utils/dependency-updates-report.html
new file mode 100644
index 000000000..942e28fe4
--- /dev/null
+++ b/dependency-check-utils/dependency-updates-report.html
@@ -0,0 +1,376 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - Dependency Updates Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Dependency Updates Report
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
This report summarizes newer versions that may be available for your project's various dependencies.
+
+
+
+# of dependencies using the latest version available
+2
+
+
+# of dependencies where the next version available is smaller than an incremental version update
+0
+
+
+# of dependencies where the next version available is an incremental version update
+0
+
+
+# of dependencies where the next version available is a minor version update
+0
+
+
+# of dependencies where the next version available is a major version update
+0
+
+
Dependency Management
+
This project does not declare any dependencies in a dependencyManagement section.
+
+
Dependencies
+
+
+Status
+Group Id
+Artifact Id
+Current Version
+Scope
+Classifier
+Type
+Next Version
+Next Incremental
+Next Minor
+Next Major
+
+
+commons-io
+commons-io
+2.4
+compile
+
+jar
+
+
+
+
+
+
+junit
+junit
+4.11
+test
+
+jar
+
+
+
+
+
+Status
+Group Id
+Artifact Id
+Current Version
+Scope
+Classifier
+Type
+Next Version
+Next Incremental
+Next Minor
+Next Major
+
+
Dependency Updates
+
+
+
commons-io:commons-io
+
+
+Status
+ No newer versions available.
+
+Group Id
+commons-io
+
+Artifact Id
+commons-io
+
+Current Version
+2.4
+
+Scope
+compile
+
+Classifier
+
+
+Type
+jar
+
+
junit:junit
+
+
+Status
+ No newer versions available.
+
+Group Id
+junit
+
+Artifact Id
+junit
+
+Current Version
+4.11
+
+Scope
+test
+
+Classifier
+
+
+Type
+jar
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/findbugs.html b/dependency-check-utils/findbugs.html
new file mode 100644
index 000000000..5fa7ce546
--- /dev/null
+++ b/dependency-check-utils/findbugs.html
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - FindBugs Bug Detector Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ FindBugs Bug Detector Report
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FindBugs Bug Detector Report
+
The following document contains the results of FindBugs Report
+
FindBugs Version is 2.0.2
+
Threshold is medium
+
Effort is min
+
+
Summary
+
+
+Classes
+Bugs
+Errors
+Missing Classes
+
+12
+1
+0
+0
+
+
+
org.owasp.dependencycheck.utils.URLConnectionFactory
+
+
+Bug
+Category
+Details
+Line
+Priority
+
+Redundant nullcheck of conn which is known to be null in org.owasp.dependencycheck.utils.URLConnectionFactory.createHttpURLConnection(URL)
+STYLE
+RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE
+83
+Medium
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/images/accessories-text-editor.png b/dependency-check-utils/images/accessories-text-editor.png
new file mode 100644
index 000000000..abc3366ed
Binary files /dev/null and b/dependency-check-utils/images/accessories-text-editor.png differ
diff --git a/dependency-check-utils/images/add.gif b/dependency-check-utils/images/add.gif
new file mode 100644
index 000000000..1cb3dbf93
Binary files /dev/null and b/dependency-check-utils/images/add.gif differ
diff --git a/dependency-check-utils/images/apache-maven-project-2.png b/dependency-check-utils/images/apache-maven-project-2.png
new file mode 100644
index 000000000..6c096ec0c
Binary files /dev/null and b/dependency-check-utils/images/apache-maven-project-2.png differ
diff --git a/dependency-check-utils/images/application-certificate.png b/dependency-check-utils/images/application-certificate.png
new file mode 100644
index 000000000..cc6aff616
Binary files /dev/null and b/dependency-check-utils/images/application-certificate.png differ
diff --git a/dependency-check-utils/images/contact-new.png b/dependency-check-utils/images/contact-new.png
new file mode 100644
index 000000000..ebc4316d8
Binary files /dev/null and b/dependency-check-utils/images/contact-new.png differ
diff --git a/dependency-check-utils/images/document-properties.png b/dependency-check-utils/images/document-properties.png
new file mode 100644
index 000000000..34c2409a7
Binary files /dev/null and b/dependency-check-utils/images/document-properties.png differ
diff --git a/dependency-check-utils/images/drive-harddisk.png b/dependency-check-utils/images/drive-harddisk.png
new file mode 100644
index 000000000..d7ce475f8
Binary files /dev/null and b/dependency-check-utils/images/drive-harddisk.png differ
diff --git a/dependency-check-utils/images/fix.gif b/dependency-check-utils/images/fix.gif
new file mode 100644
index 000000000..b7eb3dc44
Binary files /dev/null and b/dependency-check-utils/images/fix.gif differ
diff --git a/dependency-check-utils/images/icon_error_sml.gif b/dependency-check-utils/images/icon_error_sml.gif
new file mode 100644
index 000000000..12e9a01a9
Binary files /dev/null and b/dependency-check-utils/images/icon_error_sml.gif differ
diff --git a/dependency-check-utils/images/icon_help_sml.gif b/dependency-check-utils/images/icon_help_sml.gif
new file mode 100644
index 000000000..aaf20e6ee
Binary files /dev/null and b/dependency-check-utils/images/icon_help_sml.gif differ
diff --git a/dependency-check-utils/images/icon_info_sml.gif b/dependency-check-utils/images/icon_info_sml.gif
new file mode 100644
index 000000000..b77632670
Binary files /dev/null and b/dependency-check-utils/images/icon_info_sml.gif differ
diff --git a/dependency-check-utils/images/icon_success_sml.gif b/dependency-check-utils/images/icon_success_sml.gif
new file mode 100644
index 000000000..0a195279b
Binary files /dev/null and b/dependency-check-utils/images/icon_success_sml.gif differ
diff --git a/dependency-check-utils/images/icon_warning_sml.gif b/dependency-check-utils/images/icon_warning_sml.gif
new file mode 100644
index 000000000..ac6ad6ada
Binary files /dev/null and b/dependency-check-utils/images/icon_warning_sml.gif differ
diff --git a/dependency-check-utils/images/image-x-generic.png b/dependency-check-utils/images/image-x-generic.png
new file mode 100644
index 000000000..ab49efb34
Binary files /dev/null and b/dependency-check-utils/images/image-x-generic.png differ
diff --git a/dependency-check-utils/images/internet-web-browser.png b/dependency-check-utils/images/internet-web-browser.png
new file mode 100644
index 000000000..307d6aca6
Binary files /dev/null and b/dependency-check-utils/images/internet-web-browser.png differ
diff --git a/dependency-check-utils/images/logos/build-by-maven-black.png b/dependency-check-utils/images/logos/build-by-maven-black.png
new file mode 100644
index 000000000..919fd0f66
Binary files /dev/null and b/dependency-check-utils/images/logos/build-by-maven-black.png differ
diff --git a/dependency-check-utils/images/logos/build-by-maven-white.png b/dependency-check-utils/images/logos/build-by-maven-white.png
new file mode 100644
index 000000000..7d44c9c2e
Binary files /dev/null and b/dependency-check-utils/images/logos/build-by-maven-white.png differ
diff --git a/dependency-check-utils/images/logos/maven-feather.png b/dependency-check-utils/images/logos/maven-feather.png
new file mode 100644
index 000000000..b5ada836e
Binary files /dev/null and b/dependency-check-utils/images/logos/maven-feather.png differ
diff --git a/dependency-check-utils/images/network-server.png b/dependency-check-utils/images/network-server.png
new file mode 100644
index 000000000..1d12e1938
Binary files /dev/null and b/dependency-check-utils/images/network-server.png differ
diff --git a/dependency-check-utils/images/package-x-generic.png b/dependency-check-utils/images/package-x-generic.png
new file mode 100644
index 000000000..8b7e9e67b
Binary files /dev/null and b/dependency-check-utils/images/package-x-generic.png differ
diff --git a/dependency-check-utils/images/profiles/pre-release.png b/dependency-check-utils/images/profiles/pre-release.png
new file mode 100644
index 000000000..d448e850c
Binary files /dev/null and b/dependency-check-utils/images/profiles/pre-release.png differ
diff --git a/dependency-check-utils/images/profiles/retired.png b/dependency-check-utils/images/profiles/retired.png
new file mode 100644
index 000000000..f89f6a29c
Binary files /dev/null and b/dependency-check-utils/images/profiles/retired.png differ
diff --git a/dependency-check-utils/images/profiles/sandbox.png b/dependency-check-utils/images/profiles/sandbox.png
new file mode 100644
index 000000000..f88b36267
Binary files /dev/null and b/dependency-check-utils/images/profiles/sandbox.png differ
diff --git a/dependency-check-utils/images/remove.gif b/dependency-check-utils/images/remove.gif
new file mode 100644
index 000000000..fc65631ca
Binary files /dev/null and b/dependency-check-utils/images/remove.gif differ
diff --git a/dependency-check-utils/images/rss.png b/dependency-check-utils/images/rss.png
new file mode 100644
index 000000000..a9850ee2c
Binary files /dev/null and b/dependency-check-utils/images/rss.png differ
diff --git a/dependency-check-utils/images/update.gif b/dependency-check-utils/images/update.gif
new file mode 100644
index 000000000..b2a6d0bf6
Binary files /dev/null and b/dependency-check-utils/images/update.gif differ
diff --git a/dependency-check-utils/images/window-new.png b/dependency-check-utils/images/window-new.png
new file mode 100644
index 000000000..0e12ef954
Binary files /dev/null and b/dependency-check-utils/images/window-new.png differ
diff --git a/dependency-check-utils/img/glyphicons-halflings-white.png b/dependency-check-utils/img/glyphicons-halflings-white.png
new file mode 100644
index 000000000..3bf6484a2
Binary files /dev/null and b/dependency-check-utils/img/glyphicons-halflings-white.png differ
diff --git a/dependency-check-utils/img/glyphicons-halflings.png b/dependency-check-utils/img/glyphicons-halflings.png
new file mode 100644
index 000000000..a99699932
Binary files /dev/null and b/dependency-check-utils/img/glyphicons-halflings.png differ
diff --git a/dependency-check-utils/index.html b/dependency-check-utils/index.html
new file mode 100644
index 000000000..a8ec873d1
--- /dev/null
+++ b/dependency-check-utils/index.html
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - About
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ About
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About Dependency-Check Utils
+
Dependency-check-utils a collection of common utlity classes used within dependency-check.
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/js/apache-maven-fluido-1.3.1.min.js b/dependency-check-utils/js/apache-maven-fluido-1.3.1.min.js
new file mode 100644
index 000000000..d16bb7789
--- /dev/null
+++ b/dependency-check-utils/js/apache-maven-fluido-1.3.1.min.js
@@ -0,0 +1,21 @@
+/*!
+ * jQuery JavaScript Library v1.9.1
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-2-4
+ */
+(function(a3,aH){var aj,x,aD=typeof aH,l=a3.document,aM=a3.location,bj=a3.jQuery,I=a3.$,ab={},a7=[],t="1.9.1",aJ=a7.concat,ap=a7.push,a5=a7.slice,aN=a7.indexOf,A=ab.toString,W=ab.hasOwnProperty,aR=t.trim,bK=function(e,b4){return new bK.fn.init(e,b4,x)},bB=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ad=/\S+/g,D=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bs=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,a=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,bi=/^[\],:{}\s]*$/,bl=/(?:^|:|,)(?:\s*\[)+/g,bH=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,a0=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bT=/^-ms-/,aW=/-([\da-z])/gi,N=function(e,b4){return b4.toUpperCase()},bX=function(e){if(l.addEventListener||e.type==="load"||l.readyState==="complete"){bm();bK.ready()}},bm=function(){if(l.addEventListener){l.removeEventListener("DOMContentLoaded",bX,false);a3.removeEventListener("load",bX,false)}else{l.detachEvent("onreadystatechange",bX);a3.detachEvent("onload",bX)}};bK.fn=bK.prototype={jquery:t,constructor:bK,init:function(e,b6,b5){var b4,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){b4=[null,e,null]}else{b4=bs.exec(e)}if(b4&&(b4[1]||!b6)){if(b4[1]){b6=b6 instanceof bK?b6[0]:b6;bK.merge(this,bK.parseHTML(b4[1],b6&&b6.nodeType?b6.ownerDocument||b6:l,true));if(a.test(b4[1])&&bK.isPlainObject(b6)){for(b4 in b6){if(bK.isFunction(this[b4])){this[b4](b6[b4])}else{this.attr(b4,b6[b4])}}}return this}else{b7=l.getElementById(b4[2]);if(b7&&b7.parentNode){if(b7.id!==b4[2]){return b5.find(e)}this.length=1;this[0]=b7}this.context=l;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||b5).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bK.isFunction(e)){return b5.ready(e)}}}if(e.selector!==aH){this.selector=e.selector;this.context=e.context}return bK.makeArray(e,this)},selector:"",length:0,size:function(){return this.length},toArray:function(){return a5.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(e){var b4=bK.merge(this.constructor(),e);b4.prevObject=this;b4.context=this.context;return b4},each:function(b4,e){return bK.each(this,b4,e)},ready:function(e){bK.ready.promise().done(e);return this},slice:function(){return this.pushStack(a5.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b5){var e=this.length,b4=+b5+(b5<0?e:0);return this.pushStack(b4>=0&&b40){return}aj.resolveWith(l,[bK]);if(bK.fn.trigger){bK(l).trigger("ready").off("ready")}},isFunction:function(e){return bK.type(e)==="function"},isArray:Array.isArray||function(e){return bK.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){if(e==null){return String(e)}return typeof e==="object"||typeof e==="function"?ab[A.call(e)]||"object":typeof e},isPlainObject:function(b6){if(!b6||bK.type(b6)!=="object"||b6.nodeType||bK.isWindow(b6)){return false}try{if(b6.constructor&&!W.call(b6,"constructor")&&!W.call(b6.constructor.prototype,"isPrototypeOf")){return false}}catch(b5){return false}var b4;for(b4 in b6){}return b4===aH||W.call(b6,b4)},isEmptyObject:function(b4){var e;for(e in b4){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b7,b5,b6){if(!b7||typeof b7!=="string"){return null}if(typeof b5==="boolean"){b6=b5;b5=false}b5=b5||l;var b4=a.exec(b7),e=!b6&&[];if(b4){return[b5.createElement(b4[1])]}b4=bK.buildFragment([b7],b5,e);if(e){bK(e).remove()}return bK.merge([],b4.childNodes)},parseJSON:function(e){if(a3.JSON&&a3.JSON.parse){return a3.JSON.parse(e)}if(e===null){return e}if(typeof e==="string"){e=bK.trim(e);if(e){if(bi.test(e.replace(bH,"@").replace(a0,"]").replace(bl,""))){return(new Function("return "+e))()}}}bK.error("Invalid JSON: "+e)},parseXML:function(b6){var b4,b5;if(!b6||typeof b6!=="string"){return null}try{if(a3.DOMParser){b5=new DOMParser();b4=b5.parseFromString(b6,"text/xml")}else{b4=new ActiveXObject("Microsoft.XMLDOM");b4.async="false";b4.loadXML(b6)}}catch(b7){b4=aH}if(!b4||!b4.documentElement||b4.getElementsByTagName("parsererror").length){bK.error("Invalid XML: "+b6)}return b4},noop:function(){},globalEval:function(e){if(e&&bK.trim(e)){(a3.execScript||function(b4){a3["eval"].call(a3,b4)})(e)}},camelCase:function(e){return e.replace(bT,"ms-").replace(aW,N)},nodeName:function(b4,e){return b4.nodeName&&b4.nodeName.toLowerCase()===e.toLowerCase()},each:function(b8,b9,b4){var b7,b5=0,b6=b8.length,e=ac(b8);if(b4){if(e){for(;b50&&(b4-1) in b5)}x=bK(l);var bZ={};function af(b4){var e=bZ[b4]={};bK.each(b4.match(ad)||[],function(b6,b5){e[b5]=true});return e}bK.Callbacks=function(cd){cd=typeof cd==="string"?(bZ[cd]||af(cd)):bK.extend({},cd);var b7,b6,e,b8,b9,b5,ca=[],cb=!cd.once&&[],b4=function(ce){b6=cd.memory&&ce;e=true;b9=b5||0;b5=0;b8=ca.length;b7=true;for(;ca&&b9-1){ca.splice(cf,1);if(b7){if(cf<=b8){b8--}if(cf<=b9){b9--}}}})}return this},has:function(ce){return ce?bK.inArray(ce,ca)>-1:!!(ca&&ca.length)},empty:function(){ca=[];return this},disable:function(){ca=cb=b6=aH;return this},disabled:function(){return !ca},lock:function(){cb=aH;if(!b6){cc.disable()}return this},locked:function(){return !cb},fireWith:function(cf,ce){ce=ce||[];ce=[cf,ce.slice?ce.slice():ce];if(ca&&(!e||cb)){if(b7){cb.push(ce)}else{b4(ce)}}return this},fire:function(){cc.fireWith(this,arguments);return this},fired:function(){return !!e}};return cc};bK.extend({Deferred:function(b5){var b4=[["resolve","done",bK.Callbacks("once memory"),"resolved"],["reject","fail",bK.Callbacks("once memory"),"rejected"],["notify","progress",bK.Callbacks("memory")]],b6="pending",b7={state:function(){return b6},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b8=arguments;return bK.Deferred(function(b9){bK.each(b4,function(cb,ca){var cd=ca[0],cc=bK.isFunction(b8[cb])&&b8[cb];e[ca[1]](function(){var ce=cc&&cc.apply(this,arguments);if(ce&&bK.isFunction(ce.promise)){ce.promise().done(b9.resolve).fail(b9.reject).progress(b9.notify)}else{b9[cd+"With"](this===b7?b9.promise():this,cc?[ce]:arguments)}})});b8=null}).promise()},promise:function(b8){return b8!=null?bK.extend(b8,b7):b7}},e={};b7.pipe=b7.then;bK.each(b4,function(b9,b8){var cb=b8[2],ca=b8[3];b7[b8[1]]=cb.add;if(ca){cb.add(function(){b6=ca},b4[b9^1][2].disable,b4[2][2].lock)}e[b8[0]]=function(){e[b8[0]+"With"](this===e?b7:this,arguments);return this};e[b8[0]+"With"]=cb.fireWith});b7.promise(e);if(b5){b5.call(e,e)}return e},when:function(b7){var b5=0,b9=a5.call(arguments),e=b9.length,b4=e!==1||(b7&&bK.isFunction(b7.promise))?e:0,cc=b4===1?b7:bK.Deferred(),b6=function(ce,cf,cd){return function(cg){cf[ce]=this;cd[ce]=arguments.length>1?a5.call(arguments):cg;if(cd===cb){cc.notifyWith(cf,cd)}else{if(!(--b4)){cc.resolveWith(cf,cd)}}}},cb,b8,ca;if(e>1){cb=new Array(e);b8=new Array(e);ca=new Array(e);for(;b5a ";ce=b4.getElementsByTagName("*");cc=b4.getElementsByTagName("a")[0];if(!ce||!cc||!ce.length){return{}}cd=l.createElement("select");b6=cd.appendChild(l.createElement("option"));cb=b4.getElementsByTagName("input")[0];cc.style.cssText="top:1px;float:left;opacity:.5";cf={getSetAttribute:b4.className!=="t",leadingWhitespace:b4.firstChild.nodeType===3,tbody:!b4.getElementsByTagName("tbody").length,htmlSerialize:!!b4.getElementsByTagName("link").length,style:/top/.test(cc.getAttribute("style")),hrefNormalized:cc.getAttribute("href")==="/a",opacity:/^0.5/.test(cc.style.opacity),cssFloat:!!cc.style.cssFloat,checkOn:!!cb.value,optSelected:b6.selected,enctype:!!l.createElement("form").enctype,html5Clone:l.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",boxModel:l.compatMode==="CSS1Compat",deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};cb.checked=true;cf.noCloneChecked=cb.cloneNode(true).checked;cd.disabled=true;cf.optDisabled=!b6.disabled;try{delete b4.test}catch(b9){cf.deleteExpando=false}cb=l.createElement("input");cb.setAttribute("value","");cf.input=cb.getAttribute("value")==="";cb.value="t";cb.setAttribute("type","radio");cf.radioValue=cb.value==="t";cb.setAttribute("checked","t");cb.setAttribute("name","t");ca=l.createDocumentFragment();ca.appendChild(cb);cf.appendChecked=cb.checked;cf.checkClone=ca.cloneNode(true).cloneNode(true).lastChild.checked;if(b4.attachEvent){b4.attachEvent("onclick",function(){cf.noCloneEvent=false});b4.cloneNode(true).click()}for(b7 in {submit:true,change:true,focusin:true}){b4.setAttribute(b8="on"+b7,"t");cf[b7+"Bubbles"]=b8 in a3||b4.attributes[b8].expando===false}b4.style.backgroundClip="content-box";b4.cloneNode(true).style.backgroundClip="";cf.clearCloneStyle=b4.style.backgroundClip==="content-box";bK(function(){var cg,cj,ci,ch="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",e=l.getElementsByTagName("body")[0];if(!e){return}cg=l.createElement("div");cg.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";e.appendChild(cg).appendChild(b4);b4.innerHTML="";ci=b4.getElementsByTagName("td");ci[0].style.cssText="padding:0;margin:0;border:0;display:none";b5=(ci[0].offsetHeight===0);ci[0].style.display="";ci[1].style.display="none";cf.reliableHiddenOffsets=b5&&(ci[0].offsetHeight===0);b4.innerHTML="";b4.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";cf.boxSizing=(b4.offsetWidth===4);cf.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==1);if(a3.getComputedStyle){cf.pixelPosition=(a3.getComputedStyle(b4,null)||{}).top!=="1%";cf.boxSizingReliable=(a3.getComputedStyle(b4,null)||{width:"4px"}).width==="4px";cj=b4.appendChild(l.createElement("div"));cj.style.cssText=b4.style.cssText=ch;cj.style.marginRight=cj.style.width="0";b4.style.width="1px";cf.reliableMarginRight=!parseFloat((a3.getComputedStyle(cj,null)||{}).marginRight)}if(typeof b4.style.zoom!==aD){b4.innerHTML="";b4.style.cssText=ch+"width:1px;padding:1px;display:inline;zoom:1";cf.inlineBlockNeedsLayout=(b4.offsetWidth===3);b4.style.display="block";b4.innerHTML="
";b4.firstChild.style.width="5px";cf.shrinkWrapBlocks=(b4.offsetWidth!==3);if(cf.inlineBlockNeedsLayout){e.style.zoom=1}}e.removeChild(cg);cg=b4=ci=cj=null});ce=cd=ca=b6=cc=cb=null;return cf})();var bx=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aO=/([A-Z])/g;function bb(b6,b4,b8,b7){if(!bK.acceptData(b6)){return}var b9,cb,cc=bK.expando,ca=typeof b4==="string",cd=b6.nodeType,e=cd?bK.cache:b6,b5=cd?b6[cc]:b6[cc]&&cc;if((!b5||!e[b5]||(!b7&&!e[b5].data))&&ca&&b8===aH){return}if(!b5){if(cd){b6[cc]=b5=a7.pop()||bK.guid++}else{b5=cc}}if(!e[b5]){e[b5]={};if(!cd){e[b5].toJSON=bK.noop}}if(typeof b4==="object"||typeof b4==="function"){if(b7){e[b5]=bK.extend(e[b5],b4)}else{e[b5].data=bK.extend(e[b5].data,b4)}}b9=e[b5];if(!b7){if(!b9.data){b9.data={}}b9=b9.data}if(b8!==aH){b9[bK.camelCase(b4)]=b8}if(ca){cb=b9[b4];if(cb==null){cb=b9[bK.camelCase(b4)]}}else{cb=b9}return cb}function aa(b6,b4,b7){if(!bK.acceptData(b6)){return}var b9,b8,ca,cb=b6.nodeType,e=cb?bK.cache:b6,b5=cb?b6[bK.expando]:bK.expando;if(!e[b5]){return}if(b4){ca=b7?e[b5]:e[b5].data;if(ca){if(!bK.isArray(b4)){if(b4 in ca){b4=[b4]}else{b4=bK.camelCase(b4);if(b4 in ca){b4=[b4]}else{b4=b4.split(" ")}}}else{b4=b4.concat(bK.map(b4,bK.camelCase))}for(b9=0,b8=b4.length;b91,null,true)},removeData:function(e){return this.each(function(){bK.removeData(this,e)})}});function bz(b6,b5,b7){if(b7===aH&&b6.nodeType===1){var b4="data-"+b5.replace(aO,"-$1").toLowerCase();b7=b6.getAttribute(b4);if(typeof b7==="string"){try{b7=b7==="true"?true:b7==="false"?false:b7==="null"?null:+b7+""===b7?+b7:bx.test(b7)?bK.parseJSON(b7):b7}catch(b8){}bK.data(b6,b5,b7)}else{b7=aH}}return b7}function O(b4){var e;for(e in b4){if(e==="data"&&bK.isEmptyObject(b4[e])){continue}if(e!=="toJSON"){return false}}return true}bK.extend({queue:function(b5,b4,b6){var e;if(b5){b4=(b4||"fx")+"queue";e=bK._data(b5,b4);if(b6){if(!e||bK.isArray(b6)){e=bK._data(b5,b4,bK.makeArray(b6))}else{e.push(b6)}}return e||[]}},dequeue:function(b8,b7){b7=b7||"fx";var b4=bK.queue(b8,b7),b9=b4.length,b6=b4.shift(),e=bK._queueHooks(b8,b7),b5=function(){bK.dequeue(b8,b7)};if(b6==="inprogress"){b6=b4.shift();b9--}e.cur=b6;if(b6){if(b7==="fx"){b4.unshift("inprogress")}delete e.stop;b6.call(b8,b5,e)}if(!b9&&e){e.empty.fire()}},_queueHooks:function(b5,b4){var e=b4+"queueHooks";return bK._data(b5,e)||bK._data(b5,e,{empty:bK.Callbacks("once memory").add(function(){bK._removeData(b5,b4+"queue");bK._removeData(b5,e)})})}});bK.fn.extend({queue:function(e,b4){var b5=2;if(typeof e!=="string"){b4=e;e="fx";b5--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){bK.removeAttr(this,e)})},prop:function(e,b4){return bK.access(this,bK.prop,e,b4,arguments.length>1)},removeProp:function(e){e=bK.propFix[e]||e;return this.each(function(){try{this[e]=aH;delete this[e]}catch(b4){}})},addClass:function(ca){var b4,e,cb,b7,b5,b6=0,b8=this.length,b9=typeof ca==="string"&&ca;if(bK.isFunction(ca)){return this.each(function(cc){bK(this).addClass(ca.call(this,cc,this.className))})}if(b9){b4=(ca||"").match(ad)||[];for(;b6=0){cb=cb.replace(" "+b7+" "," ")}}e.className=ca?bK.trim(cb):""}}}return this},toggleClass:function(b6,b4){var b5=typeof b6,e=typeof b4==="boolean";if(bK.isFunction(b6)){return this.each(function(b7){bK(this).toggleClass(b6.call(this,b7,this.className,b4),b4)})}return this.each(function(){if(b5==="string"){var b9,b8=0,b7=bK(this),ca=b4,cb=b6.match(ad)||[];while((b9=cb[b8++])){ca=e?ca:!b7.hasClass(b9);b7[ca?"addClass":"removeClass"](b9)}}else{if(b5===aD||b5==="boolean"){if(this.className){bK._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bK._data(this,"__className__")||""}}})},hasClass:function(e){var b6=" "+e+" ",b5=0,b4=this.length;for(;b5=0){return true}}return false},val:function(b6){var b4,e,b7,b5=this[0];if(!arguments.length){if(b5){e=bK.valHooks[b5.type]||bK.valHooks[b5.nodeName.toLowerCase()];if(e&&"get" in e&&(b4=e.get(b5,"value"))!==aH){return b4}b4=b5.value;return typeof b4==="string"?b4.replace(al,""):b4==null?"":b4}return}b7=bK.isFunction(b6);return this.each(function(b9){var ca,b8=bK(this);if(this.nodeType!==1){return}if(b7){ca=b6.call(this,b9,b8.val())}else{ca=b6}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bK.isArray(ca)){ca=bK.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bK.valHooks[this.type]||bK.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===aH){this.value=ca}})}});bK.extend({valHooks:{option:{get:function(e){var b4=e.attributes.value;return !b4||b4.specified?e.value:e.text}},select:{get:function(e){var b9,b5,cb=e.options,b7=e.selectedIndex,b6=e.type==="select-one"||b7<0,ca=b6?null:[],b8=b6?b7+1:cb.length,b4=b7<0?b8:b6?b7:0;for(;b4=0});if(!e.length){b4.selectedIndex=-1}return e}}},attr:function(b8,b6,b9){var e,b7,b5,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}if(typeof b8.getAttribute===aD){return bK.prop(b8,b6,b9)}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=b6.toLowerCase();e=bK.attrHooks[b6]||(M.test(b6)?b0:a9)}if(b9!==aH){if(b9===null){bK.removeAttr(b8,b6)}else{if(e&&b7&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{b8.setAttribute(b6,b9+"");return b9}}}else{if(e&&b7&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{if(typeof b8.getAttribute!==aD){b5=b8.getAttribute(b6)}return b5==null?aH:b5}}},removeAttr:function(b5,b7){var e,b6,b4=0,b8=b7&&b7.match(ad);if(b8&&b5.nodeType===1){while((e=b8[b4++])){b6=bK.propFix[e]||e;if(M.test(e)){if(!bQ&&ar.test(e)){b5[bK.camelCase("default-"+e)]=b5[b6]=false}else{b5[b6]=false}}else{bK.attr(b5,e,"")}b5.removeAttribute(bQ?e:b6)}}},attrHooks:{type:{set:function(e,b4){if(!bK.support.radioValue&&b4==="radio"&&bK.nodeName(e,"input")){var b5=e.value;e.setAttribute("type",b4);if(b5){e.value=b5}return b4}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(b8,b6,b9){var b5,e,b7,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=bK.propFix[b6]||b6;e=bK.propHooks[b6]}if(b9!==aH){if(e&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{return(b8[b6]=b9)}}else{if(e&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{return b8[b6]}}},propHooks:{tabIndex:{get:function(b4){var e=b4.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):aG.test(b4.nodeName)||E.test(b4.nodeName)&&b4.href?0:aH}}}});b0={get:function(b6,b4){var b7=bK.prop(b6,b4),e=typeof b7==="boolean"&&b6.getAttribute(b4),b5=typeof b7==="boolean"?bG&&bQ?e!=null:ar.test(b4)?b6[bK.camelCase("default-"+b4)]:!!e:b6.getAttributeNode(b4);return b5&&b5.value!==false?b4.toLowerCase():aH},set:function(b4,b5,e){if(b5===false){bK.removeAttr(b4,e)}else{if(bG&&bQ||!ar.test(e)){b4.setAttribute(!bQ&&bK.propFix[e]||e,e)}else{b4[bK.camelCase("default-"+e)]=b4[e]=true}}return e}};if(!bG||!bQ){bK.attrHooks.value={get:function(b5,b4){var e=b5.getAttributeNode(b4);return bK.nodeName(b5,"input")?b5.defaultValue:e&&e.specified?e.value:aH},set:function(b4,b5,e){if(bK.nodeName(b4,"input")){b4.defaultValue=b5}else{return a9&&a9.set(b4,b5,e)}}}}if(!bQ){a9=bK.valHooks.button={get:function(b5,b4){var e=b5.getAttributeNode(b4);return e&&(b4==="id"||b4==="name"||b4==="coords"?e.value!=="":e.specified)?e.value:aH},set:function(b5,b6,b4){var e=b5.getAttributeNode(b4);if(!e){b5.setAttributeNode((e=b5.ownerDocument.createAttribute(b4)))}e.value=b6+="";return b4==="value"||b6===b5.getAttribute(b4)?b6:aH}};bK.attrHooks.contenteditable={get:a9.get,set:function(b4,b5,e){a9.set(b4,b5===""?false:b5,e)}};bK.each(["width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{set:function(b5,b6){if(b6===""){b5.setAttribute(e,"auto");return b6}}})})}if(!bK.support.hrefNormalized){bK.each(["href","src","width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{get:function(b6){var b5=b6.getAttribute(e,2);return b5==null?aH:b5}})});bK.each(["href","src"],function(b4,e){bK.propHooks[e]={get:function(b5){return b5.getAttribute(e,4)}}})}if(!bK.support.style){bK.attrHooks.style={get:function(e){return e.style.cssText||aH},set:function(e,b4){return(e.style.cssText=b4+"")}}}if(!bK.support.optSelected){bK.propHooks.selected=bK.extend(bK.propHooks.selected,{get:function(b4){var e=b4.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!bK.support.enctype){bK.propFix.enctype="encoding"}if(!bK.support.checkOn){bK.each(["radio","checkbox"],function(){bK.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}bK.each(["radio","checkbox"],function(){bK.valHooks[this]=bK.extend(bK.valHooks[this],{set:function(e,b4){if(bK.isArray(b4)){return(e.checked=bK.inArray(bK(e).val(),b4)>=0)}}})});var bI=/^(?:input|select|textarea)$/i,a4=/^key/,bO=/^(?:mouse|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bv=/^([^.]*)(?:\.(.+)|)$/;function S(){return true}function Y(){return false}bK.event={global:{},add:function(b7,cc,ch,b9,b8){var ca,ci,cj,b5,ce,cb,cg,b6,cf,e,b4,cd=bK._data(b7);if(!cd){return}if(ch.handler){b5=ch;ch=b5.handler;b8=b5.selector}if(!ch.guid){ch.guid=bK.guid++}if(!(ci=cd.events)){ci=cd.events={}}if(!(cb=cd.handle)){cb=cd.handle=function(ck){return typeof bK!==aD&&(!ck||bK.event.triggered!==ck.type)?bK.event.dispatch.apply(cb.elem,arguments):aH};cb.elem=b7}cc=(cc||"").match(ad)||[""];cj=cc.length;while(cj--){ca=bv.exec(cc[cj])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();ce=bK.event.special[cf]||{};cf=(b8?ce.delegateType:ce.bindType)||cf;ce=bK.event.special[cf]||{};cg=bK.extend({type:cf,origType:b4,data:b9,handler:ch,guid:ch.guid,selector:b8,needsContext:b8&&bK.expr.match.needsContext.test(b8),namespace:e.join(".")},b5);if(!(b6=ci[cf])){b6=ci[cf]=[];b6.delegateCount=0;if(!ce.setup||ce.setup.call(b7,b9,e,cb)===false){if(b7.addEventListener){b7.addEventListener(cf,cb,false)}else{if(b7.attachEvent){b7.attachEvent("on"+cf,cb)}}}}if(ce.add){ce.add.call(b7,cg);if(!cg.handler.guid){cg.handler.guid=ch.guid}}if(b8){b6.splice(b6.delegateCount++,0,cg)}else{b6.push(cg)}bK.event.global[cf]=true}b7=null},remove:function(b6,cc,cj,b7,cb){var b9,cg,ca,b8,ci,ch,ce,b5,cf,e,b4,cd=bK.hasData(b6)&&bK._data(b6);if(!cd||!(ch=cd.events)){return}cc=(cc||"").match(ad)||[""];ci=cc.length;while(ci--){ca=bv.exec(cc[ci])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();if(!cf){for(cf in ch){bK.event.remove(b6,cf+cc[ci],cj,b7,true)}continue}ce=bK.event.special[cf]||{};cf=(b7?ce.delegateType:ce.bindType)||cf;b5=ch[cf]||[];ca=ca[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b8=b9=b5.length;while(b9--){cg=b5[b9];if((cb||b4===cg.origType)&&(!cj||cj.guid===cg.guid)&&(!ca||ca.test(cg.namespace))&&(!b7||b7===cg.selector||b7==="**"&&cg.selector)){b5.splice(b9,1);if(cg.selector){b5.delegateCount--}if(ce.remove){ce.remove.call(b6,cg)}}}if(b8&&!b5.length){if(!ce.teardown||ce.teardown.call(b6,e,cd.handle)===false){bK.removeEvent(b6,cf,cd.handle)}delete ch[cf]}}if(bK.isEmptyObject(ch)){delete cd.handle;bK._removeData(b6,"events")}},trigger:function(b4,cb,b7,ci){var cc,b6,cg,ch,ce,ca,b9,b8=[b7||l],cf=W.call(b4,"type")?b4.type:b4,b5=W.call(b4,"namespace")?b4.namespace.split("."):[];cg=ca=b7=b7||l;if(b7.nodeType===3||b7.nodeType===8){return}if(bC.test(cf+bK.event.triggered)){return}if(cf.indexOf(".")>=0){b5=cf.split(".");cf=b5.shift();b5.sort()}b6=cf.indexOf(":")<0&&"on"+cf;b4=b4[bK.expando]?b4:new bK.Event(cf,typeof b4==="object"&&b4);b4.isTrigger=true;b4.namespace=b5.join(".");b4.namespace_re=b4.namespace?new RegExp("(^|\\.)"+b5.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b4.result=aH;if(!b4.target){b4.target=b7}cb=cb==null?[b4]:bK.makeArray(cb,[b4]);ce=bK.event.special[cf]||{};if(!ci&&ce.trigger&&ce.trigger.apply(b7,cb)===false){return}if(!ci&&!ce.noBubble&&!bK.isWindow(b7)){ch=ce.delegateType||cf;if(!bC.test(ch+cf)){cg=cg.parentNode}for(;cg;cg=cg.parentNode){b8.push(cg);ca=cg}if(ca===(b7.ownerDocument||l)){b8.push(ca.defaultView||ca.parentWindow||a3)}}b9=0;while((cg=b8[b9++])&&!b4.isPropagationStopped()){b4.type=b9>1?ch:ce.bindType||cf;cc=(bK._data(cg,"events")||{})[b4.type]&&bK._data(cg,"handle");if(cc){cc.apply(cg,cb)}cc=b6&&cg[b6];if(cc&&bK.acceptData(cg)&&cc.apply&&cc.apply(cg,cb)===false){b4.preventDefault()}}b4.type=cf;if(!ci&&!b4.isDefaultPrevented()){if((!ce._default||ce._default.apply(b7.ownerDocument,cb)===false)&&!(cf==="click"&&bK.nodeName(b7,"a"))&&bK.acceptData(b7)){if(b6&&b7[cf]&&!bK.isWindow(b7)){ca=b7[b6];if(ca){b7[b6]=null}bK.event.triggered=cf;try{b7[cf]()}catch(cd){}bK.event.triggered=aH;if(ca){b7[b6]=ca}}}}return b4.result},dispatch:function(e){e=bK.event.fix(e);var b7,b8,cc,b4,b6,cb=[],ca=a5.call(arguments),b5=(bK._data(this,"events")||{})[e.type]||[],b9=bK.event.special[e.type]||{};ca[0]=e;e.delegateTarget=this;if(b9.preDispatch&&b9.preDispatch.call(this,e)===false){return}cb=bK.event.handlers.call(this,e,b5);b7=0;while((b4=cb[b7++])&&!e.isPropagationStopped()){e.currentTarget=b4.elem;b6=0;while((cc=b4.handlers[b6++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(cc.namespace)){e.handleObj=cc;e.data=cc.data;b8=((bK.event.special[cc.origType]||{}).handle||cc.handler).apply(b4.elem,ca);if(b8!==aH){if((e.result=b8)===false){e.preventDefault();e.stopPropagation()}}}}}if(b9.postDispatch){b9.postDispatch.call(this,e)}return e.result},handlers:function(e,b5){var b4,ca,b8,b7,b9=[],b6=b5.delegateCount,cb=e.target;if(b6&&cb.nodeType&&(!e.button||e.type!=="click")){for(;cb!=this;cb=cb.parentNode||this){if(cb.nodeType===1&&(cb.disabled!==true||e.type!=="click")){b8=[];for(b7=0;b7=0:bK.find(b4,this,null,[cb]).length}if(b8[b4]){b8.push(ca)}}if(b8.length){b9.push({elem:cb,handlers:b8})}}}}if(b6+~])"+cq+"*"),cQ=new RegExp(cl),cR=new RegExp("^"+cL+"$"),cZ={ID:new RegExp("^#("+b4+")"),CLASS:new RegExp("^\\.("+b4+")"),NAME:new RegExp("^\\[name=['\"]?("+b4+")['\"]?\\]"),TAG:new RegExp("^("+b4.replace("w","w*")+")"),ATTR:new RegExp("^"+c3),PSEUDO:new RegExp("^"+cl),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cq+"*(even|odd|(([+-]|)(\\d*)n|)"+cq+"*(?:([+-]|)"+cq+"*(\\d+)|))"+cq+"*\\)|)","i"),needsContext:new RegExp("^"+cq+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cq+"*((?:-\\d)?\\d*)"+cq+"*\\)|)(?=[^-]|$)","i")},cX=/[\x20\t\r\n\f]*[+~]/,cN=/^[^{]+\{\s*\[native code/,cP=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,b9=/^(?:input|select|textarea|button)$/i,cm=/^h\d$/i,cM=/'|\\/g,cu=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ct=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,c2=function(e,dj){var di="0x"+dj-65536;return di!==di?dj:di<0?String.fromCharCode(di+65536):String.fromCharCode(di>>10|55296,di&1023|56320)};try{cn.call(cJ.documentElement.childNodes,0)[0].nodeType}catch(cD){cn=function(di){var dj,e=[];while((dj=this[di++])){e.push(dj)}return e}}function cF(e){return cN.test(e+"")}function cA(){var e,di=[];return(e=function(dj,dk){if(di.push(dj+=" ")>co.cacheLength){delete e[di.shift()]}return(e[dj]=dk)})}function ck(e){e[c6]=true;return e}function cd(di){var dk=cC.createElement("div");try{return di(dk)}catch(dj){return false}finally{dk=null}}function cw(dq,di,du,dw){var dv,dm,dn,ds,dt,dl,dk,e,dj,dr;if((di?di.ownerDocument||di:cJ)!==cC){cW(di)}di=di||cC;du=du||[];if(!dq||typeof dq!=="string"){return du}if((ds=di.nodeType)!==1&&ds!==9){return[]}if(!ce&&!dw){if((dv=cP.exec(dq))){if((dn=dv[1])){if(ds===9){dm=di.getElementById(dn);if(dm&&dm.parentNode){if(dm.id===dn){du.push(dm);return du}}else{return du}}else{if(di.ownerDocument&&(dm=di.ownerDocument.getElementById(dn))&&cG(di,dm)&&dm.id===dn){du.push(dm);return du}}}else{if(dv[2]){b5.apply(du,cn.call(di.getElementsByTagName(dq),0));return du}else{if((dn=dv[3])&&de.getByClassName&&di.getElementsByClassName){b5.apply(du,cn.call(di.getElementsByClassName(dn),0));return du}}}}if(de.qsa&&!c0.test(dq)){dk=true;e=c6;dj=di;dr=ds===9&&dq;if(ds===1&&di.nodeName.toLowerCase()!=="object"){dl=cg(dq);if((dk=di.getAttribute("id"))){e=dk.replace(cM,"\\$&")}else{di.setAttribute("id",e)}e="[id='"+e+"'] ";dt=dl.length;while(dt--){dl[dt]=e+ch(dl[dt])}dj=cX.test(dq)&&di.parentNode||di;dr=dl.join(",")}if(dr){try{b5.apply(du,cn.call(dj.querySelectorAll(dr),0));return du}catch(dp){}finally{if(!dk){di.removeAttribute("id")}}}}}return dd(dq.replace(cs,"$1"),di,du,dw)}cK=cw.isXML=function(e){var di=e&&(e.ownerDocument||e).documentElement;return di?di.nodeName!=="HTML":false};cW=cw.setDocument=function(e){var di=e?e.ownerDocument||e:cJ;if(di===cC||di.nodeType!==9||!di.documentElement){return cC}cC=di;cp=di.documentElement;ce=cK(di);de.tagNameNoComments=cd(function(dj){dj.appendChild(di.createComment(""));return !dj.getElementsByTagName("*").length});de.attributes=cd(function(dk){dk.innerHTML=" ";var dj=typeof dk.lastChild.getAttribute("multiple");return dj!=="boolean"&&dj!=="string"});de.getByClassName=cd(function(dj){dj.innerHTML="
";if(!dj.getElementsByClassName||!dj.getElementsByClassName("e").length){return false}dj.lastChild.className="e";return dj.getElementsByClassName("e").length===2});de.getByName=cd(function(dk){dk.id=c6+0;dk.innerHTML="
";cp.insertBefore(dk,cp.firstChild);var dj=di.getElementsByName&&di.getElementsByName(c6).length===2+di.getElementsByName(c6+0).length;de.getIdNotName=!di.getElementById(c6);cp.removeChild(dk);return dj});co.attrHandle=cd(function(dj){dj.innerHTML=" ";return dj.firstChild&&typeof dj.firstChild.getAttribute!==da&&dj.firstChild.getAttribute("href")==="#"})?{}:{href:function(dj){return dj.getAttribute("href",2)},type:function(dj){return dj.getAttribute("type")}};if(de.getIdNotName){co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj&&dj.parentNode?[dj]:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dl){return dl.getAttribute("id")===dj}}}else{co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj?dj.id===dl||typeof dj.getAttributeNode!==da&&dj.getAttributeNode("id").value===dl?[dj]:ci:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dm){var dl=typeof dm.getAttributeNode!==da&&dm.getAttributeNode("id");return dl&&dl.value===dj}}}co.find.TAG=de.tagNameNoComments?function(dj,dk){if(typeof dk.getElementsByTagName!==da){return dk.getElementsByTagName(dj)}}:function(dj,dn){var dp,dm=[],dl=0,dk=dn.getElementsByTagName(dj);if(dj==="*"){while((dp=dk[dl++])){if(dp.nodeType===1){dm.push(dp)}}return dm}return dk};co.find.NAME=de.getByName&&function(dj,dk){if(typeof dk.getElementsByName!==da){return dk.getElementsByName(name)}};co.find.CLASS=de.getByClassName&&function(dk,dj){if(typeof dj.getElementsByClassName!==da&&!ce){return dj.getElementsByClassName(dk)}};dc=[];c0=[":focus"];if((de.qsa=cF(di.querySelectorAll))){cd(function(dj){dj.innerHTML=" ";if(!dj.querySelectorAll("[selected]").length){c0.push("\\["+cq+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!dj.querySelectorAll(":checked").length){c0.push(":checked")}});cd(function(dj){dj.innerHTML=" ";if(dj.querySelectorAll("[i^='']").length){c0.push("[*^$]="+cq+"*(?:\"\"|'')")}if(!dj.querySelectorAll(":enabled").length){c0.push(":enabled",":disabled")}dj.querySelectorAll("*,:x");c0.push(",.*:")})}if((de.matchesSelector=cF((cb=cp.matchesSelector||cp.mozMatchesSelector||cp.webkitMatchesSelector||cp.oMatchesSelector||cp.msMatchesSelector)))){cd(function(dj){de.disconnectedMatch=cb.call(dj,"div");cb.call(dj,"[s!='']:x");dc.push("!=",cl)})}c0=new RegExp(c0.join("|"));dc=new RegExp(dc.join("|"));cG=cF(cp.contains)||cp.compareDocumentPosition?function(dk,dj){var dm=dk.nodeType===9?dk.documentElement:dk,dl=dj&&dj.parentNode;return dk===dl||!!(dl&&dl.nodeType===1&&(dm.contains?dm.contains(dl):dk.compareDocumentPosition&&dk.compareDocumentPosition(dl)&16))}:function(dk,dj){if(dj){while((dj=dj.parentNode)){if(dj===dk){return true}}}return false};cE=cp.compareDocumentPosition?function(dk,dj){var dl;if(dk===dj){cU=true;return 0}if((dl=dj.compareDocumentPosition&&dk.compareDocumentPosition&&dk.compareDocumentPosition(dj))){if(dl&1||dk.parentNode&&dk.parentNode.nodeType===11){if(dk===di||cG(cJ,dk)){return -1}if(dj===di||cG(cJ,dj)){return 1}return 0}return dl&4?-1:1}return dk.compareDocumentPosition?-1:1}:function(dk,dj){var dr,dn=0,dq=dk.parentNode,dm=dj.parentNode,dl=[dk],dp=[dj];if(dk===dj){cU=true;return 0}else{if(!dq||!dm){return dk===di?-1:dj===di?1:dq?-1:dm?1:0}else{if(dq===dm){return b7(dk,dj)}}}dr=dk;while((dr=dr.parentNode)){dl.unshift(dr)}dr=dj;while((dr=dr.parentNode)){dp.unshift(dr)}while(dl[dn]===dp[dn]){dn++}return dn?b7(dl[dn],dp[dn]):dl[dn]===cJ?-1:dp[dn]===cJ?1:0};cU=false;[0,0].sort(cE);de.detectDuplicates=cU;return cC};cw.matches=function(di,e){return cw(di,null,null,e)};cw.matchesSelector=function(dj,dl){if((dj.ownerDocument||dj)!==cC){cW(dj)}dl=dl.replace(cu,"='$1']");if(de.matchesSelector&&!ce&&(!dc||!dc.test(dl))&&!c0.test(dl)){try{var di=cb.call(dj,dl);if(di||de.disconnectedMatch||dj.document&&dj.document.nodeType!==11){return di}}catch(dk){}}return cw(dl,cC,null,[dj]).length>0};cw.contains=function(e,di){if((e.ownerDocument||e)!==cC){cW(e)}return cG(e,di)};cw.attr=function(di,e){var dj;if((di.ownerDocument||di)!==cC){cW(di)}if(!ce){e=e.toLowerCase()}if((dj=co.attrHandle[e])){return dj(di)}if(ce||de.attributes){return di.getAttribute(e)}return((dj=di.getAttributeNode(e))||di.getAttribute(e))&&di[e]===true?e:dj&&dj.specified?dj.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dj){var dk,dl=[],di=1,e=0;cU=!de.detectDuplicates;dj.sort(cE);if(cU){for(;(dk=dj[di]);di++){if(dk===dj[di-1]){e=dl.push(di)}}while(e--){dj.splice(dl[e],1)}}return dj};function b7(di,e){var dk=e&&di,dj=dk&&(~e.sourceIndex||cO)-(~di.sourceIndex||cO);if(dj){return dj}if(dk){while((dk=dk.nextSibling)){if(dk===e){return -1}}}return di?1:-1}function cx(e){return function(dj){var di=dj.nodeName.toLowerCase();return di==="input"&&dj.type===e}}function b8(e){return function(dj){var di=dj.nodeName.toLowerCase();return(di==="input"||di==="button")&&dj.type===e}}function c4(e){return ck(function(di){di=+di;return ck(function(dj,dn){var dl,dk=e([],dj.length,di),dm=dk.length;while(dm--){if(dj[(dl=dk[dm])]){dj[dl]=!(dn[dl]=dj[dl])}}})})}cI=cw.getText=function(dl){var dk,di="",dj=0,e=dl.nodeType;if(!e){for(;(dk=dl[dj]);dj++){di+=cI(dk)}}else{if(e===1||e===9||e===11){if(typeof dl.textContent==="string"){return dl.textContent}else{for(dl=dl.firstChild;dl;dl=dl.nextSibling){di+=cI(dl)}}}else{if(e===3||e===4){return dl.nodeValue}}}return di};co=cw.selectors={cacheLength:50,createPseudo:ck,match:cZ,find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(ct,c2);e[3]=(e[4]||e[5]||"").replace(ct,c2);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(di){var e,dj=!di[5]&&di[2];if(cZ.CHILD.test(di[0])){return null}if(di[4]){di[2]=di[4]}else{if(dj&&cQ.test(dj)&&(e=cg(dj,true))&&(e=dj.indexOf(")",dj.length-e)-dj.length)){di[0]=di[0].slice(0,e);di[2]=dj.slice(0,e)}}return di.slice(0,3)}},filter:{TAG:function(e){if(e==="*"){return function(){return true}}e=e.replace(ct,c2).toLowerCase();return function(di){return di.nodeName&&di.nodeName.toLowerCase()===e}},CLASS:function(e){var di=b6[e+" "];return di||(di=new RegExp("(^|"+cq+")"+e+"("+cq+"|$)"))&&b6(e,function(dj){return di.test(dj.className||(typeof dj.getAttribute!==da&&dj.getAttribute("class"))||"")})},ATTR:function(dj,di,e){return function(dl){var dk=cw.attr(dl,dj);if(dk==null){return di==="!="}if(!di){return true}dk+="";return di==="="?dk===e:di==="!="?dk!==e:di==="^="?e&&dk.indexOf(e)===0:di==="*="?e&&dk.indexOf(e)>-1:di==="$="?e&&dk.slice(-e.length)===e:di==="~="?(" "+dk+" ").indexOf(e)>-1:di==="|="?dk===e||dk.slice(0,e.length+1)===e+"-":false}},CHILD:function(di,dl,dk,dm,dj){var dp=di.slice(0,3)!=="nth",e=di.slice(-4)!=="last",dn=dl==="of-type";return dm===1&&dj===0?function(dq){return !!dq.parentNode}:function(dw,du,dz){var dq,dC,dx,dB,dy,dt,dv=dp!==e?"nextSibling":"previousSibling",dA=dw.parentNode,ds=dn&&dw.nodeName.toLowerCase(),dr=!dz&&!dn;if(dA){if(dp){while(dv){dx=dw;while((dx=dx[dv])){if(dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1){return false}}dt=dv=di==="only"&&!dt&&"nextSibling"}return true}dt=[e?dA.firstChild:dA.lastChild];if(e&&dr){dC=dA[c6]||(dA[c6]={});dq=dC[di]||[];dy=dq[0]===df&&dq[1];dB=dq[0]===df&&dq[2];dx=dy&&dA.childNodes[dy];while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if(dx.nodeType===1&&++dB&&dx===dw){dC[di]=[df,dy,dB];break}}}else{if(dr&&(dq=(dw[c6]||(dw[c6]={}))[di])&&dq[0]===df){dB=dq[1]}else{while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if((dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1)&&++dB){if(dr){(dx[c6]||(dx[c6]={}))[di]=[df,dB]}if(dx===dw){break}}}}}dB-=dj;return dB===dm||(dB%dm===0&&dB/dm>=0)}}},PSEUDO:function(dk,dj){var e,di=co.pseudos[dk]||co.setFilters[dk.toLowerCase()]||cw.error("unsupported pseudo: "+dk);if(di[c6]){return di(dj)}if(di.length>1){e=[dk,dk,"",dj];return co.setFilters.hasOwnProperty(dk.toLowerCase())?ck(function(dn,dq){var dm,dl=di(dn,dj),dp=dl.length;while(dp--){dm=ca.call(dn,dl[dp]);dn[dm]=!(dq[dm]=dl[dp])}}):function(dl){return di(dl,0,e)}}return di}},pseudos:{not:ck(function(e){var di=[],dj=[],dk=cT(e.replace(cs,"$1"));return dk[c6]?ck(function(dm,ds,dq,dn){var dr,dl=dk(dm,null,dn,[]),dp=dm.length;while(dp--){if((dr=dl[dp])){dm[dp]=!(ds[dp]=dr)}}}):function(dn,dm,dl){di[0]=dn;dk(di,null,dl,dj);return !dj.pop()}}),has:ck(function(e){return function(di){return cw(e,di).length>0}}),contains:ck(function(e){return function(di){return(di.textContent||di.innerText||cI(di)).indexOf(e)>-1}}),lang:ck(function(e){if(!cR.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(ct,c2).toLowerCase();return function(dj){var di;do{if((di=ce?dj.getAttribute("xml:lang")||dj.getAttribute("lang"):dj.lang)){di=di.toLowerCase();return di===e||di.indexOf(e+"-")===0}}while((dj=dj.parentNode)&&dj.nodeType===1);return false}}),target:function(e){var di=db.location&&db.location.hash;return di&&di.slice(1)===e.id},root:function(e){return e===cp},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var di=e.nodeName.toLowerCase();return(di==="input"&&!!e.checked)||(di==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeName>"@"||e.nodeType===3||e.nodeType===4){return false}}return true},parent:function(e){return !co.pseudos.empty(e)},header:function(e){return cm.test(e.nodeName)},input:function(e){return b9.test(e.nodeName)},button:function(di){var e=di.nodeName.toLowerCase();return e==="input"&&di.type==="button"||e==="button"},text:function(di){var e;return di.nodeName.toLowerCase()==="input"&&di.type==="text"&&((e=di.getAttribute("type"))==null||e.toLowerCase()===di.type)},first:c4(function(){return[0]}),last:c4(function(e,di){return[di-1]}),eq:c4(function(e,dj,di){return[di<0?di+dj:di]}),even:c4(function(e,dj){var di=0;for(;di=0;){e.push(di)}return e}),gt:c4(function(e,dk,dj){var di=dj<0?dj+dk:dj;for(;++di1?function(dl,dk,di){var dj=e.length;while(dj--){if(!e[dj](dl,dk,di)){return false}}return true}:e[0]}function cY(e,di,dj,dk,dn){var dl,dr=[],dm=0,dp=e.length,dq=di!=null;for(;dm-1){dy[dA]=!(dv[dA]=ds)}}}}else{du=cY(du===dv?du.splice(dp,du.length):du);if(dm){dm(null,dv,du,dx)}else{b5.apply(dv,du)}}})}function c7(dn){var di,dl,dj,dm=dn.length,dr=co.relative[dn[0].type],ds=dr||co.relative[" "],dk=dr?1:0,dp=cr(function(dt){return dt===di},ds,true),dq=cr(function(dt){return ca.call(di,dt)>-1},ds,true),e=[function(dv,du,dt){return(!dr&&(dt||du!==dh))||((di=du).nodeType?dp(dv,du,dt):dq(dv,du,dt))}];for(;dk1&&dg(e),dk>1&&ch(dn.slice(0,dk-1)).replace(cs,"$1"),dl,dk0,dl=dk.length>0,di=function(dx,dr,dw,dv,dD){var ds,dt,dy,dC=[],dB=0,du="0",dn=dx&&[],dz=dD!=null,dA=dh,dq=dx||dl&&co.find.TAG("*",dD&&dr.parentNode||dr),dp=(df+=dA==null?1:Math.random()||0.1);if(dz){dh=dr!==cC&&dr;cc=dm}for(;(ds=dq[du])!=null;du++){if(dl&&ds){dt=0;while((dy=dk[dt++])){if(dy(ds,dr,dw)){dv.push(ds);break}}if(dz){df=dp;cc=++dm}}if(e){if((ds=!dy&&ds)){dB--}if(dx){dn.push(ds)}}}dB+=du;if(e&&du!==dB){dt=0;while((dy=dj[dt++])){dy(dn,dC,dr,dw)}if(dx){if(dB>0){while(du--){if(!(dn[du]||dC[du])){dC[du]=c9.call(dv)}}}dC=cY(dC)}b5.apply(dv,dC);if(dz&&!dx&&dC.length>0&&(dB+dj.length)>1){cw.uniqueSort(dv)}}if(dz){df=dp;dh=dA}return dn};return e?ck(di):di}cT=cw.compile=function(e,dm){var dj,di=[],dl=[],dk=cH[e+" "];if(!dk){if(!dm){dm=cg(e)}dj=dm.length;while(dj--){dk=c7(dm[dj]);if(dk[c6]){di.push(dk)}else{dl.push(dk)}}dk=cH(e,cV(dl,di))}return dk};function cz(di,dl,dk){var dj=0,e=dl.length;for(;dj2&&(di=dq[0]).type==="ID"&&e.nodeType===9&&!ce&&co.relative[dq[1].type]){e=co.find.ID(di.matches[0].replace(ct,c2),e)[0];if(!e){return dk}dj=dj.slice(dq.shift().value.length)}dl=cZ.needsContext.test(dj)?0:dq.length;while(dl--){di=dq[dl];if(co.relative[(dr=di.type)]){break}if((dp=co.find[dr])){if((dn=dp(di.matches[0].replace(ct,c2),cX.test(dq[0].type)&&e.parentNode||e))){dq.splice(dl,1);dj=dn.length&&ch(dq);if(!dj){b5.apply(dk,cn.call(dn,0));return dk}break}}}}}cT(dj,dm)(dn,e,ce,dk,cX.test(dj));return dk}co.pseudos.nth=co.pseudos.eq;function cS(){}co.filters=cS.prototype=co.pseudos;co.setFilters=new cS();cW();cw.attr=bK.attr;bK.find=cw;bK.expr=cw.selectors;bK.expr[":"]=bK.expr.pseudos;bK.unique=cw.uniqueSort;bK.text=cw.getText;bK.isXMLDoc=cw.isXML;bK.contains=cw.contains})(a3);var ak=/Until$/,bu=/^(?:parents|prev(?:Until|All))/,ao=/^.[^:#\[\.,]*$/,z=bK.expr.match.needsContext,by={children:true,contents:true,next:true,prev:true};bK.fn.extend({find:function(b4){var b7,b6,b5,e=this.length;if(typeof b4!=="string"){b5=this;return this.pushStack(bK(b4).filter(function(){for(b7=0;b71?bK.unique(b6):b6);b6.selector=(this.selector?this.selector+" ":"")+b4;return b6},has:function(b6){var b5,b4=bK(b6,this),e=b4.length;return this.filter(function(){for(b5=0;b5=0:bK.filter(e,this).length>0:this.filter(e).length>0)},closest:function(b7,b6){var b8,b5=0,e=this.length,b4=[],b9=z.test(b7)||typeof b7!=="string"?bK(b7,b6||this.context):0;for(;b5-1:bK.find.matchesSelector(b8,b7)){b4.push(b8);break}b8=b8.parentNode}}return this.pushStack(b4.length>1?bK.unique(b4):b4)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bK.inArray(this[0],bK(e))}return bK.inArray(e.jquery?e[0]:e,this)},add:function(e,b4){var b6=typeof e==="string"?bK(e,b4):bK.makeArray(e&&e.nodeType?[e]:e),b5=bK.merge(this.get(),b6);return this.pushStack(bK.unique(b5))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});bK.fn.andSelf=bK.fn.addBack;function aY(b4,e){do{b4=b4[e]}while(b4&&b4.nodeType!==1);return b4}bK.each({parent:function(b4){var e=b4.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bK.dir(e,"parentNode")},parentsUntil:function(b4,e,b5){return bK.dir(b4,"parentNode",b5)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bK.dir(e,"nextSibling")},prevAll:function(e){return bK.dir(e,"previousSibling")},nextUntil:function(b4,e,b5){return bK.dir(b4,"nextSibling",b5)},prevUntil:function(b4,e,b5){return bK.dir(b4,"previousSibling",b5)},siblings:function(e){return bK.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bK.sibling(e.firstChild)},contents:function(e){return bK.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bK.merge([],e.childNodes)}},function(e,b4){bK.fn[e]=function(b7,b5){var b6=bK.map(this,b4,b7);if(!ak.test(e)){b5=b7}if(b5&&typeof b5==="string"){b6=bK.filter(b5,b6)}b6=this.length>1&&!by[e]?bK.unique(b6):b6;if(this.length>1&&bu.test(e)){b6=b6.reverse()}return this.pushStack(b6)}});bK.extend({filter:function(b5,e,b4){if(b4){b5=":not("+b5+")"}return e.length===1?bK.find.matchesSelector(e[0],b5)?[e[0]]:[]:bK.find.matches(b5,e)},dir:function(b5,b4,b7){var e=[],b6=b5[b4];while(b6&&b6.nodeType!==9&&(b7===aH||b6.nodeType!==1||!bK(b6).is(b7))){if(b6.nodeType===1){e.push(b6)}b6=b6[b4]}return e},sibling:function(b5,b4){var e=[];for(;b5;b5=b5.nextSibling){if(b5.nodeType===1&&b5!==b4){e.push(b5)}}return e}});function aP(b6,b5,e){b5=b5||0;if(bK.isFunction(b5)){return bK.grep(b6,function(b8,b7){var b9=!!b5.call(b8,b7,b8);return b9===e})}else{if(b5.nodeType){return bK.grep(b6,function(b7){return(b7===b5)===e})}else{if(typeof b5==="string"){var b4=bK.grep(b6,function(b7){return b7.nodeType===1});if(ao.test(b5)){return bK.filter(b5,b4,!e)}else{b5=bK.filter(b5,b4)}}}}return bK.grep(b6,function(b7){return(bK.inArray(b7,b5)>=0)===e})}function B(e){var b5=d.split("|"),b4=e.createDocumentFragment();if(b4.createElement){while(b5.length){b4.createElement(b5.pop())}}return b4}var d="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aB=/ jQuery\d+="(?:null|\d+)"/g,K=new RegExp("<(?:"+d+")[\\s/>]","i"),b3=/^\s+/,aE=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,m=/<([\w:]+)/,bY=/\s*$/g,U={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:bK.support.htmlSerialize?[0,"",""]:[1,"X","
"]},aT=B(l),j=aT.appendChild(l.createElement("div"));U.optgroup=U.option;U.tbody=U.tfoot=U.colgroup=U.caption=U.thead;U.th=U.td;bK.fn.extend({text:function(e){return bK.access(this,function(b4){return b4===aH?bK.text(this):this.empty().append((this[0]&&this[0].ownerDocument||l).createTextNode(b4))},null,e,arguments.length)},wrapAll:function(e){if(bK.isFunction(e)){return this.each(function(b5){bK(this).wrapAll(e.call(this,b5))})}if(this[0]){var b4=bK(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){b4.insertBefore(this[0])}b4.map(function(){var b5=this;while(b5.firstChild&&b5.firstChild.nodeType===1){b5=b5.firstChild}return b5}).append(this)}return this},wrapInner:function(e){if(bK.isFunction(e)){return this.each(function(b4){bK(this).wrapInner(e.call(this,b4))})}return this.each(function(){var b4=bK(this),b5=b4.contents();if(b5.length){b5.wrapAll(e)}else{b4.append(e)}})},wrap:function(e){var b4=bK.isFunction(e);return this.each(function(b5){bK(this).wrapAll(b4?e.call(this,b5):e)})},unwrap:function(){return this.parent().each(function(){if(!bK.nodeName(this,"body")){bK(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.insertBefore(e,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b6){var b5,b4=0;for(;(b5=this[b4])!=null;b4++){if(!e||bK.filter(e,[b5]).length>0){if(!b6&&b5.nodeType===1){bK.cleanData(k(b5))}if(b5.parentNode){if(b6&&bK.contains(b5.ownerDocument,b5)){bt(k(b5,"script"))}b5.parentNode.removeChild(b5)}}}return this},empty:function(){var b4,e=0;for(;(b4=this[e])!=null;e++){if(b4.nodeType===1){bK.cleanData(k(b4,false))}while(b4.firstChild){b4.removeChild(b4.firstChild)}if(b4.options&&bK.nodeName(b4,"select")){b4.options.length=0}}return this},clone:function(b4,e){b4=b4==null?false:b4;e=e==null?b4:e;return this.map(function(){return bK.clone(this,b4,e)})},html:function(e){return bK.access(this,function(b7){var b6=this[0]||{},b5=0,b4=this.length;if(b7===aH){return b6.nodeType===1?b6.innerHTML.replace(aB,""):aH}if(typeof b7==="string"&&!am.test(b7)&&(bK.support.htmlSerialize||!K.test(b7))&&(bK.support.leadingWhitespace||!b3.test(b7))&&!U[(m.exec(b7)||["",""])[1].toLowerCase()]){b7=b7.replace(aE,"<$1>$2>");try{for(;b5")){cb=b4.cloneNode(true)}else{j.innerHTML=b4.outerHTML;j.removeChild(cb=j.firstChild)}if((!bK.support.noCloneEvent||!bK.support.noCloneChecked)&&(b4.nodeType===1||b4.nodeType===11)&&!bK.isXMLDoc(b4)){b8=k(cb);b9=k(b4);for(b7=0;(b5=b9[b7])!=null;++b7){if(b8[b7]){R(b5,b8[b7])}}}if(b6){if(e){b9=b9||k(b4);b8=b8||k(cb);for(b7=0;(b5=b9[b7])!=null;b7++){au(b5,b8[b7])}}else{au(b4,cb)}}b8=k(cb,"script");if(b8.length>0){bt(b8,!ca&&k(b4,"script"))}b8=b9=b5=null;return cb},buildFragment:function(b4,b6,cb,cg){var cc,b8,ca,cf,ch,ce,b5,b9=b4.length,b7=B(b6),e=[],cd=0;for(;cd$2>")+b5[2];cc=b5[0];while(cc--){cf=cf.lastChild}if(!bK.support.leadingWhitespace&&b3.test(b8)){e.push(b6.createTextNode(b3.exec(b8)[0]))}if(!bK.support.tbody){b8=ch==="table"&&!bY.test(b8)?cf.firstChild:b5[1]===""&&!bY.test(b8)?cf:0;cc=b8&&b8.childNodes.length;while(cc--){if(bK.nodeName((ce=b8.childNodes[cc]),"tbody")&&!ce.childNodes.length){b8.removeChild(ce)}}}bK.merge(e,cf.childNodes);cf.textContent="";while(cf.firstChild){cf.removeChild(cf.firstChild)}cf=b7.lastChild}}}}if(cf){b7.removeChild(cf)}if(!bK.support.appendChecked){bK.grep(k(e,"input"),bW)}cd=0;while((b8=e[cd++])){if(cg&&bK.inArray(b8,cg)!==-1){continue}ca=bK.contains(b8.ownerDocument,b8);cf=k(b7.appendChild(b8),"script");if(ca){bt(cf)}if(cb){cc=0;while((b8=cf[cc++])){if(bA.test(b8.type||"")){cb.push(b8)}}}}cf=null;return b7},cleanData:function(b4,cc){var b6,cb,b5,b7,b8=0,cd=bK.expando,e=bK.cache,b9=bK.support.deleteExpando,ca=bK.event.special;for(;(b6=b4[b8])!=null;b8++){if(cc||bK.acceptData(b6)){b5=b6[cd];b7=b5&&e[b5];if(b7){if(b7.events){for(cb in b7.events){if(ca[cb]){bK.event.remove(b6,cb)}else{bK.removeEvent(b6,cb,b7.handle)}}}if(e[b5]){delete e[b5];if(b9){delete b6[cd]}else{if(typeof b6.removeAttribute!==aD){b6.removeAttribute(cd)}else{b6[cd]=null}}a7.push(b5)}}}}}});var aF,bp,F,bh=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,bo=/^(top|right|bottom|left)$/,G=/^(none|table(?!-c[ea]).+)/,aZ=/^margin/,ba=new RegExp("^("+bB+")(.*)$","i"),X=new RegExp("^("+bB+")(?!px)[a-z%]+$","i"),T=new RegExp("^([+-])=("+bB+")","i"),bk={BODY:"block"},bc={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:0,fontWeight:400},bU=["Top","Right","Bottom","Left"],aw=["Webkit","O","Moz","ms"];function b(b6,b4){if(b4 in b6){return b4}var b7=b4.charAt(0).toUpperCase()+b4.slice(1),e=b4,b5=aw.length;while(b5--){b4=aw[b5]+b7;if(b4 in b6){return b4}}return e}function Q(b4,e){b4=e||b4;return bK.css(b4,"display")==="none"||!bK.contains(b4.ownerDocument,b4)}function p(b9,e){var ca,b7,b8,b4=[],b5=0,b6=b9.length;for(;b51)},show:function(){return p(this,true)},hide:function(){return p(this)},toggle:function(b4){var e=typeof b4==="boolean";return this.each(function(){if(e?b4:Q(this)){bK(this).show()}else{bK(this).hide()}})}});bK.extend({cssHooks:{opacity:{get:function(b5,b4){if(b4){var e=F(b5,"opacity");return e===""?"1":e}}}},cssNumber:{columnCount:true,fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":bK.support.cssFloat?"cssFloat":"styleFloat"},style:function(b6,b5,cc,b7){if(!b6||b6.nodeType===3||b6.nodeType===8||!b6.style){return}var ca,cb,cd,b8=bK.camelCase(b5),b4=b6.style;b5=bK.cssProps[b8]||(bK.cssProps[b8]=b(b4,b8));cd=bK.cssHooks[b5]||bK.cssHooks[b8];if(cc!==aH){cb=typeof cc;if(cb==="string"&&(ca=T.exec(cc))){cc=(ca[1]+1)*ca[2]+parseFloat(bK.css(b6,b5));cb="number"}if(cc==null||cb==="number"&&isNaN(cc)){return}if(cb==="number"&&!bK.cssNumber[b8]){cc+="px"}if(!bK.support.clearCloneStyle&&cc===""&&b5.indexOf("background")===0){b4[b5]="inherit"}if(!cd||!("set" in cd)||(cc=cd.set(b6,cc,b7))!==aH){try{b4[b5]=cc}catch(b9){}}}else{if(cd&&"get" in cd&&(ca=cd.get(b6,false,b7))!==aH){return ca}return b4[b5]}},css:function(b9,b7,b4,b8){var b6,ca,e,b5=bK.camelCase(b7);b7=bK.cssProps[b5]||(bK.cssProps[b5]=b(b9.style,b5));e=bK.cssHooks[b7]||bK.cssHooks[b5];if(e&&"get" in e){ca=e.get(b9,true,b4)}if(ca===aH){ca=F(b9,b7,b8)}if(ca==="normal"&&b7 in bD){ca=bD[b7]}if(b4===""||b4){b6=parseFloat(ca);return b4===true||bK.isNumeric(b6)?b6||0:ca}return ca},swap:function(b8,b7,b9,b6){var b5,b4,e={};for(b4 in b7){e[b4]=b8.style[b4];b8.style[b4]=b7[b4]}b5=b9.apply(b8,b6||[]);for(b4 in b7){b8.style[b4]=e[b4]}return b5}});if(a3.getComputedStyle){bp=function(e){return a3.getComputedStyle(e,null)};F=function(b7,b5,b9){var b6,b4,cb,b8=b9||bp(b7),ca=b8?b8.getPropertyValue(b5)||b8[b5]:aH,e=b7.style;if(b8){if(ca===""&&!bK.contains(b7.ownerDocument,b7)){ca=bK.style(b7,b5)}if(X.test(ca)&&aZ.test(b5)){b6=e.width;b4=e.minWidth;cb=e.maxWidth;e.minWidth=e.maxWidth=e.width=ca;ca=b8.width;e.width=b6;e.minWidth=b4;e.maxWidth=cb}}return ca}}else{if(l.documentElement.currentStyle){bp=function(e){return e.currentStyle};F=function(b6,b4,b9){var b5,b8,ca,b7=b9||bp(b6),cb=b7?b7[b4]:aH,e=b6.style;if(cb==null&&e&&e[b4]){cb=e[b4]}if(X.test(cb)&&!bo.test(b4)){b5=e.left;b8=b6.runtimeStyle;ca=b8&&b8.left;if(ca){b8.left=b6.currentStyle.left}e.left=b4==="fontSize"?"1em":cb;cb=e.pixelLeft+"px";e.left=b5;if(ca){b8.left=ca}}return cb===""?"auto":cb}}}function aK(e,b5,b6){var b4=ba.exec(b5);return b4?Math.max(0,b4[1]-(b6||0))+(b4[2]||"px"):b5}function ax(b7,b4,e,b9,b6){var b5=e===(b9?"border":"content")?4:b4==="width"?1:0,b8=0;for(;b5<4;b5+=2){if(e==="margin"){b8+=bK.css(b7,e+bU[b5],true,b6)}if(b9){if(e==="content"){b8-=bK.css(b7,"padding"+bU[b5],true,b6)}if(e!=="margin"){b8-=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}else{b8+=bK.css(b7,"padding"+bU[b5],true,b6);if(e!=="padding"){b8+=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}}return b8}function v(b7,b4,e){var b6=true,b8=b4==="width"?b7.offsetWidth:b7.offsetHeight,b5=bp(b7),b9=bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b5)==="border-box";if(b8<=0||b8==null){b8=F(b7,b4,b5);if(b8<0||b8==null){b8=b7.style[b4]}if(X.test(b8)){return b8}b6=b9&&(bK.support.boxSizingReliable||b8===b7.style[b4]);b8=parseFloat(b8)||0}return(b8+ax(b7,b4,e||(b9?"border":"content"),b6,b5))+"px"}function bF(b5){var b4=l,e=bk[b5];if(!e){e=a2(b5,b4);if(e==="none"||!e){aF=(aF||bK("").css("cssText","display:block !important")).appendTo(b4.documentElement);b4=(aF[0].contentWindow||aF[0].contentDocument).document;b4.write("");b4.close();e=a2(b5,b4);aF.detach()}bk[b5]=e}return e}function a2(e,b6){var b4=bK(b6.createElement(e)).appendTo(b6.body),b5=bK.css(b4[0],"display");b4.remove();return b5}bK.each(["height","width"],function(b4,e){bK.cssHooks[e]={get:function(b7,b6,b5){if(b6){return b7.offsetWidth===0&&G.test(bK.css(b7,"display"))?bK.swap(b7,bc,function(){return v(b7,e,b5)}):v(b7,e,b5)}},set:function(b7,b8,b5){var b6=b5&&bp(b7);return aK(b7,b8,b5?ax(b7,e,b5,bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b6)==="border-box",b6):0)}}});if(!bK.support.opacity){bK.cssHooks.opacity={get:function(b4,e){return aU.test((e&&b4.currentStyle?b4.currentStyle.filter:b4.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b7,b8){var b6=b7.style,b4=b7.currentStyle,e=bK.isNumeric(b8)?"alpha(opacity="+b8*100+")":"",b5=b4&&b4.filter||b6.filter||"";b6.zoom=1;if((b8>=1||b8==="")&&bK.trim(b5.replace(bh,""))===""&&b6.removeAttribute){b6.removeAttribute("filter");if(b8===""||b4&&!b4.filter){return}}b6.filter=bh.test(b5)?b5.replace(bh,e):b5+" "+e}}}bK(function(){if(!bK.support.reliableMarginRight){bK.cssHooks.marginRight={get:function(b4,e){if(e){return bK.swap(b4,{display:"inline-block"},F,[b4,"marginRight"])}}}}if(!bK.support.pixelPosition&&bK.fn.position){bK.each(["top","left"],function(e,b4){bK.cssHooks[b4]={get:function(b6,b5){if(b5){b5=F(b6,b4);return X.test(b5)?bK(b6).position()[b4]+"px":b5}}}})}});if(bK.expr&&bK.expr.filters){bK.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!bK.support.reliableHiddenOffsets&&((e.style&&e.style.display)||bK.css(e,"display"))==="none")};bK.expr.filters.visible=function(e){return !bK.expr.filters.hidden(e)}}bK.each({margin:"",padding:"",border:"Width"},function(e,b4){bK.cssHooks[e+b4]={expand:function(b7){var b6=0,b5={},b8=typeof b7==="string"?b7.split(" "):[b7];for(;b6<4;b6++){b5[e+bU[b6]+b4]=b8[b6]||b8[b6-2]||b8[0]}return b5}};if(!aZ.test(e)){bK.cssHooks[e+b4].set=aK}});var bw=/%20/g,aS=/\[\]$/,V=/\r?\n/g,c=/^(?:submit|button|image|reset|file)$/i,av=/^(?:input|select|textarea|keygen)/i;bK.fn.extend({serialize:function(){return bK.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bK.prop(this,"elements");return e?bK.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bK(this).is(":disabled")&&av.test(this.nodeName)&&!c.test(e)&&(this.checked||!r.test(e))}).map(function(e,b4){var b5=bK(this).val();return b5==null?null:bK.isArray(b5)?bK.map(b5,function(b6){return{name:b4.name,value:b6.replace(V,"\r\n")}}):{name:b4.name,value:b5.replace(V,"\r\n")}}).get()}});bK.param=function(e,b5){var b6,b4=[],b7=function(b8,b9){b9=bK.isFunction(b9)?b9():(b9==null?"":b9);b4[b4.length]=encodeURIComponent(b8)+"="+encodeURIComponent(b9)};if(b5===aH){b5=bK.ajaxSettings&&bK.ajaxSettings.traditional}if(bK.isArray(e)||(e.jquery&&!bK.isPlainObject(e))){bK.each(e,function(){b7(this.name,this.value)})}else{for(b6 in e){i(b6,e[b6],b5,b7)}}return b4.join("&").replace(bw,"+")};function i(b5,b7,b4,b6){var e;if(bK.isArray(b7)){bK.each(b7,function(b9,b8){if(b4||aS.test(b5)){b6(b5,b8)}else{i(b5+"["+(typeof b8==="object"?b9:"")+"]",b8,b4,b6)}})}else{if(!b4&&bK.type(b7)==="object"){for(e in b7){i(b5+"["+e+"]",b7[e],b4,b6)}}else{b6(b5,b7)}}}bK.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(b4,e){bK.fn[e]=function(b6,b5){return arguments.length>0?this.on(e,null,b6,b5):this.trigger(e)}});bK.fn.hover=function(e,b4){return this.mouseenter(e).mouseleave(b4||e)};var b2,Z,bP=bK.now(),aA=/\?/,aq=/#.*$/,P=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,o=/^(?:GET|HEAD)$/,aI=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,b1=bK.fn.load,w={},a8={},aX="*/".concat("*");try{Z=aM.href}catch(bg){Z=l.createElement("a");Z.href="";Z=Z.href}b2=aV.exec(Z.toLowerCase())||[];function bM(e){return function(b7,b8){if(typeof b7!=="string"){b8=b7;b7="*"}var b4,b5=0,b6=b7.toLowerCase().match(ad)||[];if(bK.isFunction(b8)){while((b4=b6[b5++])){if(b4[0]==="+"){b4=b4.slice(1)||"*";(e[b4]=e[b4]||[]).unshift(b8)}else{(e[b4]=e[b4]||[]).push(b8)}}}}}function n(e,b5,b9,b6){var b4={},b7=(e===a8);function b8(ca){var cb;b4[ca]=true;bK.each(e[ca]||[],function(cd,cc){var ce=cc(b5,b9,b6);if(typeof ce==="string"&&!b7&&!b4[ce]){b5.dataTypes.unshift(ce);b8(ce);return false}else{if(b7){return !(cb=ce)}}});return cb}return b8(b5.dataTypes[0])||!b4["*"]&&b8("*")}function s(b5,b6){var e,b4,b7=bK.ajaxSettings.flatOptions||{};for(b4 in b6){if(b6[b4]!==aH){(b7[b4]?b5:(e||(e={})))[b4]=b6[b4]}}if(e){bK.extend(true,b5,e)}return b5}bK.fn.load=function(b6,b9,ca){if(typeof b6!=="string"&&b1){return b1.apply(this,arguments)}var e,b5,b7,b4=this,b8=b6.indexOf(" ");if(b8>=0){e=b6.slice(b8,b6.length);b6=b6.slice(0,b8)}if(bK.isFunction(b9)){ca=b9;b9=aH}else{if(b9&&typeof b9==="object"){b7="POST"}}if(b4.length>0){bK.ajax({url:b6,type:b7,dataType:"html",data:b9}).done(function(cb){b5=arguments;b4.html(e?bK("").append(bK.parseHTML(cb)).find(e):cb)}).complete(ca&&function(cc,cb){b4.each(ca,b5||[cc.responseText,cb,cc])})}return this};bK.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b4){bK.fn[b4]=function(b5){return this.on(b4,b5)}});bK.each(["get","post"],function(e,b4){bK[b4]=function(b5,b7,b8,b6){if(bK.isFunction(b7)){b6=b6||b8;b8=b7;b7=aH}return bK.ajax({url:b5,type:b4,dataType:b6,data:b7,success:b8})}});bK.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Z,type:"GET",isLocal:C.test(b2[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a3.String,"text html":true,"text json":bK.parseJSON,"text xml":bK.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(b4,e){return e?s(s(b4,bK.ajaxSettings),e):s(bK.ajaxSettings,b4)},ajaxPrefilter:bM(w),ajaxTransport:bM(a8),ajax:function(b8,b5){if(typeof b8==="object"){b5=b8;b8=aH}b5=b5||{};var ch,cj,b9,co,cd,b4,ck,b6,cc=bK.ajaxSetup({},b5),cq=cc.context||cc,cf=cc.context&&(cq.nodeType||cq.jquery)?bK(cq):bK.event,cp=bK.Deferred(),cm=bK.Callbacks("once memory"),ca=cc.statusCode||{},cg={},cn={},b7=0,cb="canceled",ci={readyState:0,getResponseHeader:function(cr){var e;if(b7===2){if(!b6){b6={};while((e=ah.exec(co))){b6[e[1].toLowerCase()]=e[2]}}e=b6[cr.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b7===2?co:null},setRequestHeader:function(cr,cs){var e=cr.toLowerCase();if(!b7){cr=cn[e]=cn[e]||cr;cg[cr]=cs}return this},overrideMimeType:function(e){if(!b7){cc.mimeType=e}return this},statusCode:function(cr){var e;if(cr){if(b7<2){for(e in cr){ca[e]=[ca[e],cr[e]]}}else{ci.always(cr[ci.status])}}return this},abort:function(cr){var e=cr||cb;if(ck){ck.abort(e)}ce(0,e);return this}};cp.promise(ci).complete=cm.add;ci.success=ci.done;ci.error=ci.fail;cc.url=((b8||cc.url||Z)+"").replace(aq,"").replace(aI,b2[1]+"//");cc.type=b5.method||b5.type||cc.method||cc.type;cc.dataTypes=bK.trim(cc.dataType||"*").toLowerCase().match(ad)||[""];if(cc.crossDomain==null){ch=aV.exec(cc.url.toLowerCase());cc.crossDomain=!!(ch&&(ch[1]!==b2[1]||ch[2]!==b2[2]||(ch[3]||(ch[1]==="http:"?80:443))!=(b2[3]||(b2[1]==="http:"?80:443))))}if(cc.data&&cc.processData&&typeof cc.data!=="string"){cc.data=bK.param(cc.data,cc.traditional)}n(w,cc,b5,ci);if(b7===2){return ci}b4=cc.global;if(b4&&bK.active++===0){bK.event.trigger("ajaxStart")}cc.type=cc.type.toUpperCase();cc.hasContent=!o.test(cc.type);b9=cc.url;if(!cc.hasContent){if(cc.data){b9=(cc.url+=(aA.test(b9)?"&":"?")+cc.data);delete cc.data}if(cc.cache===false){cc.url=P.test(b9)?b9.replace(P,"$1_="+bP++):b9+(aA.test(b9)?"&":"?")+"_="+bP++}}if(cc.ifModified){if(bK.lastModified[b9]){ci.setRequestHeader("If-Modified-Since",bK.lastModified[b9])}if(bK.etag[b9]){ci.setRequestHeader("If-None-Match",bK.etag[b9])}}if(cc.data&&cc.hasContent&&cc.contentType!==false||b5.contentType){ci.setRequestHeader("Content-Type",cc.contentType)}ci.setRequestHeader("Accept",cc.dataTypes[0]&&cc.accepts[cc.dataTypes[0]]?cc.accepts[cc.dataTypes[0]]+(cc.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):cc.accepts["*"]);for(cj in cc.headers){ci.setRequestHeader(cj,cc.headers[cj])}if(cc.beforeSend&&(cc.beforeSend.call(cq,ci,cc)===false||b7===2)){return ci.abort()}cb="abort";for(cj in {success:1,error:1,complete:1}){ci[cj](cc[cj])}ck=n(a8,cc,b5,ci);if(!ck){ce(-1,"No Transport")}else{ci.readyState=1;if(b4){cf.trigger("ajaxSend",[ci,cc])}if(cc.async&&cc.timeout>0){cd=setTimeout(function(){ci.abort("timeout")},cc.timeout)}try{b7=1;ck.send(cg,ce)}catch(cl){if(b7<2){ce(-1,cl)}else{throw cl}}}function ce(cv,cr,cw,ct){var e,cz,cx,cu,cy,cs=cr;if(b7===2){return}b7=2;if(cd){clearTimeout(cd)}ck=aH;co=ct||"";ci.readyState=cv>0?4:0;if(cw){cu=g(cc,ci,cw)}if(cv>=200&&cv<300||cv===304){if(cc.ifModified){cy=ci.getResponseHeader("Last-Modified");if(cy){bK.lastModified[b9]=cy}cy=ci.getResponseHeader("etag");if(cy){bK.etag[b9]=cy}}if(cv===204){e=true;cs="nocontent"}else{if(cv===304){e=true;cs="notmodified"}else{e=ag(cc,cu);cs=e.state;cz=e.data;cx=e.error;e=!cx}}}else{cx=cs;if(cv||!cs){cs="error";if(cv<0){cv=0}}}ci.status=cv;ci.statusText=(cr||cs)+"";if(e){cp.resolveWith(cq,[cz,cs,ci])}else{cp.rejectWith(cq,[ci,cs,cx])}ci.statusCode(ca);ca=aH;if(b4){cf.trigger(e?"ajaxSuccess":"ajaxError",[ci,cc,e?cz:cx])}cm.fireWith(cq,[ci,cs]);if(b4){cf.trigger("ajaxComplete",[ci,cc]);if(!(--bK.active)){bK.event.trigger("ajaxStop")}}}return ci},getScript:function(e,b4){return bK.get(e,aH,b4,"script")},getJSON:function(e,b4,b5){return bK.get(e,b4,b5,"json")}});function g(cc,cb,b8){var e,b7,b6,b9,b4=cc.contents,ca=cc.dataTypes,b5=cc.responseFields;for(b9 in b5){if(b9 in b8){cb[b5[b9]]=b8[b9]}}while(ca[0]==="*"){ca.shift();if(b7===aH){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in b4){if(b4[b9]&&b4[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(ce,b6){var b4,ca,cc,b7,cd={},b8=0,cb=ce.dataTypes.slice(),b5=cb[0];if(ce.dataFilter){b6=ce.dataFilter(b6,ce.dataType)}if(cb[1]){for(cc in ce.converters){cd[cc.toLowerCase()]=ce.converters[cc]}}for(;(ca=cb[++b8]);){if(ca!=="*"){if(b5!=="*"&&b5!==ca){cc=cd[b5+" "+ca]||cd["* "+ca];if(!cc){for(b4 in cd){b7=b4.split(" ");if(b7[1]===ca){cc=cd[b5+" "+b7[0]]||cd["* "+b7[0]];if(cc){if(cc===true){cc=cd[b4]}else{if(cd[b4]!==true){ca=b7[0];cb.splice(b8--,0,ca)}}break}}}}if(cc!==true){if(cc&&ce["throws"]){b6=cc(b6)}else{try{b6=cc(b6)}catch(b9){return{state:"parsererror",error:cc?b9:"No conversion from "+b5+" to "+ca}}}}}b5=ca}}return{state:"success",data:b6}}bK.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bK.globalEval(e);return e}}});bK.ajaxPrefilter("script",function(e){if(e.cache===aH){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bK.ajaxTransport("script",function(b5){if(b5.crossDomain){var e,b4=l.head||bK("head")[0]||l.documentElement;return{send:function(b6,b7){e=l.createElement("script");e.async=true;if(b5.scriptCharset){e.charset=b5.scriptCharset}e.src=b5.url;e.onload=e.onreadystatechange=function(b9,b8){if(b8||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b8){b7(200,"success")}}};b4.insertBefore(e,b4.firstChild)},abort:function(){if(e){e.onload(aH,true)}}}}});var br=[],a6=/(=)\?(?=&|$)|\?\?/;bK.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=br.pop()||(bK.expando+"_"+(bP++));this[e]=true;return e}});bK.ajaxPrefilter("json jsonp",function(b6,e,b7){var b9,b4,b5,b8=b6.jsonp!==false&&(a6.test(b6.url)?"url":typeof b6.data==="string"&&!(b6.contentType||"").indexOf("application/x-www-form-urlencoded")&&a6.test(b6.data)&&"data");if(b8||b6.dataTypes[0]==="jsonp"){b9=b6.jsonpCallback=bK.isFunction(b6.jsonpCallback)?b6.jsonpCallback():b6.jsonpCallback;if(b8){b6[b8]=b6[b8].replace(a6,"$1"+b9)}else{if(b6.jsonp!==false){b6.url+=(aA.test(b6.url)?"&":"?")+b6.jsonp+"="+b9}}b6.converters["script json"]=function(){if(!b5){bK.error(b9+" was not called")}return b5[0]};b6.dataTypes[0]="json";b4=a3[b9];a3[b9]=function(){b5=arguments};b7.always(function(){a3[b9]=b4;if(b6[b9]){b6.jsonpCallback=e.jsonpCallback;br.push(b9)}if(b5&&bK.isFunction(b4)){b4(b5[0])}b5=b4=aH});return"script"}});var ai,ay,az=0,aQ=a3.ActiveXObject&&function(){var e;for(e in ai){ai[e](aH,true)}};function bE(){try{return new a3.XMLHttpRequest()}catch(b4){}}function be(){try{return new a3.ActiveXObject("Microsoft.XMLHTTP")}catch(b4){}}bK.ajaxSettings.xhr=a3.ActiveXObject?function(){return !this.isLocal&&bE()||be()}:bE;ay=bK.ajaxSettings.xhr();bK.support.cors=!!ay&&("withCredentials" in ay);ay=bK.support.ajax=!!ay;if(ay){bK.ajaxTransport(function(e){if(!e.crossDomain||bK.support.cors){var b4;return{send:function(ca,b5){var b8,b6,b9=e.xhr();if(e.username){b9.open(e.type,e.url,e.async,e.username,e.password)}else{b9.open(e.type,e.url,e.async)}if(e.xhrFields){for(b6 in e.xhrFields){b9[b6]=e.xhrFields[b6]}}if(e.mimeType&&b9.overrideMimeType){b9.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!ca["X-Requested-With"]){ca["X-Requested-With"]="XMLHttpRequest"}try{for(b6 in ca){b9.setRequestHeader(b6,ca[b6])}}catch(b7){}b9.send((e.hasContent&&e.data)||null);b4=function(cd,cc){var cb,ce,ch,cf;try{if(b4&&(cc||b9.readyState===4)){b4=aH;if(b8){b9.onreadystatechange=bK.noop;if(aQ){delete ai[b8]}}if(cc){if(b9.readyState!==4){b9.abort()}}else{cf={};cb=b9.status;ce=b9.getAllResponseHeaders();if(typeof b9.responseText==="string"){cf.text=b9.responseText}try{ch=b9.statusText}catch(cg){ch=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=cf.text?200:404}else{if(cb===1223){cb=204}}}}}catch(ci){if(!cc){b5(-1,ci)}}if(cf){b5(cb,ch,cf,ce)}};if(!e.async){b4()}else{if(b9.readyState===4){setTimeout(b4)}else{b8=++az;if(aQ){if(!ai){ai={};bK(a3).unload(aQ)}ai[b8]=b4}b9.onreadystatechange=b4}}},abort:function(){if(b4){b4(aH,true)}}}}})}var L,ae,bS=/^(?:toggle|show|hide)$/,bL=new RegExp("^(?:([+-])=|)("+bB+")([a-z%]*)$","i"),bR=/queueHooks$/,aC=[h],a1={"*":[function(e,ca){var b6,cb,cc=this.createTween(e,ca),b7=bL.exec(ca),b8=cc.cur(),b4=+b8||0,b5=1,b9=20;if(b7){b6=+b7[2];cb=b7[3]||(bK.cssNumber[e]?"":"px");if(cb!=="px"&&b4){b4=bK.css(cc.elem,e,true)||b6||1;do{b5=b5||".5";b4=b4/b5;bK.style(cc.elem,e,b4+cb)}while(b5!==(b5=cc.cur()/b8)&&b5!==1&&--b9)}cc.unit=cb;cc.start=b4;cc.end=b7[1]?b4+(b7[1]+1)*b6:b6}return cc}]};function bn(){setTimeout(function(){L=aH});return(L=bK.now())}function bf(b4,e){bK.each(e,function(b9,b7){var b8=(a1[b9]||[]).concat(a1["*"]),b5=0,b6=b8.length;for(;b5
-1,cc={},cb={},b5,b7;if(ce){cb=b8.position();b5=cb.top;b7=cb.left}else{b5=parseFloat(e)||0;b7=parseFloat(cd)||0}if(bK.isFunction(cf)){cf=cf.call(b6,b9,b4)}if(cf.top!=null){cc.top=(cf.top-b4.top)+b5}if(cf.left!=null){cc.left=(cf.left-b4.left)+b7}if("using" in cf){cf.using.call(b6,cc)}else{b8.css(cc)}}};bK.fn.extend({position:function(){if(!this[0]){return}var b5,b6,e={top:0,left:0},b4=this[0];if(bK.css(b4,"position")==="fixed"){b6=b4.getBoundingClientRect()}else{b5=this.offsetParent();b6=this.offset();if(!bK.nodeName(b5[0],"html")){e=b5.offset()}e.top+=bK.css(b5[0],"borderTopWidth",true);e.left+=bK.css(b5[0],"borderLeftWidth",true)}return{top:b6.top-e.top-bK.css(b4,"marginTop",true),left:b6.left-e.left-bK.css(b4,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||l.documentElement;while(e&&(!bK.nodeName(e,"html")&&bK.css(e,"position")==="static")){e=e.offsetParent}return e||l.documentElement})}});bK.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b5,b4){var e=/Y/.test(b4);bK.fn[b5]=function(b6){return bK.access(this,function(b7,ca,b9){var b8=bq(b7);if(b9===aH){return b8?(b4 in b8)?b8[b4]:b8.document.documentElement[ca]:b7[ca]}if(b8){b8.scrollTo(!e?b9:bK(b8).scrollLeft(),e?b9:bK(b8).scrollTop())}else{b7[ca]=b9}},b5,b6,arguments.length,null)}});function bq(e){return bK.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bK.each({Height:"height",Width:"width"},function(e,b4){bK.each({padding:"inner"+e,content:b4,"":"outer"+e},function(b5,b6){bK.fn[b6]=function(ca,b9){var b8=arguments.length&&(b5||typeof ca!=="boolean"),b7=b5||(ca===true||b9===true?"margin":"border");return bK.access(this,function(cc,cb,cd){var ce;if(bK.isWindow(cc)){return cc.document.documentElement["client"+e]}if(cc.nodeType===9){ce=cc.documentElement;return Math.max(cc.body["scroll"+e],ce["scroll"+e],cc.body["offset"+e],ce["offset"+e],ce["client"+e])}return cd===aH?bK.css(cc,cb,b7):bK.style(cc,cb,cd,b7)},b4,b8?ca:aH,b8,null)}})});a3.jQuery=a3.$=bK;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return bK})}})(window);!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},to:function(h){var d=this.$element.find(".item.active"),e=d.parent().children(),f=e.index(d),g=this;if(h>(e.length-1)||h<0){return}if(this.sliding){return this.$element.one("slid",function(){g.to(h)})}if(f==h){return this.pause().cycle()}return this.slide(h>f?"next":"prev",b(e[h]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle()}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0]});if(d.hasClass("active")){return}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide]",function(i){var h=b(this),f,d=b(h.attr("data-target")||(f=h.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),h.data());d.carousel(g);i.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=typeof d=="object"&&d;if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){h.toggleClass("open")}i.focus();return false},keydown:function(l){var k,m,g,j,i,h;if(!/(38|40|27)/.test(l.keyCode)){return}k=f(this);l.preventDefault();l.stopPropagation();if(k.is(".disabled, :disabled")){return}j=e(k);i=j.hasClass("open");if(!i||(i&&l.keyCode==27)){return k.click()}m=f("[role=menu] li:not(.divider):visible a",j);if(!m.length){return}h=m.index(m.filter(":focus"));if(l.keyCode==38&&h>0){h--}if(l.keyCode==40&&h ').appendTo(document.body);this.$backdrop.click(this.options.backdrop=="static"?c.proxy(this.$element[0].focus,this.$element[0]):c.proxy(this.hide,this));if(d){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");d?this.$backdrop.one(c.support.transition.end,g):g()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,c.proxy(this.removeBackdrop,this)):this.removeBackdrop()}else{if(g){g()}}}}};var a=c.fn.modal;c.fn.modal=function(d){return this.each(function(){var g=c(this),f=g.data("modal"),e=c.extend({},c.fn.modal.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("modal",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}else{if(e.show){f.show()}}})};c.fn.modal.defaults={backdrop:true,keyboard:true,show:true};c.fn.modal.Constructor=b;c.fn.modal.noConflict=function(){c.fn.modal=a;return this};c(document).on("click.modal.data-api",'[data-toggle="modal"]',function(i){var h=c(this),f=h.attr("href"),d=c(h.attr("data-target")||(f&&f.replace(/.*(?=#[^\s]+$)/,""))),g=d.data("modal")?"toggle":c.extend({remote:!/#/.test(f)&&f},d.data(),h.data());i.preventDefault();d.modal(g).one("hide",function(){h.focus()})})}(window.jQuery);!function(c){var b=function(e,d){this.init("tooltip",e,d)};b.prototype={constructor:b,init:function(g,f,e){var h,d;this.type=g;this.$element=c(f);this.options=this.getOptions(e);this.enabled=true;if(this.options.trigger=="click"){this.$element.on("click."+this.type,this.options.selector,c.proxy(this.toggle,this))}else{if(this.options.trigger!="manual"){h=this.options.trigger=="hover"?"mouseenter":"focus";d=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,c.proxy(this.enter,this));this.$element.on(d+"."+this.type,this.options.selector,c.proxy(this.leave,this))}}this.options.selector?(this._options=c.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()},getOptions:function(d){d=c.extend({},c.fn[this.type].defaults,d,this.$element.data());if(d.delay&&typeof d.delay=="number"){d.delay={show:d.delay,hide:d.delay}}return d},enter:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(!d.options.delay||!d.options.delay.show){return d.show()}clearTimeout(this.timeout);d.hoverState="in";this.timeout=setTimeout(function(){if(d.hoverState=="in"){d.show()}},d.options.delay.show)},leave:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(this.timeout){clearTimeout(this.timeout)}if(!d.options.delay||!d.options.delay.hide){return d.hide()}d.hoverState="out";this.timeout=setTimeout(function(){if(d.hoverState=="out"){d.hide()}},d.options.delay.hide)},show:function(){var h,d,j,f,i,e,g;if(this.hasContent()&&this.enabled){h=this.tip();this.setContent();if(this.options.animation){h.addClass("fade")}e=typeof this.options.placement=="function"?this.options.placement.call(this,h[0],this.$element[0]):this.options.placement;d=/in/.test(e);h.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element);j=this.getPosition(d);f=h[0].offsetWidth;i=h[0].offsetHeight;switch(d?e.split(" ")[1]:e){case"bottom":g={top:j.top+j.height,left:j.left+j.width/2-f/2};break;case"top":g={top:j.top-i,left:j.left+j.width/2-f/2};break;case"left":g={top:j.top+j.height/2-i/2,left:j.left-f};break;case"right":g={top:j.top+j.height/2-i/2,left:j.left+j.width};break}h.offset(g).addClass(e).addClass("in")}},setContent:function(){var e=this.tip(),d=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](d);e.removeClass("fade in top bottom left right")},hide:function(){var d=this,e=this.tip();e.removeClass("in");function f(){var g=setTimeout(function(){e.off(c.support.transition.end).detach()},500);e.one(c.support.transition.end,function(){clearTimeout(g);e.detach()})}c.support.transition&&this.$tip.hasClass("fade")?f():e.detach();return this},fixTitle:function(){var d=this.$element;if(d.attr("title")||typeof(d.attr("data-original-title"))!="string"){d.attr("data-original-title",d.attr("title")||"").removeAttr("title")}},hasContent:function(){return this.getTitle()},getPosition:function(d){return c.extend({},(d?{top:0,left:0}:this.$element.offset()),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var f,d=this.$element,e=this.options;f=d.attr("data-original-title")||(typeof e.title=="function"?e.title.call(d[0]):e.title);return f},tip:function(){return this.$tip=this.$tip||c(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);d[d.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var a=c.fn.tooltip;c.fn.tooltip=function(d){return this.each(function(){var g=c(this),f=g.data("tooltip"),e=typeof d=="object"&&d;if(!f){g.data("tooltip",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.tooltip.Constructor=b;c.fn.tooltip.defaults={animation:true,placement:"top",selector:false,template:'',trigger:"hover",title:"",delay:0,html:false};c.fn.tooltip.noConflict=function(){c.fn.tooltip=a;return this}}(window.jQuery);!function(c){var b=function(e,d){this.init("popover",e,d)};b.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var f=this.tip(),e=this.getTitle(),d=this.getContent();f.find(".popover-title")[this.options.html?"html":"text"](e);f.find(".popover-content")[this.options.html?"html":"text"](d);f.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,d=this.$element,f=this.options;e=d.attr("data-content")||(typeof f.content=="function"?f.content.call(d[0]):f.content);return e},tip:function(){if(!this.$tip){this.$tip=c(this.options.template)}return this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var a=c.fn.popover;c.fn.popover=function(d){return this.each(function(){var g=c(this),f=g.data("popover"),e=typeof d=="object"&&d;if(!f){g.data("popover",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.popover.Constructor=b;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''});c.fn.popover.noConflict=function(){c.fn.popover=a;return this}}(window.jQuery);!function(c){function b(g,f){var h=c.proxy(this.process,this),d=c(g).is("body")?c(window):c(g),e;this.options=c.extend({},c.fn.scrollspy.defaults,f);this.$scrollElement=d.on("scroll.scroll-spy.data-api",h);this.selector=(this.options.target||((e=c(g).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""))||"")+" .nav li > a";this.$body=c("body");this.refresh();this.process()}b.prototype={constructor:b,refresh:function(){var d=this,e;this.offsets=c([]);this.targets=c([]);e=this.$body.find(this.selector).map(function(){var g=c(this),f=g.data("target")||g.attr("href"),h=/^#\w/.test(f)&&c(f);return(h&&h.length&&[[h.position().top+d.$scrollElement.scrollTop(),f]])||null}).sort(function(g,f){return g[0]-f[0]}).each(function(){d.offsets.push(this[0]);d.targets.push(this[1])})},process:function(){var j=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,h=f-this.$scrollElement.height(),g=this.offsets,d=this.targets,k=this.activeTarget,e;if(j>=h){return k!=(e=d.last()[0])&&this.activate(e)}for(e=g.length;e--;){k!=d[e]&&j>=g[e]&&(!g[e+1]||j<=g[e+1])&&this.activate(d[e])}},activate:function(f){var e,d;this.activeTarget=f;c(this.selector).parent(".active").removeClass("active");d=this.selector+'[data-target="'+f+'"],'+this.selector+'[href="'+f+'"]';e=c(d).parent("li").addClass("active");if(e.parent(".dropdown-menu").length){e=e.closest("li.dropdown").addClass("active")}e.trigger("activate")}};var a=c.fn.scrollspy;c.fn.scrollspy=function(d){return this.each(function(){var g=c(this),f=g.data("scrollspy"),e=typeof d=="object"&&d;if(!f){g.data("scrollspy",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.scrollspy.Constructor=b;c.fn.scrollspy.defaults={offset:10};c.fn.scrollspy.noConflict=function(){c.fn.scrollspy=a;return this};c(window).on("load",function(){c('[data-spy="scroll"]').each(function(){var d=c(this);d.scrollspy(d.data())})})}(window.jQuery);!function(c){var b=function(d){this.element=c(d)};b.prototype={constructor:b,show:function(){var j=this.element,g=j.closest("ul:not(.dropdown-menu)"),f=j.attr("data-target"),h,d,i;if(!f){f=j.attr("href");f=f&&f.replace(/.*(?=#[^\s]*$)/,"")}if(j.parent("li").hasClass("active")){return}h=g.find(".active:last a")[0];i=c.Event("show",{relatedTarget:h});j.trigger(i);if(i.isDefaultPrevented()){return}d=c(f);this.activate(j.parent("li"),g);this.activate(d,d.parent(),function(){j.trigger({type:"shown",relatedTarget:h})})},activate:function(f,e,i){var d=e.find("> .active"),h=i&&c.support.transition&&d.hasClass("fade");function g(){d.removeClass("active").find("> .dropdown-menu > .active").removeClass("active");f.addClass("active");if(h){f[0].offsetWidth;f.addClass("in")}else{f.removeClass("fade")}if(f.parent(".dropdown-menu")){f.closest("li.dropdown").addClass("active")}i&&i()}h?d.one(c.support.transition.end,g):g();d.removeClass("in")}};var a=c.fn.tab;c.fn.tab=function(d){return this.each(function(){var f=c(this),e=f.data("tab");if(!e){f.data("tab",(e=new b(this)))}if(typeof d=="string"){e[d]()}})};c.fn.tab.Constructor=b;c.fn.tab.noConflict=function(){c.fn.tab=a;return this};c(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(d){d.preventDefault();c(this).tab("show")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.typeahead.defaults,d);this.matcher=this.options.matcher||this.matcher;this.sorter=this.options.sorter||this.sorter;this.highlighter=this.options.highlighter||this.highlighter;this.updater=this.options.updater||this.updater;this.source=this.options.source;this.$menu=b(this.options.menu);this.shown=false;this.listen()};c.prototype={constructor:c,select:function(){var d=this.$menu.find(".active").attr("data-value");this.$element.val(this.updater(d)).change();return this.hide()},updater:function(d){return d},show:function(){var d=b.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});this.$menu.insertAfter(this.$element).css({top:d.top+d.height,left:d.left}).show();this.shown=true;return this},hide:function(){this.$menu.hide();this.shown=false;return this},lookup:function(e){var d;this.query=this.$element.val();if(!this.query||this.query.length"+g+""})},render:function(d){var e=this;d=b(d).map(function(f,g){f=b(e.options.item).attr("data-value",g);f.find("a").html(e.highlighter(g));return f[0]});d.first().addClass("active");this.$menu.html(d);return this},next:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.next();if(!d.length){d=b(this.$menu.find("li")[0])}d.addClass("active")},prev:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.prev();if(!d.length){d=this.$menu.find("li").last()}d.addClass("active")},listen:function(){this.$element.on("blur",b.proxy(this.blur,this)).on("keypress",b.proxy(this.keypress,this)).on("keyup",b.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",b.proxy(this.keydown,this))}this.$menu.on("click",b.proxy(this.click,this)).on("mouseenter","li",b.proxy(this.mouseenter,this))},eventSupported:function(d){var e=d in this.$element;if(!e){this.$element.setAttribute(d,"return;");e=typeof this.$element[d]==="function"}return e},move:function(d){if(!this.shown){return}switch(d.keyCode){case 9:case 13:case 27:d.preventDefault();break;case 38:d.preventDefault();this.prev();break;case 40:d.preventDefault();this.next();break}d.stopPropagation()},keydown:function(d){this.suppressKeyPressRepeat=~b.inArray(d.keyCode,[40,38,9,13,27]);this.move(d)},keypress:function(d){if(this.suppressKeyPressRepeat){return}this.move(d)},keyup:function(d){switch(d.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return}this.select();break;case 27:if(!this.shown){return}this.hide();break;default:this.lookup()}d.stopPropagation();d.preventDefault()},blur:function(f){var d=this;setTimeout(function(){d.hide()},150)},click:function(d){d.stopPropagation();d.preventDefault();this.select()},mouseenter:function(d){this.$menu.find(".active").removeClass("active");b(d.currentTarget).addClass("active")}};var a=b.fn.typeahead;b.fn.typeahead=function(d){return this.each(function(){var g=b(this),f=g.data("typeahead"),e=typeof d=="object"&&d;if(!f){g.data("typeahead",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1};b.fn.typeahead.Constructor=c;b.fn.typeahead.noConflict=function(){b.fn.typeahead=a;return this};b(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(f){var d=b(this);if(d.data("typeahead")){return}f.preventDefault();d.typeahead(d.data())})}(window.jQuery);!function(c){var b=function(e,d){this.options=c.extend({},c.fn.affix.defaults,d);this.$window=c(window).on("scroll.affix.data-api",c.proxy(this.checkPosition,this)).on("click.affix.data-api",c.proxy(function(){setTimeout(c.proxy(this.checkPosition,this),1)},this));this.$element=c(e);this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var h=c(document).height(),j=this.$window.scrollTop(),d=this.$element.offset(),k=this.options.offset,f=k.bottom,g=k.top,i="affix affix-top affix-bottom",e;if(typeof k!="object"){f=g=k}if(typeof g=="function"){g=k.top()}if(typeof f=="function"){f=k.bottom()}e=this.unpin!=null&&(j+this.unpin<=d.top)?false:f!=null&&(d.top+this.$element.height()>=h-f)?"bottom":g!=null&&j<=g?"top":false;if(this.affixed===e){return}this.affixed=e;this.unpin=e=="bottom"?d.top-j:null;this.$element.removeClass(i).addClass("affix"+(e?"-"+e:""))};var a=c.fn.affix;c.fn.affix=function(d){return this.each(function(){var g=c(this),f=g.data("affix"),e=typeof d=="object"&&d;if(!f){g.data("affix",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.affix.Constructor=b;c.fn.affix.defaults={offset:0};c.fn.affix.noConflict=function(){c.fn.affix=a;return this};c(window).on("load",function(){c('[data-spy="affix"]').each(function(){var e=c(this),d=e.data();d.offset=d.offset||{};d.offsetBottom&&(d.offset.bottom=d.offsetBottom);d.offsetTop&&(d.offset.top=d.offsetTop);e.affix(d)})})}(window.jQuery);var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;PL[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Project License
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+
+
Project License
+
+
The Apache Software License, Version 2.0
+
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/plugin-updates-report.html b/dependency-check-utils/plugin-updates-report.html
new file mode 100644
index 000000000..6f9e6e758
--- /dev/null
+++ b/dependency-check-utils/plugin-updates-report.html
@@ -0,0 +1,808 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - Plugin Updates Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Plugin Updates Report
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
This report summarizes newer versions that may be available for your project's various plugins.
+
+
+
+# of plugins using the latest version available
+7
+
+
+# of plugins where the next version available is smaller than an incremental version update
+1
+
+
+# of plugins where the next version available is an incremental version update
+0
+
+
+# of plugins where the next version available is a minor version update
+8
+
+
+# of plugins where the next version available is a major version update
+0
+
+
+# of plugins where a dependencies section containes a dependency with an updated version
+0
+
+
+
+
Plugin Updates
+
+
+
Plugin com.github.github:site-maven-plugin
+
+
+Status
+ No newer versions available.
+
+Group Id
+com.github.github
+
+Artifact Id
+site-maven-plugin
+
+Current Version
+0.9
+
+
Plugin org.apache.maven.plugins:maven-antrun-plugin
+
+
+Status
+ There is at least one newer minor version available. Minor updates are sometimes passive.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-antrun-plugin
+
+Current Version
+1.3
+
+Newer versions
+1.4 Next Minor 1.5 1.61.7 Latest Minor
+
+
Plugin org.apache.maven.plugins:maven-assembly-plugin
+
+
+Status
+ There is at least one newer version available.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-assembly-plugin
+
+Current Version
+2.2-beta-5
+
+Newer versions
+2.2 Next Version 2.2.1 Next Incremental 2.2.2 Latest Incremental 2.3 Next Minor 2.4 Latest Minor
+
+
Plugin org.apache.maven.plugins:maven-clean-plugin
+
+
+Status
+ There is at least one newer minor version available. Minor updates are sometimes passive.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-clean-plugin
+
+Current Version
+2.4.1
+
+Newer versions
+2.5 Next Minor
+
+
Plugin org.apache.maven.plugins:maven-compiler-plugin
+
+
+Status
+ No newer versions available.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-compiler-plugin
+
+Current Version
+3.1
+
+
Plugin org.apache.maven.plugins:maven-dependency-plugin
+
+
+Status
+ There is at least one newer minor version available. Minor updates are sometimes passive.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-dependency-plugin
+
+Current Version
+2.1
+
+Newer versions
+2.2 Next Minor 2.3 2.4 2.5 2.5.1 2.6 2.72.8 Latest Minor
+
+
Plugin org.apache.maven.plugins:maven-deploy-plugin
+
+
+Status
+ There is at least one newer minor version available. Minor updates are sometimes passive.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-deploy-plugin
+
+Current Version
+2.7
+
+Newer versions
+2.8 Next Minor 2.8.1 Latest Minor
+
+
Plugin org.apache.maven.plugins:maven-failsafe-plugin
+
+
+Status
+ No newer versions available.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-failsafe-plugin
+
+Current Version
+2.16
+
+
Plugin org.apache.maven.plugins:maven-install-plugin
+
+
+Status
+ There is at least one newer minor version available. Minor updates are sometimes passive.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-install-plugin
+
+Current Version
+2.3.1
+
+Newer versions
+2.4 Next Minor 2.52.5.1 Latest Minor
+
+
Plugin org.apache.maven.plugins:maven-jar-plugin
+
+
+Status
+ There is at least one newer minor version available. Minor updates are sometimes passive.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-jar-plugin
+
+Current Version
+2.3.2
+
+Newer versions
+2.4 Next Minor
+
+
Plugin org.apache.maven.plugins:maven-javadoc-plugin
+
+
+Status
+ No newer versions available.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-javadoc-plugin
+
+Current Version
+2.9.1
+
+
Plugin org.apache.maven.plugins:maven-release-plugin
+
+
+Status
+ There is at least one newer minor version available. Minor updates are sometimes passive.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-release-plugin
+
+Current Version
+2.0
+
+Newer versions
+2.1 Next Minor 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.4 2.4.12.4.2 Latest Minor
+
+
Plugin org.apache.maven.plugins:maven-resources-plugin
+
+
+Status
+ There is at least one newer minor version available. Minor updates are sometimes passive.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-resources-plugin
+
+Current Version
+2.5
+
+Newer versions
+2.6 Next Minor
+
+
Plugin org.apache.maven.plugins:maven-site-plugin
+
+
+Status
+ No newer versions available.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-site-plugin
+
+Current Version
+3.3
+
+
Dependencies of org.apache.maven.plugins:maven-site-plugin
+
+
+Status
+Group Id
+Artifact Id
+Current Version
+Classifier
+Type
+Next Version
+Next Incremental
+Next Minor
+Next Major
+
+
+org.apache.maven.doxia
+doxia-module-markdown
+1.5
+
+jar
+
+
+
+
+
+Status
+Group Id
+Artifact Id
+Current Version
+Classifier
+Type
+Next Version
+Next Incremental
+Next Minor
+Next Major
+
+
Dependency org.apache.maven.doxia:doxia-module-markdown
+
+
+Status
+ No newer versions available.
+
+Group Id
+org.apache.maven.doxia
+
+Artifact Id
+doxia-module-markdown
+
+Current Version
+1.5
+
+Classifier
+
+
+Type
+jar
+
+
Plugin org.apache.maven.plugins:maven-surefire-plugin
+
+
+Status
+ No newer versions available.
+
+Group Id
+org.apache.maven.plugins
+
+Artifact Id
+maven-surefire-plugin
+
+Current Version
+2.16
+
+
Plugin org.codehaus.mojo:cobertura-maven-plugin
+
+
+Status
+ No newer versions available.
+
+Group Id
+org.codehaus.mojo
+
+Artifact Id
+cobertura-maven-plugin
+
+Current Version
+2.6
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/pmd.html b/dependency-check-utils/pmd.html
new file mode 100644
index 000000000..345edc5d3
--- /dev/null
+++ b/dependency-check-utils/pmd.html
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - PMD Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ PMD Results
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
PMD Results
+
The following document contains the results of PMD 5.0.2.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/project-info.html b/dependency-check-utils/project-info.html
new file mode 100644
index 000000000..28854f943
--- /dev/null
+++ b/dependency-check-utils/project-info.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - Project Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Project Information
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Information
+
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
+
+
Overview
+
+
+Document
+Description
+
+About
+Dependency-check-utils a collection of common utlity classes used within dependency-check.
+
+Project Summary
+This document lists other related information of this project
+
+Project License
+This is a link to the definitions of project licenses.
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/project-reports.html b/dependency-check-utils/project-reports.html
new file mode 100644
index 000000000..1f4533d75
--- /dev/null
+++ b/dependency-check-utils/project-reports.html
@@ -0,0 +1,292 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - Generated Reports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Generated Reports
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Generated Reports
+
This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/project-summary.html b/dependency-check-utils/project-summary.html
new file mode 100644
index 000000000..02e5cb4ae
--- /dev/null
+++ b/dependency-check-utils/project-summary.html
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - Project Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Project Summary
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Summary
+
+
+
+
Build Information
+
+
+Field
+Value
+
+GroupId
+org.owasp
+
+ArtifactId
+dependency-check-utils
+
+Version
+1.2.3
+
+Type
+jar
+
+JDK Rev
+1.6
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/surefire-report.html b/dependency-check-utils/surefire-report.html
new file mode 100644
index 000000000..4865b0907
--- /dev/null
+++ b/dependency-check-utils/surefire-report.html
@@ -0,0 +1,409 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - Surefire Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Surefire Report
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Summary
+
[Summary ] [Package List ] [Test Cases ]
+
+
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+13
+0
+0
+0
+100%
+0.122
+
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
+
+
Package List
+
[Summary ] [Package List ] [Test Cases ]
+
+
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
+
+
org.owasp.dependencycheck.utils
+
+
+
+Class
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+
+DownloaderTest
+1
+0
+0
+0
+100%
+0.035
+
+
+FileUtilsTest
+2
+0
+0
+0
+100%
+0.086
+
+
+SettingsTest
+10
+0
+0
+0
+100%
+0.001
+
+
Test Cases
+
[Summary ] [Package List ] [Test Cases ]
+
+
DownloaderTest
+
+
+
+testGetLastModified_file
+0.035
+
+
FileUtilsTest
+
+
+
+testGetFileExtension
+0
+
+
+testDelete
+0.086
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/taglist.html b/dependency-check-utils/taglist.html
new file mode 100644
index 000000000..119daa42d
--- /dev/null
+++ b/dependency-check-utils/taglist.html
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+ dependency-check-ant - Tag List report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+ dependency-check
+ /
+
+ Tag List report
+
+
+
+ | Last Published: 2014-06-27
+
+ Version: 1.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tag List Report
+
The following document contains the listing of user tags found in the code. Below is the summary of the occurrences per tag.
+
+
+Tag Class
+Total number of occurrences
+Tag strings used by tag class
+
+Todo Work
+1
+todo, FIXME
+
Each tag is detailed below:
+
+
+
Number of occurrences found in the code: 1
+
+
+org.owasp.dependencycheck.utils.Downloader
+Line
+
+add the FTP protocol?
+163
+
+
+
+
+
+
+
+
+
+
Copyright © 2012–2014
+ OWASP .
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/allclasses-frame.html b/dependency-check-utils/xref-test/allclasses-frame.html
new file mode 100644
index 000000000..521cc0423
--- /dev/null
+++ b/dependency-check-utils/xref-test/allclasses-frame.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+ All Classes
+
+
+
+
+ All Classes
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/index.html b/dependency-check-utils/xref-test/index.html
new file mode 100644
index 000000000..edf73067c
--- /dev/null
+++ b/dependency-check-utils/xref-test/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference
+
+
+
+
+
+
+
+
+
+ Frame Alert
+
+ You don't have frames. Go here
+
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/BaseTest.html b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/BaseTest.html
new file mode 100644
index 000000000..f823a9d72
--- /dev/null
+++ b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/BaseTest.html
@@ -0,0 +1,49 @@
+
+
+
+BaseTest xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16 package org.owasp.dependencycheck.utils;
+17
+18 import org.junit.AfterClass;
+19 import org.junit.BeforeClass;
+20
+21
+22
+23
+24
+25 public class BaseTest {
+26
+27 @BeforeClass
+28 public static void setUpClass() throws Exception {
+29 Settings.initialize();
+30 }
+31
+32 @AfterClass
+33 public static void tearDownClass() throws Exception {
+34 Settings.cleanup(true );
+35 }
+36 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/DownloaderIntegrationTest.html b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/DownloaderIntegrationTest.html
new file mode 100644
index 000000000..acb7cedd5
--- /dev/null
+++ b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/DownloaderIntegrationTest.html
@@ -0,0 +1,67 @@
+
+
+
+DownloaderIntegrationTest xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.File;
+21 import java.net.URL;
+22 import static org.junit.Assert.assertTrue;
+23 import org.junit.Test;
+24
+25
+26
+27
+28
+29 public class DownloaderIntegrationTest extends BaseTest {
+30
+31
+32
+33
+34
+35
+36 @Test
+37 public void testFetchFile() throws Exception {
+38
+39
+40
+41
+42 URL url = new URL(Settings.getString(Settings.KEYS.CVE_MODIFIED_20_URL));
+43 File outputPath = new File("target/downloaded_cve.xml" );
+44 Downloader.fetchFile(url, outputPath);
+45
+46 }
+47
+48 @Test
+49 public void testGetLastModified() throws Exception {
+50 URL url = new URL("http://nvd.nist.gov/download/nvdcve-2012.xml" );
+51 long timestamp = Downloader.getLastModified(url);
+52 assertTrue("timestamp equal to zero?" , timestamp > 0);
+53 }
+54 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/DownloaderTest.html b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/DownloaderTest.html
new file mode 100644
index 000000000..0e99ae23c
--- /dev/null
+++ b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/DownloaderTest.html
@@ -0,0 +1,52 @@
+
+
+
+DownloaderTest xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.File;
+21 import java.net.URL;
+22 import static org.junit.Assert.assertTrue;
+23 import org.junit.Test;
+24 import org.owasp.dependencycheck.utils.Downloader;
+25
+26
+27
+28
+29
+30 public class DownloaderTest {
+31
+32 @Test
+33 public void testGetLastModified_file() throws Exception {
+34 File f = new File("target/test-classes/dependencycheck.properties" );
+35 URL url = new URL("file:///" + f.getCanonicalPath());
+36 long timestamp = Downloader.getLastModified(url);
+37 assertTrue("timestamp equal to zero?" , timestamp > 0);
+38 }
+39 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/FileUtilsTest.html b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/FileUtilsTest.html
new file mode 100644
index 000000000..04b792518
--- /dev/null
+++ b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/FileUtilsTest.html
@@ -0,0 +1,74 @@
+
+
+
+FileUtilsTest xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.File;
+21 import static org.junit.Assert.assertEquals;
+22 import static org.junit.Assert.assertFalse;
+23 import static org.junit.Assert.assertTrue;
+24 import static org.junit.Assert.fail;
+25 import org.junit.Test;
+26
+27
+28
+29
+30
+31 public class FileUtilsTest extends BaseTest {
+32
+33
+34
+35
+36 @Test
+37 public void testGetFileExtension() {
+38 String[] fileName = {"something-0.9.5.jar" , "lib2-1.1.js" };
+39 String[] expResult = {"jar" , "js" };
+40
+41 for (int i = 0; i < fileName.length; i++) {
+42 String result = FileUtils.getFileExtension(fileName[i]);
+43 assertEquals("Failed extraction on \"" + fileName[i] + "\"." , expResult[i], result);
+44 }
+45 }
+46
+47
+48
+49
+50 @Test
+51 public void testDelete() throws Exception {
+52
+53 File file = File.createTempFile("tmp" , "deleteme" , Settings.getTempDirectory());
+54 if (!file.exists()) {
+55 fail("Unable to create a temporary file." );
+56 }
+57 boolean status = FileUtils.delete(file);
+58 assertTrue("delete returned a failed status" , status);
+59 assertFalse("Temporary file exists after attempting deletion" , file.exists());
+60 }
+61 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/SettingsTest.html b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/SettingsTest.html
new file mode 100644
index 000000000..7d87f0e85
--- /dev/null
+++ b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/SettingsTest.html
@@ -0,0 +1,173 @@
+
+
+
+SettingsTest xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.File;
+21 import java.io.IOException;
+22 import java.net.URISyntaxException;
+23 import org.junit.Assert;
+24 import org.junit.Test;
+25
+26
+27
+28
+29
+30 public class SettingsTest extends BaseTest {
+31
+32
+33
+34
+35 @Test
+36 public void testGetString() {
+37 String key = Settings.KEYS.CVE_MODIFIED_VALID_FOR_DAYS;
+38 String expResult = "7" ;
+39 String result = Settings.getString(key);
+40 Assert.assertTrue(result.endsWith(expResult));
+41 }
+42
+43
+44
+45
+46 @Test
+47 public void testGetDataFile() throws IOException {
+48 String key = Settings.KEYS.DATA_DIRECTORY;
+49 String expResult = "data" ;
+50 File result = Settings.getDataFile(key);
+51 Assert.assertTrue(result.getAbsolutePath().endsWith(expResult));
+52 }
+53
+54
+55
+56
+57 @Test
+58 public void testMergeProperties_String() throws IOException, URISyntaxException {
+59 String key = Settings.KEYS.PROXY_PORT;
+60 String expResult = Settings.getString(key);
+61 File f = new File(this .getClass().getClassLoader().getResource("test.properties" ).toURI());
+62
+63 Settings.mergeProperties(f.getAbsolutePath());
+64 String result = Settings.getString(key);
+65 Assert.assertTrue("setting didn't change?" , (expResult == null && result != null ) || !expResult.equals(result));
+66 }
+67
+68
+69
+70
+71 @Test
+72 public void testSetString() {
+73 String key = "newProperty" ;
+74 String value = "someValue" ;
+75 Settings.setString(key, value);
+76 String expResults = Settings.getString(key);
+77 Assert.assertEquals(expResults, value);
+78 }
+79
+80
+81
+82
+83 @Test
+84 public void testGetString_String_String() {
+85 String key = "key That Doesn't Exist" ;
+86 String defaultValue = "blue bunny" ;
+87 String expResult = "blue bunny" ;
+88 String result = Settings.getString(key);
+89 Assert.assertTrue(result == null );
+90 result = Settings.getString(key, defaultValue);
+91 Assert.assertEquals(expResult, result);
+92 }
+93
+94
+95
+96
+97 @Test
+98 public void testGetString_String() {
+99 String key = Settings.KEYS.CONNECTION_TIMEOUT;
+100 String result = Settings.getString(key);
+101 Assert.assertTrue(result == null );
+102 }
+103
+104
+105
+106
+107 @Test
+108 public void testGetInt() throws InvalidSettingException {
+109 String key = "SomeNumber" ;
+110 int expResult = 85;
+111 Settings.setString(key, "85" );
+112 int result = Settings.getInt(key);
+113 Assert.assertEquals(expResult, result);
+114 }
+115
+116
+117
+118
+119 @Test
+120 public void testGetLong() throws InvalidSettingException {
+121 String key = "SomeNumber" ;
+122 long expResult = 300L;
+123 Settings.setString(key, "300" );
+124 long result = Settings.getLong(key);
+125 Assert.assertEquals(expResult, result);
+126 }
+127
+128
+129
+130
+131 @Test
+132 public void testGetBoolean() throws InvalidSettingException {
+133 String key = "SomeBoolean" ;
+134 Settings.setString(key, "false" );
+135 boolean expResult = false;
+136 boolean result = Settings.getBoolean(key);
+137 Assert.assertEquals(expResult, result);
+138
+139 key = "something that does not exist" ;
+140 expResult = true ;
+141 result = Settings.getBoolean(key, true );
+142 Assert.assertEquals(expResult, result);
+143 }
+144
+145
+146
+147
+148 @Test
+149 public void testRemoveProperty() {
+150 String key = "SomeKey" ;
+151 String value = "value" ;
+152 String dfault = "default" ;
+153 Settings.setString(key, value);
+154 String ret = Settings.getString(key);
+155 Assert.assertEquals(value, ret);
+156 Settings.removeProperty(key);
+157 ret = Settings.getString(key, dfault);
+158 Assert.assertEquals(dfault, ret);
+159 }
+160 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/package-frame.html b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/package-frame.html
new file mode 100644
index 000000000..08d657d39
--- /dev/null
+++ b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/package-frame.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference Package org.owasp.dependencycheck.utils
+
+
+
+
+
+
+ Classes
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/package-summary.html b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/package-summary.html
new file mode 100644
index 000000000..f62a4b463
--- /dev/null
+++ b/dependency-check-utils/xref-test/org/owasp/dependencycheck/utils/package-summary.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference Package org.owasp.dependencycheck.utils
+
+
+
+
+
+
+ Package org.owasp.dependencycheck.utils
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-utils/xref-test/overview-frame.html b/dependency-check-utils/xref-test/overview-frame.html
new file mode 100644
index 000000000..417872212
--- /dev/null
+++ b/dependency-check-utils/xref-test/overview-frame.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference
+
+
+
+
+
+
+ Packages
+
+
+
+
+
+
diff --git a/dependency-check-utils/xref-test/overview-summary.html b/dependency-check-utils/xref-test/overview-summary.html
new file mode 100644
index 000000000..f2c688420
--- /dev/null
+++ b/dependency-check-utils/xref-test/overview-summary.html
@@ -0,0 +1,66 @@
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference
+
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-utils/xref-test/stylesheet.css b/dependency-check-utils/xref-test/stylesheet.css
new file mode 100644
index 000000000..89732f81d
--- /dev/null
+++ b/dependency-check-utils/xref-test/stylesheet.css
@@ -0,0 +1,114 @@
+/* Javadoc style sheet */
+/* Define colors, fonts and other style attributes here to override the defaults */
+body {
+ background-color: #fff;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+a:link {
+ color: #00f;
+}
+a:visited {
+ color: #00a;
+}
+
+a:active, a:hover {
+ color: #f30 !important;
+}
+
+ul, li {
+ list-style-type:none;
+ margin:0;
+ padding:0;
+}
+
+table td {
+ padding: 3px;
+ border: 1px solid #000;
+}
+table {
+ width:100%;
+ border: 1px solid #000;
+ border-collapse: collapse;
+}
+
+div.overview {
+ background-color:#ddd;
+ padding: 4px 4px 4px 0;
+}
+div.overview li, div.framenoframe li {
+ display: inline;
+}
+div.framenoframe {
+ text-align: center;
+ font-size: x-small;
+}
+div.framenoframe li {
+ margin: 0 3px 0 3px;
+}
+div.overview li {
+ margin:3px 3px 0 3px;
+ padding: 4px;
+}
+li.selected {
+ background-color:#888;
+ color: #fff;
+ font-weight: bold;
+}
+
+table.summary {
+ margin-bottom: 20px;
+}
+table.summary td, table.summary th {
+ font-weight: bold;
+ text-align: left;
+ padding: 3px;
+}
+table.summary th {
+ background-color:#036;
+ color: #fff;
+}
+table.summary td {
+ background-color:#eee;
+ border: 1px solid black;
+}
+
+em {
+ color: #A00;
+}
+em.comment {
+ color: #390;
+}
+.string {
+ color: #009;
+}
+
+#overview {
+ padding:2px;
+}
+
+hr {
+ height: 1px;
+ color: #000;
+}
+
+/* JXR style sheet */
+.jxr_comment
+{
+ color: #390;
+}
+
+.jxr_javadoccomment
+{
+ color: #A00;
+}
+
+.jxr_string
+{
+ color: #009;
+}
+
+.jxr_keyword
+{
+ color: #000;
+}
diff --git a/dependency-check-utils/xref/allclasses-frame.html b/dependency-check-utils/xref/allclasses-frame.html
new file mode 100644
index 000000000..d9947e2dd
--- /dev/null
+++ b/dependency-check-utils/xref/allclasses-frame.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+ All Classes
+
+
+
+
+ All Classes
+
+
+
+
+
diff --git a/dependency-check-utils/xref/index.html b/dependency-check-utils/xref/index.html
new file mode 100644
index 000000000..edf73067c
--- /dev/null
+++ b/dependency-check-utils/xref/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference
+
+
+
+
+
+
+
+
+
+ Frame Alert
+
+ You don't have frames. Go here
+
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/DownloadFailedException.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/DownloadFailedException.html
new file mode 100644
index 000000000..fcca2f49d
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/DownloadFailedException.html
@@ -0,0 +1,81 @@
+
+
+
+DownloadFailedException xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.IOException;
+21
+22
+23
+24
+25
+26
+27 public class DownloadFailedException extends IOException {
+28
+29
+30
+31
+32 private static final long serialVersionUID = 1L;
+33
+34
+35
+36
+37 public DownloadFailedException () {
+38 super ();
+39 }
+40
+41
+42
+43
+44
+45
+46 public DownloadFailedException (String msg) {
+47 super (msg);
+48 }
+49
+50
+51
+52
+53
+54
+55 public DownloadFailedException (Throwable ex) {
+56 super (ex);
+57 }
+58
+59
+60
+61
+62
+63
+64
+65 public DownloadFailedException (String msg, Throwable ex) {
+66 super (msg, ex);
+67 }
+68 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/Downloader.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/Downloader.html
new file mode 100644
index 000000000..7043396eb
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/Downloader.html
@@ -0,0 +1,214 @@
+
+
+
+Downloader xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.BufferedOutputStream;
+21 import java.io.File;
+22 import java.io.FileOutputStream;
+23 import java.io.IOException;
+24 import java.io.InputStream;
+25 import java.net.HttpURLConnection;
+26 import java.net.URISyntaxException;
+27 import java.net.URL;
+28 import java.util.logging.Level;
+29 import java.util.logging.Logger;
+30 import java.util.zip.GZIPInputStream;
+31 import java.util.zip.InflaterInputStream;
+32
+33
+34
+35
+36
+37
+38 public final class Downloader {
+39
+40
+41
+42
+43 private static final Logger LOGGER = Logger.getLogger(Downloader.class .getName());
+44
+45
+46
+47
+48 private Downloader () {
+49 }
+50
+51
+52
+53
+54
+55
+56
+57
+58 public static void fetchFile(URL url, File outputPath) throws DownloadFailedException {
+59 fetchFile(url, outputPath, true );
+60 }
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70 public static void fetchFile(URL url, File outputPath, boolean useProxy) throws DownloadFailedException {
+71 if ("file" .equalsIgnoreCase(url.getProtocol())) {
+72 File file;
+73 try {
+74 file = new File(url.toURI());
+75 } catch (URISyntaxException ex) {
+76 final String msg = String.format("Download failed, unable to locate '%s'" , url.toString());
+77 throw new DownloadFailedException (msg);
+78 }
+79 if (file.exists()) {
+80 try {
+81 org.apache.commons.io.FileUtils.copyFile(file, outputPath);
+82 } catch (IOException ex) {
+83 final String msg = String.format("Download failed, unable to copy '%s'" , url.toString());
+84 throw new DownloadFailedException (msg);
+85 }
+86 } else {
+87 final String msg = String.format("Download failed, file does not exist '%s'" , url.toString());
+88 throw new DownloadFailedException (msg);
+89 }
+90 } else {
+91 HttpURLConnection conn = null ;
+92 try {
+93 conn = URLConnectionFactory.createHttpURLConnection(url, useProxy);
+94 conn.setRequestProperty("Accept-Encoding" , "gzip, deflate" );
+95 conn.connect();
+96 } catch (IOException ex) {
+97 try {
+98 if (conn != null ) {
+99 conn.disconnect();
+100 }
+101 } finally {
+102 conn = null ;
+103 }
+104 throw new DownloadFailedException ("Error downloading file." , ex);
+105 }
+106 final String encoding = conn.getContentEncoding();
+107
+108 BufferedOutputStream writer = null ;
+109 InputStream reader = null ;
+110 try {
+111 if (encoding != null && "gzip" .equalsIgnoreCase(encoding)) {
+112 reader = new GZIPInputStream(conn.getInputStream());
+113 } else if (encoding != null && "deflate" .equalsIgnoreCase(encoding)) {
+114 reader = new InflaterInputStream(conn.getInputStream());
+115 } else {
+116 reader = conn.getInputStream();
+117 }
+118
+119 writer = new BufferedOutputStream(new FileOutputStream(outputPath));
+120 final byte[] buffer = new byte[4096];
+121 int bytesRead;
+122 while ((bytesRead = reader.read(buffer)) > 0) {
+123 writer.write(buffer, 0, bytesRead);
+124 }
+125 } catch (Throwable ex) {
+126 throw new DownloadFailedException ("Error saving downloaded file." , ex);
+127 } finally {
+128 if (writer != null ) {
+129 try {
+130 writer.close();
+131 } catch (Throwable ex) {
+132 LOGGER.log(Level.FINEST,
+133 "Error closing the writer in Downloader." , ex);
+134 }
+135 }
+136 if (reader != null ) {
+137 try {
+138 reader.close();
+139 } catch (Throwable ex) {
+140 LOGGER.log(Level.FINEST,
+141 "Error closing the reader in Downloader." , ex);
+142 }
+143 }
+144 try {
+145 conn.disconnect();
+146 } finally {
+147 conn = null ;
+148 }
+149 }
+150 }
+151 }
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161 public static long getLastModified(URL url) throws DownloadFailedException {
+162 long timestamp = 0;
+163
+164 if ("file" .equalsIgnoreCase(url.getProtocol())) {
+165 File lastModifiedFile;
+166 try {
+167 lastModifiedFile = new File(url.toURI());
+168 } catch (URISyntaxException ex) {
+169 final String msg = String.format("Unable to locate '%s'" , url.toString());
+170 throw new DownloadFailedException (msg);
+171 }
+172 timestamp = lastModifiedFile.lastModified();
+173 } else {
+174 HttpURLConnection conn = null ;
+175 try {
+176 conn = URLConnectionFactory.createHttpURLConnection(url);
+177 conn.setRequestMethod("HEAD" );
+178 conn.connect();
+179 final int t = conn.getResponseCode();
+180 if (t >= 200 && t < 300) {
+181 timestamp = conn.getLastModified();
+182 } else {
+183 throw new DownloadFailedException ("HEAD request returned a non-200 status code" );
+184 }
+185 } catch (URLConnectionFailureException ex) {
+186 throw new DownloadFailedException ("Error creating URL Connection for HTTP HEAD request." , ex);
+187 } catch (IOException ex) {
+188 throw new DownloadFailedException ("Error making HTTP HEAD request." , ex);
+189 } finally {
+190 if (conn != null ) {
+191 try {
+192 conn.disconnect();
+193 } finally {
+194 conn = null ;
+195 }
+196 }
+197 }
+198 }
+199 return timestamp;
+200 }
+201 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/ExtractionException.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/ExtractionException.html
new file mode 100644
index 000000000..a8942e462
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/ExtractionException.html
@@ -0,0 +1,81 @@
+
+
+
+ExtractionException xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.IOException;
+21
+22
+23
+24
+25
+26
+27 public class ExtractionException extends IOException {
+28
+29
+30
+31
+32 private static final long serialVersionUID = 1L;
+33
+34
+35
+36
+37 public ExtractionException () {
+38 super ();
+39 }
+40
+41
+42
+43
+44
+45
+46 public ExtractionException (String msg) {
+47 super (msg);
+48 }
+49
+50
+51
+52
+53
+54
+55 public ExtractionException (Throwable ex) {
+56 super (ex);
+57 }
+58
+59
+60
+61
+62
+63
+64
+65 public ExtractionException (String msg, Throwable ex) {
+66 super (msg, ex);
+67 }
+68 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/FileUtils.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/FileUtils.html
new file mode 100644
index 000000000..1b06f62aa
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/FileUtils.html
@@ -0,0 +1,170 @@
+
+
+
+FileUtils xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.File;
+21 import java.io.IOException;
+22 import java.io.UnsupportedEncodingException;
+23 import java.net.URLDecoder;
+24 import java.util.UUID;
+25 import java.util.logging.Level;
+26 import java.util.logging.Logger;
+27
+28
+29
+30
+31
+32
+33 public final class FileUtils {
+34
+35
+36
+37
+38 private static final Logger LOGGER = Logger.getLogger(FileUtils.class .getName());
+39
+40
+41
+42 private static final String BIT_BUCKET_UNIX = "/dev/null" ;
+43
+44
+45
+46
+47 private static final String BIT_BUCKET_WIN = "NUL" ;
+48
+49
+50
+51
+52 private FileUtils () {
+53 }
+54
+55
+56
+57
+58
+59
+60
+61 public static String getFileExtension(String fileName) {
+62 String ret = null ;
+63 final int pos = fileName.lastIndexOf("." );
+64 if (pos >= 0) {
+65 ret = fileName.substring(pos + 1, fileName.length()).toLowerCase();
+66 }
+67 return ret;
+68 }
+69
+70
+71
+72
+73
+74
+75
+76 public static boolean delete(File file) {
+77 boolean success = true ;
+78 if (!org.apache.commons.io.FileUtils.deleteQuietly(file)) {
+79 success = false;
+80 final String msg = String.format("Failed to delete file: %s; attempting to delete on exit." , file.getPath());
+81 LOGGER.log(Level.FINE, msg);
+82 file.deleteOnExit();
+83 }
+84 return success;
+85 }
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95 public static File getTempFile(String prefix, String extension) throws IOException {
+96 final File dir = Settings.getTempDirectory();
+97 final String tempFileName = String.format("%s%s.%s" , prefix, UUID.randomUUID().toString(), extension);
+98 final File tempFile = new File(dir, tempFileName);
+99 if (tempFile.exists()) {
+100 return getTempFile(prefix, extension);
+101 }
+102 return tempFile;
+103 }
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117 @java.lang.Deprecated
+118 public static File getDataDirectory(String configuredFilePath, Class clazz) throws IOException {
+119 final File file = new File(configuredFilePath);
+120 if (file.isDirectory() && file.canWrite()) {
+121 return new File(file.getCanonicalPath());
+122 } else {
+123 final File exePath = getPathToJar(clazz);
+124 return new File(exePath, configuredFilePath);
+125 }
+126 }
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137 @java.lang.Deprecated
+138 public static File getPathToJar(Class clazz) throws UnsupportedEncodingException {
+139 final String filePath = clazz.getProtectionDomain().getCodeSource().getLocation().getPath();
+140 final String decodedPath = URLDecoder.decode(filePath, "UTF-8" );
+141 final File jarPath = new File(decodedPath);
+142 return jarPath.getParentFile();
+143 }
+144
+145
+146
+147
+148
+149
+150 public static String getBitBucket() {
+151 if (System.getProperty("os.name" ).startsWith("Windows" )) {
+152 return BIT_BUCKET_WIN;
+153 } else {
+154 return BIT_BUCKET_UNIX;
+155 }
+156 }
+157 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/InvalidSettingException.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/InvalidSettingException.html
new file mode 100644
index 000000000..89f6f668f
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/InvalidSettingException.html
@@ -0,0 +1,81 @@
+
+
+
+InvalidSettingException xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.IOException;
+21
+22
+23
+24
+25
+26
+27 public class InvalidSettingException extends IOException {
+28
+29
+30
+31
+32 private static final long serialVersionUID = 1L;
+33
+34
+35
+36
+37 public InvalidSettingException () {
+38 super ();
+39 }
+40
+41
+42
+43
+44
+45
+46 public InvalidSettingException (String msg) {
+47 super (msg);
+48 }
+49
+50
+51
+52
+53
+54
+55 public InvalidSettingException (Throwable ex) {
+56 super (ex);
+57 }
+58
+59
+60
+61
+62
+63
+64
+65 public InvalidSettingException (String msg, Throwable ex) {
+66 super (msg, ex);
+67 }
+68 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/LogFilter.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/LogFilter.html
new file mode 100644
index 000000000..8a5cdb897
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/LogFilter.html
@@ -0,0 +1,55 @@
+
+
+
+LogFilter xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.util.logging.Filter;
+21 import java.util.logging.LogRecord;
+22
+23
+24
+25
+26
+27
+28
+29 public class LogFilter implements Filter {
+30
+31
+32
+33
+34
+35
+36
+37 @Override
+38 public boolean isLoggable(LogRecord record) {
+39 final String name = record.getSourceClassName();
+40 return name.startsWith("org.owasp.dependencycheck" ) && !name.contains("generated" ) && !name.contains("VelocityLoggerRedirect" );
+41 }
+42 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/LogUtils.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/LogUtils.html
new file mode 100644
index 000000000..6cf8760b3
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/LogUtils.html
@@ -0,0 +1,106 @@
+
+
+
+LogUtils xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.IOException;
+21 import java.io.InputStream;
+22 import java.util.logging.FileHandler;
+23 import java.util.logging.Level;
+24 import java.util.logging.LogManager;
+25 import java.util.logging.Logger;
+26 import java.util.logging.SimpleFormatter;
+27
+28
+29
+30
+31
+32
+33 public final class LogUtils {
+34
+35
+36
+37
+38 private static final Logger LOGGER = Logger.getLogger(LogUtils.class .getName());
+39
+40
+41
+42
+43 private LogUtils () {
+44 }
+45
+46
+47
+48
+49
+50
+51
+52 public static void prepareLogger(InputStream in, String verboseLogFile) {
+53 try {
+54 LogManager.getLogManager().reset();
+55 LogManager.getLogManager().readConfiguration(in);
+56 if (verboseLogFile != null && !verboseLogFile.isEmpty()) {
+57 verboseLoggingEnabled = true ;
+58 final Logger logger = Logger.getLogger("" );
+59 final FileHandler handler = new FileHandler(verboseLogFile, true );
+60 handler.setFormatter(new SimpleFormatter());
+61 handler.setLevel(Level.FINE);
+62 handler.setFilter(new LogFilter ());
+63 logger.addHandler(handler);
+64 logger.setLevel(Level.FINE);
+65 }
+66 } catch (IOException ex) {
+67 LOGGER.log(Level.FINE, "IO Error preparing the logger" , ex);
+68 } catch (SecurityException ex) {
+69 LOGGER.log(Level.FINE, "Error preparing the logger" , ex);
+70 } finally {
+71 if (in != null ) {
+72 try {
+73 in.close();
+74 } catch (Throwable ex) {
+75 LOGGER.log(Level.FINEST, "Error closing resource stream" , ex);
+76 }
+77 }
+78 }
+79 }
+80
+81
+82
+83 private static boolean verboseLoggingEnabled = false;
+84
+85
+86
+87
+88
+89
+90 public static boolean isVerboseLoggingEnabled() {
+91 return verboseLoggingEnabled;
+92 }
+93 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/Settings.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/Settings.html
new file mode 100644
index 000000000..b560f62a8
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/Settings.html
@@ -0,0 +1,657 @@
+
+
+
+Settings xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.File;
+21 import java.io.FileInputStream;
+22 import java.io.FileNotFoundException;
+23 import java.io.IOException;
+24 import java.io.InputStream;
+25 import java.io.PrintWriter;
+26 import java.io.StringWriter;
+27 import java.io.UnsupportedEncodingException;
+28 import java.net.URLDecoder;
+29 import java.util.Enumeration;
+30 import java.util.Properties;
+31 import java.util.logging.Level;
+32 import java.util.logging.Logger;
+33
+34
+35
+36
+37
+38
+39 public final class Settings {
+40
+41
+42
+43
+44
+45 public static final class KEYS {
+46
+47
+48
+49
+50 private KEYS () {
+51
+52 }
+53
+54
+55
+56 public static final String AUTO_UPDATE = "autoupdate" ;
+57
+58
+59
+60 public static final String DB_DRIVER_NAME = "data.driver_name" ;
+61
+62
+63
+64 public static final String DB_DRIVER_PATH = "data.driver_path" ;
+65
+66
+67
+68 public static final String DB_CONNECTION_STRING = "data.connection_string" ;
+69
+70
+71
+72 public static final String DB_USER = "data.user" ;
+73
+74
+75
+76 public static final String DB_PASSWORD = "data.password" ;
+77
+78
+79
+80 public static final String DATA_DIRECTORY = "data.directory" ;
+81
+82
+83
+84 public static final String CVE_META_URL = "cve.url.meta" ;
+85
+86
+87
+88
+89 public static final String CVE_MODIFIED_20_URL = "cve.url-2.0.modified" ;
+90
+91
+92
+93
+94 public static final String CVE_MODIFIED_12_URL = "cve.url-1.2.modified" ;
+95
+96
+97
+98 public static final String CVE_MODIFIED_VALID_FOR_DAYS = "cve.url.modified.validfordays" ;
+99
+100
+101
+102
+103 public static final String CVE_START_YEAR = "cve.startyear" ;
+104
+105
+106
+107 public static final String CVE_SCHEMA_1_2 = "cve.url-1.2.base" ;
+108
+109
+110
+111 public static final String CVE_SCHEMA_2_0 = "cve.url-2.0.base" ;
+112
+113
+114
+115
+116
+117 @Deprecated
+118 public static final String PROXY_URL = "proxy.server" ;
+119
+120
+121
+122 public static final String PROXY_SERVER = "proxy.server" ;
+123
+124
+125
+126 public static final String PROXY_PORT = "proxy.port" ;
+127
+128
+129
+130 public static final String PROXY_USERNAME = "proxy.username" ;
+131
+132
+133
+134 public static final String PROXY_PASSWORD = "proxy.password" ;
+135
+136
+137
+138 public static final String CONNECTION_TIMEOUT = "connection.timeout" ;
+139
+140
+141
+142 public static final String TEMP_DIRECTORY = "temp.directory" ;
+143
+144
+145
+146 public static final String MAX_DOWNLOAD_THREAD_POOL_SIZE = "max.download.threads" ;
+147
+148
+149
+150 public static final String SUPPRESSION_FILE = "suppression.file" ;
+151
+152
+153
+154 public static final String ANALYZER_JAR_ENABLED = "analyzer.jar.enabled" ;
+155
+156
+157
+158 public static final String ANALYZER_ARCHIVE_ENABLED = "analyzer.archive.enabled" ;
+159
+160
+161
+162 public static final String ANALYZER_ASSEMBLY_ENABLED = "analyzer.assembly.enabled" ;
+163
+164
+165
+166 public static final String ANALYZER_NUSPEC_ENABLED = "analyzer.nuspec.enabled" ;
+167
+168
+169
+170 public static final String ANALYZER_JAVASCRIPT_ENABLED = "analyzer.javascript.enabled" ;
+171
+172
+173
+174 public static final String ANALYZER_NEXUS_ENABLED = "analyzer.nexus.enabled" ;
+175
+176
+177
+178 public static final String ANALYZER_NEXUS_URL = "analyzer.nexus.url" ;
+179
+180
+181
+182 public static final String ANALYZER_NEXUS_PROXY = "analyzer.nexus.proxy" ;
+183
+184
+185
+186 public static final String ANALYZER_ASSEMBLY_MONO_PATH = "analyzer.assembly.mono.path" ;
+187
+188
+189
+190 public static final String ADDITIONAL_ZIP_EXTENSIONS = "extensions.zip" ;
+191
+192
+193
+194 public static final String SKIP_TEST_SCOPE = "skip.test.scope" ;
+195
+196
+197
+198 public static final String SKIP_RUNTIME_SCOPE = "skip.runtime.scope" ;
+199
+200
+201
+202 public static final String SKIP_PROVIDED_SCOPE = "skip.provided.scope" ;
+203 }
+204
+205
+206
+207
+208
+209 private static final Logger LOGGER = Logger.getLogger(Settings.class .getName());
+210
+211
+212
+213 private static final String PROPERTIES_FILE = "dependencycheck.properties" ;
+214
+215
+216
+217 private static ThreadLocal<Settings> localSettings = new ThreadLocal();
+218
+219
+220
+221 private Properties props = null ;
+222
+223
+224
+225
+226
+227
+228 private Settings (String propertiesFilePath) {
+229 InputStream in = null ;
+230 props = new Properties();
+231 try {
+232 in = this .getClass().getClassLoader().getResourceAsStream(propertiesFilePath);
+233 props.load(in);
+234 } catch (IOException ex) {
+235 LOGGER.log(Level.SEVERE, "Unable to load default settings." );
+236 LOGGER.log(Level.FINE, null , ex);
+237 } finally {
+238 if (in != null ) {
+239 try {
+240 in.close();
+241 } catch (IOException ex) {
+242 LOGGER.log(Level.FINEST, null , ex);
+243 }
+244 }
+245 }
+246 logProperties("Properties loaded" , props);
+247 }
+248
+249
+250
+251
+252
+253 public static void initialize() {
+254 localSettings.set(new Settings (PROPERTIES_FILE));
+255 }
+256
+257
+258
+259
+260
+261
+262
+263 public static void initialize(String propertiesFilePath) {
+264 localSettings.set(new Settings (propertiesFilePath));
+265 }
+266
+267
+268
+269
+270
+271 public static void cleanup() {
+272 cleanup(true );
+273 }
+274
+275
+276
+277
+278
+279
+280 public static void cleanup(boolean deleteTemporary) {
+281 if (deleteTemporary && tempDirectory != null && tempDirectory.exists()) {
+282 FileUtils.delete(tempDirectory);
+283 }
+284 try {
+285 localSettings.remove();
+286 } catch (Throwable ex) {
+287 LOGGER.log(Level.FINE, "Error cleaning up Settings" , ex);
+288 }
+289 }
+290
+291
+292
+293
+294
+295
+296 public static Settings getInstance() {
+297 return localSettings.get();
+298 }
+299
+300
+301
+302
+303
+304
+305 public static void setInstance(Settings instance) {
+306 localSettings.set(instance);
+307 }
+308
+309
+310
+311
+312
+313
+314
+315 private static void logProperties(String header, Properties properties) {
+316 if (LOGGER.isLoggable(Level.FINE)) {
+317 final StringWriter sw = new StringWriter();
+318 PrintWriter pw = null ;
+319 try {
+320 pw = new PrintWriter(sw);
+321 pw.format("%s:%n%n" , header);
+322 final Enumeration e = properties.propertyNames();
+323 while (e.hasMoreElements()) {
+324 final String key = (String) e.nextElement();
+325 if (key.contains("password" )) {
+326 pw.format("%s='*****'%n" , key);
+327 } else {
+328 final String value = properties.getProperty(key);
+329 if (value != null ) {
+330 pw.format("%s='%s'%n" , key, value);
+331 }
+332 }
+333 }
+334 pw.flush();
+335 LOGGER.fine(sw.toString());
+336 } finally {
+337 if (pw != null ) {
+338 pw.close();
+339 }
+340 }
+341
+342 }
+343 }
+344
+345
+346
+347
+348
+349
+350
+351 public static void setString(String key, String value) {
+352 localSettings.get().props.setProperty(key, value);
+353 if (LOGGER.isLoggable(Level.FINE)) {
+354 LOGGER.fine(String.format("Setting: %s='%s'" , key, value));
+355 }
+356 }
+357
+358
+359
+360
+361
+362
+363
+364 public static void setBoolean(String key, boolean value) {
+365 if (value) {
+366 localSettings.get().props.setProperty(key, Boolean.TRUE.toString());
+367 } else {
+368 localSettings.get().props.setProperty(key, Boolean.FALSE.toString());
+369 }
+370 if (LOGGER.isLoggable(Level.FINE)) {
+371 LOGGER.fine(String.format("Setting: %s='%b'" , key, value));
+372 }
+373 }
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384 public static void mergeProperties(File filePath) throws FileNotFoundException, IOException {
+385 final FileInputStream fis = new FileInputStream(filePath);
+386 mergeProperties(fis);
+387 }
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398 public static void mergeProperties(String filePath) throws FileNotFoundException, IOException {
+399 final FileInputStream fis = new FileInputStream(filePath);
+400 mergeProperties(fis);
+401 }
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411 public static void mergeProperties(InputStream stream) throws IOException {
+412 localSettings.get().props.load(stream);
+413 logProperties("Properties updated via merge" , localSettings.get().props);
+414 }
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424 public static File getFile(String key) {
+425 final String file = getString(key);
+426 if (file == null ) {
+427 return null ;
+428 }
+429 return new File(file);
+430 }
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444 public static File getDataFile(String key) {
+445 final String file = getString(key);
+446 LOGGER.log(Level.FINE, String.format("Settings.getDataFile() - file: '%s'" , file));
+447 if (file == null ) {
+448 return null ;
+449 }
+450 if (file.startsWith("[JAR]" )) {
+451 LOGGER.log(Level.FINE, "Settings.getDataFile() - transforming filename" );
+452 final File jarPath = getJarPath();
+453 LOGGER.log(Level.FINE, String.format("Settings.getDataFile() - jar file: '%s'" , jarPath.toString()));
+454 final File retVal = new File(jarPath, file.substring(6));
+455 LOGGER.log(Level.FINE, String.format("Settings.getDataFile() - returning: '%s'" , retVal.toString()));
+456 return retVal;
+457 }
+458 return new File(file);
+459 }
+460
+461
+462
+463
+464
+465
+466 private static File getJarPath() {
+467 final String jarPath = Settings.class .getProtectionDomain().getCodeSource().getLocation().getPath();
+468 String decodedPath = "." ;
+469 try {
+470 decodedPath = URLDecoder.decode(jarPath, "UTF-8" );
+471 } catch (UnsupportedEncodingException ex) {
+472 LOGGER.log(Level.FINEST, null , ex);
+473 }
+474
+475 final File path = new File(decodedPath);
+476 if (path.getName().toLowerCase().endsWith(".jar" )) {
+477 return path.getParentFile();
+478 } else {
+479 return new File("." );
+480 }
+481 }
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492 public static String getString(String key, String defaultValue) {
+493 final String str = System.getProperty(key, localSettings.get().props.getProperty(key, defaultValue));
+494 return str;
+495 }
+496
+497
+498
+499
+500 private static File tempDirectory = null ;
+501
+502
+503
+504
+505
+506
+507
+508 public static File getTempDirectory() throws IOException {
+509 final File tmpDir = new File(Settings.getString(Settings.KEYS.TEMP_DIRECTORY, System.getProperty("java.io.tmpdir" )));
+510 if (!tmpDir.exists()) {
+511 if (!tmpDir.mkdirs()) {
+512 final String msg = String.format("Unable to make a temporary folder '%s'" , tmpDir.getPath());
+513 throw new IOException(msg);
+514 } else {
+515 tempDirectory = tmpDir;
+516 }
+517 }
+518 return tmpDir;
+519 }
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529 public static String getString(String key) {
+530 return System.getProperty(key, localSettings.get().props.getProperty(key));
+531 }
+532
+533
+534
+535
+536
+537
+538 public static void removeProperty(String key) {
+539 localSettings.get().props.remove(key);
+540 }
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551 public static int getInt(String key) throws InvalidSettingException {
+552 int value;
+553 try {
+554 value = Integer.parseInt(Settings.getString(key));
+555 } catch (NumberFormatException ex) {
+556 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
+557 }
+558 return value;
+559 }
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571 public static int getInt(String key, int defaultValue) {
+572 int value;
+573 try {
+574 value = Integer.parseInt(Settings.getString(key));
+575 } catch (NumberFormatException ex) {
+576 final String msg = String.format("Could not convert property '%s' to an int." , key);
+577 LOGGER.log(Level.FINEST, msg, ex);
+578 value = defaultValue;
+579 }
+580 return value;
+581 }
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592 public static long getLong(String key) throws InvalidSettingException {
+593 long value;
+594 try {
+595 value = Long.parseLong(Settings.getString(key));
+596 } catch (NumberFormatException ex) {
+597 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
+598 }
+599 return value;
+600 }
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611 public static boolean getBoolean(String key) throws InvalidSettingException {
+612 boolean value;
+613 try {
+614 value = Boolean.parseBoolean(Settings.getString(key));
+615 } catch (NumberFormatException ex) {
+616 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
+617 }
+618 return value;
+619 }
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631 public static boolean getBoolean(String key, boolean defaultValue) throws InvalidSettingException {
+632 boolean value;
+633 try {
+634 final String strValue = Settings.getString(key);
+635 if (strValue == null ) {
+636 return defaultValue;
+637 }
+638 value = Boolean.parseBoolean(strValue);
+639 } catch (NumberFormatException ex) {
+640 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
+641 }
+642 return value;
+643 }
+644 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/URLConnectionFactory.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/URLConnectionFactory.html
new file mode 100644
index 000000000..8377026fc
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/URLConnectionFactory.html
@@ -0,0 +1,131 @@
+
+
+
+URLConnectionFactory xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.IOException;
+21 import java.net.Authenticator;
+22 import java.net.HttpURLConnection;
+23 import java.net.InetSocketAddress;
+24 import java.net.PasswordAuthentication;
+25 import java.net.Proxy;
+26 import java.net.SocketAddress;
+27 import java.net.URL;
+28
+29
+30
+31
+32
+33
+34
+35 public final class URLConnectionFactory {
+36
+37
+38
+39
+40 private URLConnectionFactory () {
+41 }
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51 public static HttpURLConnection createHttpURLConnection(URL url) throws URLConnectionFailureException {
+52 HttpURLConnection conn = null ;
+53 Proxy proxy = null ;
+54 final String proxyUrl = Settings.getString(Settings.KEYS.PROXY_SERVER);
+55 try {
+56 if (proxyUrl != null ) {
+57 final int proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);
+58 final SocketAddress address = new InetSocketAddress(proxyUrl, proxyPort);
+59
+60 final String username = Settings.getString(Settings.KEYS.PROXY_USERNAME);
+61 final String password = Settings.getString(Settings.KEYS.PROXY_PASSWORD);
+62 if (username != null && password != null ) {
+63 final Authenticator auth = new Authenticator() {
+64 @Override
+65 public PasswordAuthentication getPasswordAuthentication() {
+66 if (getRequestorType().equals(Authenticator.RequestorType.PROXY)) {
+67 return new PasswordAuthentication(username, password.toCharArray());
+68 }
+69 return super .getPasswordAuthentication();
+70 }
+71 };
+72 Authenticator.setDefault(auth);
+73 }
+74
+75 proxy = new Proxy(Proxy.Type.HTTP, address);
+76 conn = (HttpURLConnection) url.openConnection(proxy);
+77 } else {
+78 conn = (HttpURLConnection) url.openConnection();
+79 }
+80 final int timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 60000);
+81 conn.setConnectTimeout(timeout);
+82 } catch (IOException ex) {
+83 if (conn != null ) {
+84 try {
+85 conn.disconnect();
+86 } finally {
+87 conn = null ;
+88 }
+89 }
+90 throw new URLConnectionFailureException ("Error getting connection." , ex);
+91 }
+92 return conn;
+93 }
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104 public static HttpURLConnection createHttpURLConnection(URL url, boolean proxy) throws URLConnectionFailureException {
+105 if (proxy) {
+106 return createHttpURLConnection(url);
+107 }
+108 HttpURLConnection conn = null ;
+109 try {
+110 conn = (HttpURLConnection) url.openConnection();
+111 final int timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 60000);
+112 conn.setConnectTimeout(timeout);
+113 } catch (IOException ioe) {
+114 throw new URLConnectionFailureException ("Error getting connection." , ioe);
+115 }
+116 return conn;
+117 }
+118 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/URLConnectionFailureException.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/URLConnectionFailureException.html
new file mode 100644
index 000000000..95608c1c4
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/URLConnectionFailureException.html
@@ -0,0 +1,81 @@
+
+
+
+URLConnectionFailureException xref
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 package org.owasp.dependencycheck.utils;
+19
+20 import java.io.IOException;
+21
+22
+23
+24
+25
+26
+27 public class URLConnectionFailureException extends IOException {
+28
+29
+30
+31
+32 private static final long serialVersionUID = 1L;
+33
+34
+35
+36
+37 public URLConnectionFailureException () {
+38 super ();
+39 }
+40
+41
+42
+43
+44
+45
+46 public URLConnectionFailureException (String msg) {
+47 super (msg);
+48 }
+49
+50
+51
+52
+53
+54
+55 public URLConnectionFailureException (Throwable ex) {
+56 super (ex);
+57 }
+58
+59
+60
+61
+62
+63
+64
+65 public URLConnectionFailureException (String msg, Throwable ex) {
+66 super (msg, ex);
+67 }
+68 }
+
+
+
+
+
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/package-frame.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/package-frame.html
new file mode 100644
index 000000000..a5847874e
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/package-frame.html
@@ -0,0 +1,54 @@
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference Package org.owasp.dependencycheck.utils
+
+
+
+
+
+
+ Classes
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-utils/xref/org/owasp/dependencycheck/utils/package-summary.html b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/package-summary.html
new file mode 100644
index 000000000..9d086694f
--- /dev/null
+++ b/dependency-check-utils/xref/org/owasp/dependencycheck/utils/package-summary.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference Package org.owasp.dependencycheck.utils
+
+
+
+
+
+
+ Package org.owasp.dependencycheck.utils
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-utils/xref/overview-frame.html b/dependency-check-utils/xref/overview-frame.html
new file mode 100644
index 000000000..417872212
--- /dev/null
+++ b/dependency-check-utils/xref/overview-frame.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference
+
+
+
+
+
+
+ Packages
+
+
+
+
+
+
diff --git a/dependency-check-utils/xref/overview-summary.html b/dependency-check-utils/xref/overview-summary.html
new file mode 100644
index 000000000..f2c688420
--- /dev/null
+++ b/dependency-check-utils/xref/overview-summary.html
@@ -0,0 +1,66 @@
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference
+
+
+
+
+
+
+ Dependency-Check Utils 1.2.3 Reference
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-utils/xref/stylesheet.css b/dependency-check-utils/xref/stylesheet.css
new file mode 100644
index 000000000..89732f81d
--- /dev/null
+++ b/dependency-check-utils/xref/stylesheet.css
@@ -0,0 +1,114 @@
+/* Javadoc style sheet */
+/* Define colors, fonts and other style attributes here to override the defaults */
+body {
+ background-color: #fff;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+a:link {
+ color: #00f;
+}
+a:visited {
+ color: #00a;
+}
+
+a:active, a:hover {
+ color: #f30 !important;
+}
+
+ul, li {
+ list-style-type:none;
+ margin:0;
+ padding:0;
+}
+
+table td {
+ padding: 3px;
+ border: 1px solid #000;
+}
+table {
+ width:100%;
+ border: 1px solid #000;
+ border-collapse: collapse;
+}
+
+div.overview {
+ background-color:#ddd;
+ padding: 4px 4px 4px 0;
+}
+div.overview li, div.framenoframe li {
+ display: inline;
+}
+div.framenoframe {
+ text-align: center;
+ font-size: x-small;
+}
+div.framenoframe li {
+ margin: 0 3px 0 3px;
+}
+div.overview li {
+ margin:3px 3px 0 3px;
+ padding: 4px;
+}
+li.selected {
+ background-color:#888;
+ color: #fff;
+ font-weight: bold;
+}
+
+table.summary {
+ margin-bottom: 20px;
+}
+table.summary td, table.summary th {
+ font-weight: bold;
+ text-align: left;
+ padding: 3px;
+}
+table.summary th {
+ background-color:#036;
+ color: #fff;
+}
+table.summary td {
+ background-color:#eee;
+ border: 1px solid black;
+}
+
+em {
+ color: #A00;
+}
+em.comment {
+ color: #390;
+}
+.string {
+ color: #009;
+}
+
+#overview {
+ padding:2px;
+}
+
+hr {
+ height: 1px;
+ color: #000;
+}
+
+/* JXR style sheet */
+.jxr_comment
+{
+ color: #390;
+}
+
+.jxr_javadoccomment
+{
+ color: #A00;
+}
+
+.jxr_string
+{
+ color: #009;
+}
+
+.jxr_keyword
+{
+ color: #000;
+}
diff --git a/index.html b/index.html
index 22ba809fa..d0ffd9347 100644
--- a/index.html
+++ b/index.html
@@ -1,13 +1,13 @@
-
+
dependency-check - About
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/issue-tracking.html b/issue-tracking.html
index d2c62d8f3..719a96c92 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Issue Tracking
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/jar-analyzer.html b/jar-analyzer.html
index 3eda2995d..5c926547d 100644
--- a/jar-analyzer.html
+++ b/jar-analyzer.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Jar Analyzer
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/license.html b/license.html
index 5c2e70e74..b645e609c 100644
--- a/license.html
+++ b/license.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project License
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/mail-lists.html b/mail-lists.html
index 8bef2716b..79dcc77a4 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project Mailing Lists
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/modules.html b/modules.html
index 19da9a1cb..598a2e727 100644
--- a/modules.html
+++ b/modules.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project Modules
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/nexus-analyzer.html b/nexus-analyzer.html
index 23ecde22a..23c69ad5b 100644
--- a/nexus-analyzer.html
+++ b/nexus-analyzer.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Nexus Analyzer
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/nuspec-analyzer.html b/nuspec-analyzer.html
index bc0b96769..9dabb0075 100644
--- a/nuspec-analyzer.html
+++ b/nuspec-analyzer.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Nuspec Analyzer
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/project-info.html b/project-info.html
index 604ab595c..4fae81d72 100644
--- a/project-info.html
+++ b/project-info.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project Information
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/project-summary.html b/project-summary.html
index 0a291b138..6beea473d 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Project Summary
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -327,7 +327,7 @@
dependency-check-parent
Version
-1.2.2
+1.2.3
Type
pom
diff --git a/source-repository.html b/source-repository.html
index 28f6af7f4..72a530452 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Source Repository
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/suppression.html b/suppression.html
index 35c945640..20a0cb9c6 100644
--- a/suppression.html
+++ b/suppression.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Suppressing False Positives
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
diff --git a/team-list.html b/team-list.html
index 9f2c6ff26..a7362952e 100644
--- a/team-list.html
+++ b/team-list.html
@@ -1,13 +1,13 @@
-
+
dependency-check - Team list
@@ -62,9 +62,9 @@
- | Last Published: 2014-06-22
+ | Last Published: 2014-06-27
- Version: 1.2.2
+ Version: 1.2.3
@@ -301,13 +301,13 @@
Roles
Properties
-
+
Jeremy Long
jeremy.long@owasp.org
OWASP
https://www.owasp.org/index.php/OWASP_Dependency_Check
architect, developer
-picUrl=https://plus.google.com/s2/photos/profile/108968019311857145023, twitter=@ctxt
+picUrl=https://s.gravatar.com/avatar/46ac8812f5faccc721c4f198dce688be?s=240, twitter=@ctxt
Steve Springett