version 1.4.3 documentation

This commit is contained in:
Jeremy Long
2016-09-06 08:48:40 -04:00
parent 44917ad0d3
commit e1a447f722
1225 changed files with 44138 additions and 39411 deletions

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:58 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>All Classes (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:58 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>All Classes (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Constant Field Values (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Constant Field Values (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Constant Field Values (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Constant Field Values (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {
@@ -161,94 +161,108 @@
<td class="colLast"><code>"analyzer.cmake.enabled"</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_COCOAPODS_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_COCOAPODS_ENABLED">ANALYZER_COCOAPODS_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.cocoapods.enabled"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_COMPOSER_LOCK_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_COMPOSER_LOCK_ENABLED">ANALYZER_COMPOSER_LOCK_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.composer.lock.enabled"</code></td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_EXPERIMENTAL_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_EXPERIMENTAL_ENABLED">ANALYZER_EXPERIMENTAL_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.experimental.enabled"</code></td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_JAR_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_JAR_ENABLED">ANALYZER_JAR_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.jar.enabled"</code></td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_NEXUS_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NEXUS_ENABLED">ANALYZER_NEXUS_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.nexus.enabled"</code></td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_NEXUS_URL">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NEXUS_URL">ANALYZER_NEXUS_URL</a></code></td>
<td class="colLast"><code>"analyzer.nexus.url"</code></td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_NEXUS_USES_PROXY">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NEXUS_USES_PROXY">ANALYZER_NEXUS_USES_PROXY</a></code></td>
<td class="colLast"><code>"analyzer.nexus.proxy"</code></td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_NODE_PACKAGE_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NODE_PACKAGE_ENABLED">ANALYZER_NODE_PACKAGE_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.node.package.enabled"</code></td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_NUSPEC_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NUSPEC_ENABLED">ANALYZER_NUSPEC_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.nuspec.enabled"</code></td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_OPENSSL_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_OPENSSL_ENABLED">ANALYZER_OPENSSL_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.openssl.enabled"</code></td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_PYTHON_DISTRIBUTION_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_PYTHON_DISTRIBUTION_ENABLED">ANALYZER_PYTHON_DISTRIBUTION_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.python.distribution.enabled"</code></td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_PYTHON_PACKAGE_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_PYTHON_PACKAGE_ENABLED">ANALYZER_PYTHON_PACKAGE_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.python.package.enabled"</code></td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_RUBY_GEMSPEC_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_RUBY_GEMSPEC_ENABLED">ANALYZER_RUBY_GEMSPEC_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.ruby.gemspec.enabled"</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.APPLICATION_VAME">
<tr class="rowColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#APPLICATION_VAME">APPLICATION_VAME</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED">ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED</a></code></td>
<td class="colLast"><code>"analyzer.swift.package.manager.enabled"</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><a name="org.owasp.dependencycheck.utils.Settings.KEYS.APPLICATION_NAME">
<!-- -->
</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#APPLICATION_NAME">APPLICATION_NAME</a></code></td>
<td class="colLast"><code>"application.name"</code></td>
</tr>
<tr class="rowColor">

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:58 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Deprecated List (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Deprecated List (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Deprecated List (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:58 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>API Help (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>API Help (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="API Help (Dependency-Check Utils 1.4.2 API)";
parent.document.title="API Help (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:58 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Index (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Index (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Index (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {
@@ -115,6 +115,10 @@
<dd>
<div class="block">The properties key for whether the CMake analyzer is enabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_COCOAPODS_ENABLED">ANALYZER_COCOAPODS_ENABLED</a></span> - Static variable in class org.owasp.dependencycheck.utils.<a href="org/owasp/dependencycheck/utils/Settings.KEYS.html" title="class in org.owasp.dependencycheck.utils">Settings.KEYS</a></dt>
<dd>
<div class="block">The properties key for whether the cocoapods analyzer is enabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_COMPOSER_LOCK_ENABLED">ANALYZER_COMPOSER_LOCK_ENABLED</a></span> - Static variable in class org.owasp.dependencycheck.utils.<a href="org/owasp/dependencycheck/utils/Settings.KEYS.html" title="class in org.owasp.dependencycheck.utils">Settings.KEYS</a></dt>
<dd>
<div class="block">The properties key for whether the composer lock file analyzer is
@@ -167,7 +171,11 @@
<dd>
<div class="block">The properties key for whether the Ruby Gemspec Analyzer is enabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#APPLICATION_VAME">APPLICATION_VAME</a></span> - Static variable in class org.owasp.dependencycheck.utils.<a href="org/owasp/dependencycheck/utils/Settings.KEYS.html" title="class in org.owasp.dependencycheck.utils">Settings.KEYS</a></dt>
<dt><span class="memberNameLink"><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED">ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED</a></span> - Static variable in class org.owasp.dependencycheck.utils.<a href="org/owasp/dependencycheck/utils/Settings.KEYS.html" title="class in org.owasp.dependencycheck.utils">Settings.KEYS</a></dt>
<dd>
<div class="block">The properties key for whether the SWIFT package manager analyzer is enabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/owasp/dependencycheck/utils/Settings.KEYS.html#APPLICATION_NAME">APPLICATION_NAME</a></span> - Static variable in class org.owasp.dependencycheck.utils.<a href="org/owasp/dependencycheck/utils/Settings.KEYS.html" title="class in org.owasp.dependencycheck.utils">Settings.KEYS</a></dt>
<dd>
<div class="block">The key to obtain the application name.</div>
</dd>
@@ -437,10 +445,6 @@
<div class="block">
Creates the cryptographic checksum of a given file using the specified algorithm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html#getCipherList--">getCipherList()</a></span> - Method in class org.owasp.dependencycheck.utils.<a href="org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html" title="class in org.owasp.dependencycheck.utils">SSLSocketFactoryEx</a></dt>
<dd>
<div class="block">Returns the cipher list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/owasp/dependencycheck/utils/Settings.html#getConnectionString-java.lang.String-java.lang.String-">getConnectionString(String, String)</a></span> - Static method in class org.owasp.dependencycheck.utils.<a href="org/owasp/dependencycheck/utils/Settings.html" title="class in org.owasp.dependencycheck.utils">Settings</a></dt>
<dd>
<div class="block">Returns a connection string from the configured properties.</div>

View File

@@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:58 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Dependency-Check Utils 1.4.2 API</title>
<title>Dependency-Check Utils 1.4.3 API</title>
<script type="text/javascript">
targetPage = "" + window.location.search;
if (targetPage != "" && targetPage != "undefined")

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:56 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Checksum (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Checksum (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Checksum (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Checksum (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:56 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DownloadFailedException (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>DownloadFailedException (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DownloadFailedException (Dependency-Check Utils 1.4.2 API)";
parent.document.title="DownloadFailedException (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:56 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Downloader (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Downloader (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Downloader (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Downloader (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ExpectedOjectInputStream (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>ExpectedOjectInputStream (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ExpectedOjectInputStream (Dependency-Check Utils 1.4.2 API)";
parent.document.title="ExpectedOjectInputStream (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ExtractionException (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>ExtractionException (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ExtractionException (Dependency-Check Utils 1.4.2 API)";
parent.document.title="ExtractionException (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FileUtils (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>FileUtils (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="FileUtils (Dependency-Check Utils 1.4.2 API)";
parent.document.title="FileUtils (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>InvalidSettingException (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>InvalidSettingException (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="InvalidSettingException (Dependency-Check Utils 1.4.2 API)";
parent.document.title="InvalidSettingException (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SSLSocketFactoryEx (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>SSLSocketFactoryEx (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,13 +13,13 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SSLSocketFactoryEx (Dependency-Check Utils 1.4.2 API)";
parent.document.title="SSLSocketFactoryEx (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -222,36 +222,30 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocke
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html#getCipherList--">getCipherList</a></span>()</code>
<div class="block">Returns the cipher list.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html#getDefaultCipherSuites--">getDefaultCipherSuites</a></span>()</code>
<div class="block">Returns the default cipher suites.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html#getDefaultProtocols--">getDefaultProtocols</a></span>()</code>
<div class="block">Returns the default protocols.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html#getProtocolList--">getProtocolList</a></span>()</code>
<div class="block">Returns the protocol list.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html#getSupportedCipherSuites--">getSupportedCipherSuites</a></span>()</code>
<div class="block">Returns the supported cipher suites.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html#getSupportedProtocols--">getSupportedProtocols</a></span>()</code>
<div class="block">Returns the supported protocols.</div>
@@ -553,7 +547,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocke
<a name="getProtocolList--">
<!-- -->
</a>
<ul class="blockList">
<ul class="blockListLast">
<li class="blockList">
<h4>getProtocolList</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getProtocolList()</pre>
@@ -564,20 +558,6 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocke
</dl>
</li>
</ul>
<a name="getCipherList--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getCipherList</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getCipherList()</pre>
<div class="block">Returns the cipher list.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the cipher list</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Settings.KEYS (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Settings.KEYS (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Settings.KEYS (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Settings.KEYS (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {
@@ -191,83 +191,95 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_COCOAPODS_ENABLED">ANALYZER_COCOAPODS_ENABLED</a></span></code>
<div class="block">The properties key for whether the cocoapods analyzer is enabled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_COMPOSER_LOCK_ENABLED">ANALYZER_COMPOSER_LOCK_ENABLED</a></span></code>
<div class="block">The properties key for whether the composer lock file analyzer is
enabled.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_EXPERIMENTAL_ENABLED">ANALYZER_EXPERIMENTAL_ENABLED</a></span></code>
<div class="block">The properties key for whether experimental analyzers are loaded.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_JAR_ENABLED">ANALYZER_JAR_ENABLED</a></span></code>
<div class="block">The properties key for whether the Jar Analyzer is enabled.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NEXUS_ENABLED">ANALYZER_NEXUS_ENABLED</a></span></code>
<div class="block">The properties key for whether the Nexus analyzer is enabled.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NEXUS_URL">ANALYZER_NEXUS_URL</a></span></code>
<div class="block">The properties key for the Nexus search URL.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NEXUS_USES_PROXY">ANALYZER_NEXUS_USES_PROXY</a></span></code>
<div class="block">The properties key for using the proxy to reach Nexus.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NODE_PACKAGE_ENABLED">ANALYZER_NODE_PACKAGE_ENABLED</a></span></code>
<div class="block">The properties key for whether the node.js package analyzer is
enabled.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_NUSPEC_ENABLED">ANALYZER_NUSPEC_ENABLED</a></span></code>
<div class="block">The properties key for whether the .NET Nuspec analyzer is enabled.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_OPENSSL_ENABLED">ANALYZER_OPENSSL_ENABLED</a></span></code>
<div class="block">The properties key for whether the OpenSSL analyzer is enabled.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_PYTHON_DISTRIBUTION_ENABLED">ANALYZER_PYTHON_DISTRIBUTION_ENABLED</a></span></code>
<div class="block">The properties key for whether the Python Distribution analyzer is
enabled.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_PYTHON_PACKAGE_ENABLED">ANALYZER_PYTHON_PACKAGE_ENABLED</a></span></code>
<div class="block">The properties key for whether the Python Package analyzer is
enabled.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_RUBY_GEMSPEC_ENABLED">ANALYZER_RUBY_GEMSPEC_ENABLED</a></span></code>
<div class="block">The properties key for whether the Ruby Gemspec Analyzer is enabled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED">ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED</a></span></code>
<div class="block">The properties key for whether the SWIFT package manager analyzer is enabled.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#APPLICATION_VAME">APPLICATION_VAME</a></span></code>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/owasp/dependencycheck/utils/Settings.KEYS.html#APPLICATION_NAME">APPLICATION_NAME</a></span></code>
<div class="block">The key to obtain the application name.</div>
</td>
</tr>
@@ -548,17 +560,17 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="APPLICATION_VAME">
<a name="APPLICATION_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>APPLICATION_VAME</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> APPLICATION_VAME</pre>
<h4>APPLICATION_NAME</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> APPLICATION_NAME</pre>
<div class="block">The key to obtain the application name.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.owasp.dependencycheck.utils.Settings.KEYS.APPLICATION_VAME">Constant Field Values</a></dd>
<dd><a href="../../../../constant-values.html#org.owasp.dependencycheck.utils.Settings.KEYS.APPLICATION_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
@@ -1303,6 +1315,34 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/
</dl>
</li>
</ul>
<a name="ANALYZER_COCOAPODS_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ANALYZER_COCOAPODS_ENABLED</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ANALYZER_COCOAPODS_ENABLED</pre>
<div class="block">The properties key for whether the cocoapods analyzer is enabled.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_COCOAPODS_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED</pre>
<div class="block">The properties key for whether the SWIFT package manager analyzer is enabled.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.owasp.dependencycheck.utils.Settings.KEYS.ANALYZER_SWIFT_PACKAGE_MANAGER_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ANALYZER_CENTRAL_URL">
<!-- -->
</a>

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Settings (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Settings (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Settings (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Settings (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>URLConnectionFactory (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>URLConnectionFactory (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="URLConnectionFactory (Dependency-Check Utils 1.4.2 API)";
parent.document.title="URLConnectionFactory (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>URLConnectionFailureException (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>URLConnectionFailureException (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="URLConnectionFailureException (Dependency-Check Utils 1.4.2 API)";
parent.document.title="URLConnectionFailureException (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.Checksum (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.Checksum (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Checksum (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Checksum (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.Downloader (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.Downloader (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Downloader (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Downloader (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.ExpectedOjectInputStream (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.ExpectedOjectInputStream (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.ExpectedOjectInputStream (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.ExpectedOjectInputStream (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.ExtractionException (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.ExtractionException (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.ExtractionException (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.ExtractionException (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.FileUtils (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.FileUtils (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.FileUtils (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.FileUtils (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.SSLSocketFactoryEx (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.SSLSocketFactoryEx (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.SSLSocketFactoryEx (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.SSLSocketFactoryEx (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.Settings (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.Settings (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Settings (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Settings (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.URLConnectionFactory (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.URLConnectionFactory (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.URLConnectionFactory (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.URLConnectionFactory (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.URLConnectionFailureException (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Class org.owasp.dependencycheck.utils.URLConnectionFailureException (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.URLConnectionFailureException (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.URLConnectionFailureException (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.2 API)";
parent.document.title="org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Utils 1.4.2 API)";
parent.document.title="org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:32 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:58 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Class Hierarchy (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Class Hierarchy (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Class Hierarchy (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Class Hierarchy (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Sun Jul 31 07:37:31 EDT 2016 -->
<!-- Generated by javadoc (1.8.0_92) on Tue Sep 06 06:44:57 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Serialized Form (Dependency-Check Utils 1.4.2 API)</title>
<meta name="date" content="2016-07-31">
<title>Serialized Form (Dependency-Check Utils 1.4.3 API)</title>
<meta name="date" content="2016-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
@@ -13,7 +13,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Serialized Form (Dependency-Check Utils 1.4.2 API)";
parent.document.title="Serialized Form (Dependency-Check Utils 1.4.3 API)";
}
}
catch(err) {

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Checkstyle Results</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Checkstyle Results</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li>
<a href="project-reports.html" title="Project Reports">
@@ -168,13 +168,6 @@
<a href="#"><span class="none"></span>Checkstyle</a>
</li>
<li>
<a href="pmd.html" title="PMD">
<span class="none"></span>
PMD</a>
</li>
</ul>
</li>
</ul>
@@ -230,24 +223,9 @@
<td>12</td>
<td>0</td>
<td>0</td>
<td>1</td></tr></table></div>
<td>0</td></tr></table></div>
<div class="section">
<h2><a name="Details"></a>Details</h2>
<div class="section">
<h3 id="org.owasp.dependencycheck.utils.SSLSocketFactoryEx.java">org/owasp/dependencycheck/utils/SSLSocketFactoryEx.java</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Severity</th>
<th>Category</th>
<th>Rule</th>
<th>Message</th>
<th>Line</th></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
<td>header</td>
<td>RegexpHeader</td>
<td>Line does not match expected header line of '^/\*\s*$'.</td>
<td><a href="./xref/org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html#L1">1</a></td></tr></table></div></div>
<h2><a name="Details"></a>Details</h2></div>
</div>
</div>
</div>

View File

@@ -26,7 +26,7 @@ under the License.
<copyright>&#169;2012 - 2016 OWASP</copyright>
<item>
<title>File: 12,
Errors: 1,
Errors: 0,
Warnings: 0,
Infos: 0
</title>
@@ -83,7 +83,7 @@ under the License.
0
</td>
<td>
1
0
</td>
</tr>
<tr>

View File

@@ -16,7 +16,7 @@
<table class="report" id="packageResults">
<thead><tr> <td class="heading">Package</td> <td class="heading"># Classes</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
<tbody>
<tr><td><a href="frame-summary-org.owasp.dependencycheck.utils.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.owasp.dependencycheck.utils.html"'>org.owasp.dependencycheck.utils</a></td><td class="value">13</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">23%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:23px"><span class="text">136/579</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">19%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:19px"><span class="text">37/194</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.857142857142857;</span>2.857</td></tr>
<tr><td><a href="frame-summary-org.owasp.dependencycheck.utils.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.owasp.dependencycheck.utils.html"'>org.owasp.dependencycheck.utils</a></td><td class="value">13</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">24%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:24px"><span class="text">136/557</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">19%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:19px"><span class="text">37/190</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.8333333333333335;</span>2.833</td></tr>
</tbody>
</table>
<script type="text/javascript">
@@ -42,7 +42,7 @@ packageTable.sort(0);
<tr><td><a href="org.owasp.dependencycheck.utils.InvalidSettingException.html">InvalidSettingException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">25%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:25px"><span class="text">2/8</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.0;</span>1</td></tr>
<tr><td><a href="org.owasp.dependencycheck.utils.SSLSocketFactoryEx.html">SSLSocketFactoryEx</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/84</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/10</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.625;</span>1.625</td></tr>
<tr><td><a href="org.owasp.dependencycheck.utils.SSLSocketFactoryEx.html">SSLSocketFactoryEx</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/62</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/6</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.4;</span>1.4</td></tr>
<tr><td><a href="org.owasp.dependencycheck.utils.Settings.html">Settings</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">47%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:47px"><span class="text">84/176</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">35%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:35px"><span class="text">23/64</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.696969696969697;</span>2.697</td></tr>
<tr><td><a href="org.owasp.dependencycheck.utils.Settings.html">Settings$KEYS</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/2</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.696969696969697;</span>2.697</td></tr>
@@ -59,6 +59,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
</script>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:44 AM.</div>
</body>
</html>

View File

@@ -16,8 +16,8 @@
<table class="report" id="packageResults">
<thead><tr> <td class="heading">Package</td> <td class="heading"># Classes</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
<tbody>
<tr><td><b>All Packages</b></td><td class="value">13</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">23%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:23px"><span class="text">136/579</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">19%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:19px"><span class="text">37/194</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.857142857142857;</span>2.857</td></tr>
<tr><td><a href="frame-summary-org.owasp.dependencycheck.utils.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.owasp.dependencycheck.utils.html"'>org.owasp.dependencycheck.utils</a></td><td class="value">13</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">23%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:23px"><span class="text">136/579</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">19%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:19px"><span class="text">37/194</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.857142857142857;</span>2.857</td></tr>
<tr><td><b>All Packages</b></td><td class="value">13</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">24%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:24px"><span class="text">136/557</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">19%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:19px"><span class="text">37/190</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.8333333333333335;</span>2.833</td></tr>
<tr><td><a href="frame-summary-org.owasp.dependencycheck.utils.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.owasp.dependencycheck.utils.html"'>org.owasp.dependencycheck.utils</a></td><td class="value">13</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">24%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:24px"><span class="text">136/557</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">19%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:19px"><span class="text">37/190</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.8333333333333335;</span>2.833</td></tr>
</tbody>
</table>
<script type="text/javascript">
@@ -25,6 +25,6 @@ var packageTable = new SortableTable(document.getElementById("packageResults"),
["String", "Number", "Percentage", "Percentage", "FormattedNumber"]);
packageTable.sort(0);
</script>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:44 AM.</div>
</body>
</html>

View File

@@ -134,12 +134,12 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;60</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">byte</span>[] getChecksum(String algorithm, File file) <span class="keyword">throws</span> NoSuchAlgorithmException, IOException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;61</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; MessageDigest digest = MessageDigest.getInstance(algorithm);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;61</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> MessageDigest digest = MessageDigest.getInstance(algorithm);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; FileInputStream fis = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;63</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;64</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; fis = <span class="keyword">new</span> FileInputStream(file);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; FileChannel ch = fis.getChannel();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> FileChannel ch = fis.getChannel();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;66</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> remainingToRead = file.length();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;67</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> start = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;68</td> <td class="nbHitsCovered"><a title="Line 68: Conditional coverage 100% (2/2).">&nbsp;6</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 68: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (remainingToRead &gt; 0) {</a></pre></td></tr>
@@ -154,7 +154,7 @@
<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; remainingToRead = 0;</pre></td></tr>
<tr> <td class="numLine">&nbsp;76</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; MappedByteBuffer byteBuffer = ch.map(FileChannel.MapMode.READ_ONLY, start, amountToRead);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> MappedByteBuffer byteBuffer = ch.map(FileChannel.MapMode.READ_ONLY, start, amountToRead);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;78</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; digest.update(byteBuffer);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;79</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; start += amountToRead;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;80</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
@@ -194,7 +194,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;101</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> String getMD5Checksum(File file) <span class="keyword">throws</span> IOException, NoSuchAlgorithmException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;102</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">byte</span>[] b = getChecksum(<span class="string">"MD5"</span>, file);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;102</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">byte</span>[] b = getChecksum(<span class="string">"MD5"</span>, file);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;103</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> getHex(b);</pre></td></tr>
<tr> <td class="numLine">&nbsp;104</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
@@ -218,7 +218,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;114</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> String getSHA1Checksum(File file) <span class="keyword">throws</span> IOException, NoSuchAlgorithmException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">byte</span>[] b = getChecksum(<span class="string">"SHA1"</span>, file);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">byte</span>[] b = getChecksum(<span class="string">"SHA1"</span>, file);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;116</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> getHex(b);</pre></td></tr>
<tr> <td class="numLine">&nbsp;117</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
@@ -272,6 +272,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:44 AM.</div>
</body>
</html>

View File

@@ -147,6 +147,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:44 AM.</div>
</body>
</html>

View File

@@ -494,11 +494,11 @@
<tr> <td class="numLine">&nbsp;302</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;303</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">void</span> checkForCommonExceptionTypes(IOException ex) <span class="keyword">throws</span> DownloadFailedException {</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> checkForCommonExceptionTypes(IOException ex) <span class="keyword">throws</span> DownloadFailedException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;304</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Throwable cause = ex;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;305</td> <td class="nbHitsUncovered"><a title="Line 305: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 305: Conditional coverage 0% (0/2)."> <span class="keyword">while</span> (cause != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;306</td> <td class="nbHitsUncovered"><a title="Line 306: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 306: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (cause <span class="keyword">instanceof</span> java.net.UnknownHostException) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;307</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String msg = String.format(<span class="string">"Unable to resolve domain '%s'"</span>, cause.getMessage());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;307</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String msg = format(<span class="string">"Unable to resolve domain '%s'"</span>, cause.getMessage());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;308</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.error(msg);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;309</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> DownloadFailedException(msg);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;310</td> <td class="nbHits">&nbsp;</td>
@@ -571,6 +571,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:44 AM.</div>
</body>
</html>

View File

@@ -152,6 +152,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:44 AM.</div>
</body>
</html>

View File

@@ -147,6 +147,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:44 AM.</div>
</body>
</html>

View File

@@ -70,158 +70,160 @@
<tr> <td class="numLine">&nbsp;26</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.UUID;</pre></td></tr>
<tr> <td class="numLine">&nbsp;27</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.commons.lang3.SystemUtils;</pre></td></tr>
<tr> <td class="numLine">&nbsp;28</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;29</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * A collection of utilities for processing information about files.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;30</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * A collection of utilities for processing information about files.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;31</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Jeremy Long</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;32</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Jeremy Long</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;33</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">class</span> FileUtils {</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;34</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">class</span> FileUtils {</pre></td></tr>
<tr> <td class="numLine">&nbsp;35</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The logger.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;37</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The logger.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;38</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;38</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = LoggerFactory.getLogger(FileUtils.<span class="keyword">class</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;39</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;39</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = LoggerFactory.getLogger(FileUtils.<span class="keyword">class</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;40</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Bit bucket for non-Windows systems</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;41</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Bit bucket for non-Windows systems</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;42</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> String BIT_BUCKET_UNIX = <span class="string">"/dev/null"</span>;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;43</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> String BIT_BUCKET_UNIX = <span class="string">"/dev/null"</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;44</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;45</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Bit bucket for Windows systems (yes, only one 'L')</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;46</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Bit bucket for Windows systems (yes, only one 'L')</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;47</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> String BIT_BUCKET_WIN = <span class="string">"NUL"</span>;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;48</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> String BIT_BUCKET_WIN = <span class="string">"NUL"</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;49</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;50</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Private constructor for a utility class.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;51</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Private constructor for a utility class.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;52</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;52</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">private</span> FileUtils() {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;53</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;54</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;53</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">private</span> FileUtils() {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;54</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;55</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;56</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Returns the (lowercase) file extension for a specified file.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;57</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Returns the (lowercase) file extension for a specified file.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param fileName the file name to retrieve the file extension from.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;59</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the file extension.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param fileName the file name to retrieve the file extension from.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;60</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the file extension.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;61</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;62</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> String getFileExtension(String fileName) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String fileExt = FilenameUtils.getExtension(fileName);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;63</td> <td class="nbHitsUncovered"><a title="Line 63: Conditional coverage 75% (3/4) [each condition: 50%, 100%].">&nbsp;3</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 63: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">return</span> <span class="keyword">null</span> == fileExt || fileExt.isEmpty() ? <span class="keyword">null</span> : fileExt.toLowerCase();</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;63</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String fileExt = FilenameUtils.getExtension(fileName);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;64</td> <td class="nbHitsUncovered"><a title="Line 64: Conditional coverage 75% (3/4) [each condition: 50%, 100%].">&nbsp;3</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 64: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">return</span> <span class="keyword">null</span> == fileExt || fileExt.isEmpty() ? <span class="keyword">null</span> : fileExt.toLowerCase();</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;65</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;66</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;67</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Deletes a file. If the File is a directory it will recursively delete the contents.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;68</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Deletes a file. If the File is a directory it will recursively delete the contents.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;69</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param file the File to delete</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;70</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the file was deleted successfully, otherwise false</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param file the File to delete</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;71</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the file was deleted successfully, otherwise false</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;72</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;73</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> delete(File file) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;73</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">boolean</span> success = org.apache.commons.io.FileUtils.deleteQuietly(file);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsUncovered"><a title="Line 74: Conditional coverage 50% (1/2).">&nbsp;3</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 74: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!success) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Failed to delete file: {}; attempting to delete on exit."</span>, file.getPath());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; file.deleteOnExit();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;77</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">boolean</span> success = org.apache.commons.io.FileUtils.deleteQuietly(file);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsUncovered"><a title="Line 75: Conditional coverage 50% (1/2).">&nbsp;3</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 75: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!success) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Failed to delete file: {}; attempting to delete on exit."</span>, file.getPath());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; file.deleteOnExit();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;78</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;78</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> success;</pre></td></tr>
<tr> <td class="numLine">&nbsp;79</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;79</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> success;</pre></td></tr>
<tr> <td class="numLine">&nbsp;80</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;81</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Generates a new temporary file name that is guaranteed to be unique.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;83</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;84</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param prefix the prefix for the file name to generate</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;85</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param extension the extension of the generated file name</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;86</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a temporary File</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;87</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws java.io.IOException thrown if the temporary folder could not be created</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;88</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;89</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> File getTempFile(String prefix, String extension) <span class="keyword">throws</span> IOException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;90</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> File dir = Settings.getTempDirectory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;91</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String tempFileName = String.format(<span class="string">"%s%s.%s"</span>, prefix, UUID.randomUUID().toString(), extension);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;92</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> File tempFile = <span class="keyword">new</span> File(dir, tempFileName);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;93</td> <td class="nbHitsUncovered"><a title="Line 93: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 93: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (tempFile.exists()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> getTempFile(prefix, extension);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;95</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;96</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> tempFile;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;97</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;98</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;99</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;100</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return the bit bucket for the OS. '/dev/null' for Unix and 'NUL' for Windows</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;101</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;83</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Generates a new temporary file name that is guaranteed to be unique.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;84</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;102</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a String containing the bit bucket</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;103</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;85</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param prefix the prefix for the file name to generate</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;86</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param extension the extension of the generated file name</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;87</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a temporary File</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;88</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws java.io.IOException thrown if the temporary folder could not be created</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;89</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;104</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> String getBitBucket() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;105</td> <td class="nbHitsUncovered"><a title="Line 105: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 105: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (System.getProperty(<span class="string">"os.name"</span>).startsWith(<span class="string">"Windows"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> BIT_BUCKET_WIN;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;107</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;108</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> BIT_BUCKET_UNIX;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;109</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;90</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> File getTempFile(String prefix, String extension) <span class="keyword">throws</span> IOException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;91</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> File dir = Settings.getTempDirectory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;92</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String tempFileName = String.format(<span class="string">"%s%s.%s"</span>, prefix, UUID.randomUUID().toString(), extension);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;93</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> File tempFile = <span class="keyword">new</span> File(dir, tempFileName);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsUncovered"><a title="Line 94: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 94: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (tempFile.exists()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;95</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> getTempFile(prefix, extension);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;96</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;110</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;97</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> tempFile;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;98</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;99</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;100</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;101</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return the bit bucket for the OS. '/dev/null' for Unix and 'NUL' for Windows</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;102</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;103</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a String containing the bit bucket</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;104</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;105</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> String getBitBucket() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsUncovered"><a title="Line 106: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 106: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (SystemUtils.IS_OS_WINDOWS) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;107</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> BIT_BUCKET_WIN;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;108</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;109</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> BIT_BUCKET_UNIX;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;110</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;111</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;112</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:45 AM.</div>
</body>
</html>

View File

@@ -147,6 +147,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:45 AM.</div>
</body>
</html>

View File

@@ -12,7 +12,7 @@
<div class="separator">&nbsp;</div>
<table class="report">
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
<tr><td><a href="org.owasp.dependencycheck.utils.SSLSocketFactoryEx.html">SSLSocketFactoryEx</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/84</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/10</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.625;</span>1.625</td></tr>
<tr><td><a href="org.owasp.dependencycheck.utils.SSLSocketFactoryEx.html">SSLSocketFactoryEx</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/62</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/6</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.4;</span>1.4</td></tr>
</table>
<div class="separator">&nbsp;</div>
@@ -167,7 +167,7 @@
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;80</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> String[] getDefaultCipherSuites() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;81</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> Arrays.copyOf(ciphers, ciphers.length);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;81</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> sslCtxt.getSocketFactory().getDefaultCipherSuites();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;83</td> <td class="nbHits">&nbsp;</td>
@@ -186,7 +186,7 @@
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;90</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> String[] getSupportedCipherSuites() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;91</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> Arrays.copyOf(ciphers, ciphers.length);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;91</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> sslCtxt.getSocketFactory().getSupportedCipherSuites();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;92</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;93</td> <td class="nbHits">&nbsp;</td>
@@ -254,457 +254,287 @@
<tr> <td class="numLine">&nbsp;126</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;127</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;128</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledCipherSuites(ciphers);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;129</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;128</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;130</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;129</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;130</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;131</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;132</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;133</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Creates a new SSL Socket.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;134</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Creates a new SSL Socket.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;135</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;136</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param address the address to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;137</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;136</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param port the port number</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;138</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;137</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param localAddress the local address</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;138</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param localPort the local port</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;139</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param localPort the local port</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the SSL Socket</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;140</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the SSL Socket</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws IOException thrown if the creation fails</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;141</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws IOException thrown if the creation fails</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;142</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;143</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;144</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Socket createSocket(InetAddress address, <span class="keyword">int</span> port, InetAddress localAddress, <span class="keyword">int</span> localPort) <span class="keyword">throws</span> IOException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;145</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;146</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocket ss = (SSLSocket) factory.createSocket(address, port, localAddress, localPort);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;147</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;145</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocket ss = (SSLSocket) factory.createSocket(address, port, localAddress, localPort);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;146</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;148</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;149</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledCipherSuites(ciphers);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;147</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;148</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;149</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;150</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;151</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;152</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;153</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;151</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;154</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;152</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;155</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;153</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Creates a new SSL Socket.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;156</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;154</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;157</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;155</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param host the host to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;158</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;156</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param port the port to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;159</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;157</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param localHost the local host</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;160</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;158</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param localPort the local port</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;161</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;159</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the SSL Socket</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;162</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;160</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws IOException thrown if the creation fails</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;163</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;161</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;164</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;162</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;165</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;163</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Socket createSocket(String host, <span class="keyword">int</span> port, InetAddress localHost, <span class="keyword">int</span> localPort) <span class="keyword">throws</span> IOException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;166</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;167</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocket ss = (SSLSocket) factory.createSocket(host, port, localHost, localPort);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;164</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;165</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocket ss = (SSLSocket) factory.createSocket(host, port, localHost, localPort);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;166</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;167</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;168</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;169</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;170</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledCipherSuites(ciphers);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;169</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;170</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;171</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;172</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;172</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;173</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Creates a new SSL Socket.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;174</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;175</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param host the host to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;176</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Creates a new SSL Socket.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param port the port to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;177</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the SSL Socket</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;178</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param host the host to connect to</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws IOException thrown if the creation fails</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;179</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param port the port to connect to</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;180</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the SSL Socket</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;181</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws IOException thrown if the creation fails</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;182</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;183</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;184</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Socket createSocket(InetAddress host, <span class="keyword">int</span> port) <span class="keyword">throws</span> IOException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;185</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;186</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocket ss = (SSLSocket) factory.createSocket(host, port);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;187</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;182</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;183</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocket ss = (SSLSocket) factory.createSocket(host, port);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;184</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;185</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;186</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;187</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;188</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;189</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;188</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;189</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledCipherSuites(ciphers);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;190</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;191</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;192</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;193</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;194</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;195</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;191</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Creates a new SSL Socket.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;196</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;192</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;197</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;193</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param host the host to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;198</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;194</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param port the port to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;199</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;195</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the SSL Socket</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;200</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;196</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws IOException thrown if the creation fails</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;201</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;197</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;202</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;198</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;203</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;199</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Socket createSocket(String host, <span class="keyword">int</span> port) <span class="keyword">throws</span> IOException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;204</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;205</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocket ss = (SSLSocket) factory.createSocket(host, port);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;201</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocket ss = (SSLSocket) factory.createSocket(host, port);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;202</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;203</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;204</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;205</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;206</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;207</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledProtocols(protocols);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;208</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ss.setEnabledCipherSuites(ciphers);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;209</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;210</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> ss;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;211</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;212</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;207</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;213</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;208</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;214</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;209</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Initializes the SSL Socket Factory Extension.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;215</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;210</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;216</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;211</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param km the key managers</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;217</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;212</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param tm the trust managers</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;218</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;213</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param random the secure random number generator</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;219</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;214</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws NoSuchAlgorithmException thrown when an algorithm is not</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;220</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;215</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * supported</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;221</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;216</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws KeyManagementException thrown if initialization fails</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;222</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;217</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;223</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;218</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">void</span> initSSLSocketFactoryEx(KeyManager[] km, TrustManager[] tm, SecureRandom random)</pre></td></tr>
<tr> <td class="numLine">&nbsp;224</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;219</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">throws</span> NoSuchAlgorithmException, KeyManagementException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;225</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sslCtxt = SSLContext.getInstance(<span class="string">"TLS"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;226</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sslCtxt.init(km, tm, random);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;220</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sslCtxt = SSLContext.getInstance(<span class="string">"TLS"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;221</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sslCtxt.init(km, tm, random);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;222</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;223</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; protocols = getProtocolList();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;224</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;225</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;226</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;227</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;228</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; protocols = getProtocolList();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;229</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ciphers = getCipherList();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;230</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;231</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;232</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;233</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Initializes the SSL Socket Factory Extension.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;234</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;228</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;235</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;229</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param ctx the SSL context</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;236</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;230</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws NoSuchAlgorithmException thrown when an algorithm is not</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;237</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;231</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * supported</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;238</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;232</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws KeyManagementException thrown if initialization fails</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;239</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;233</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;240</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;234</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">void</span> initSSLSocketFactoryEx(SSLContext ctx)</pre></td></tr>
<tr> <td class="numLine">&nbsp;241</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;235</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">throws</span> NoSuchAlgorithmException, KeyManagementException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;242</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sslCtxt = ctx;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;243</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;236</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sslCtxt = ctx;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;237</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; protocols = getProtocolList();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;238</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;239</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;244</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; protocols = getProtocolList();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;245</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ciphers = getCipherList();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;246</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;247</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;248</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;240</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;249</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;241</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Returns the protocol list.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;250</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;242</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;251</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;243</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the protocol list</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;252</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;244</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;253</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;245</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">protected</span> String[] getProtocolList() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;254</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String[] preferredProtocols = {<span class="string">"TLSv1"</span>, <span class="string">"TLSv1.1"</span>, <span class="string">"TLSv1.2"</span>, <span class="string">"TLSv1.3"</span>};</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;255</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; String[] availableProtocols = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;256</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;246</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String[] preferredProtocols = {<span class="string">"TLSv1"</span>, <span class="string">"TLSv1.1"</span>, <span class="string">"TLSv1.2"</span>, <span class="string">"TLSv1.3"</span>};</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;247</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; String[] availableProtocols = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;248</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;257</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; SSLSocket socket = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;258</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;249</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; SSLSocket socket = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;250</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;259</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;251</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;260</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;261</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; socket = (SSLSocket) factory.createSocket();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;262</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;252</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;253</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; socket = (SSLSocket) factory.createSocket();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;254</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;263</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; availableProtocols = socket.getSupportedProtocols();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;264</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Arrays.sort(availableProtocols);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;265</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (Exception ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;266</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Error getting protocol list, using TLSv1"</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;267</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">new</span> String[]{<span class="string">"TLSv1"</span>};</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;268</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;255</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; availableProtocols = socket.getSupportedProtocols();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;256</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Arrays.sort(availableProtocols);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;257</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (Exception ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;258</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Error getting protocol list, using TLSv1"</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;259</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">new</span> String[]{<span class="string">"TLSv1"</span>};</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;260</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">finally</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;269</td> <td class="nbHitsUncovered"><a title="Line 269: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 269: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (socket != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;270</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;261</td> <td class="nbHitsUncovered"><a title="Line 261: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 261: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (socket != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;262</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;271</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; socket.close();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;272</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (IOException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;273</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.trace(<span class="string">"Error closing socket"</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;274</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;263</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; socket.close();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;264</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (IOException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;265</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.trace(<span class="string">"Error closing socket"</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;266</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;267</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;268</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;269</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;270</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> List&lt;String&gt; aa = <span class="keyword">new</span> ArrayList&lt;String&gt;();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;271</td> <td class="nbHitsUncovered"><a title="Line 271: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 271: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (String preferredProtocol : preferredProtocols) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;272</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> idx = Arrays.binarySearch(availableProtocols, preferredProtocol);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;273</td> <td class="nbHitsUncovered"><a title="Line 273: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 273: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (idx &gt;= 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;274</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; aa.add(preferredProtocol);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;275</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;276</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;277</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;278</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> List&lt;String&gt; aa = <span class="keyword">new</span> ArrayList&lt;String&gt;();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;279</td> <td class="nbHitsUncovered"><a title="Line 279: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 279: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (String preferredProtocol : preferredProtocols) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;280</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> idx = Arrays.binarySearch(availableProtocols, preferredProtocol);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;281</td> <td class="nbHitsUncovered"><a title="Line 281: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 281: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (idx &gt;= 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;282</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; aa.add(preferredProtocol);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;283</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;284</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;285</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;286</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> aa.toArray(<span class="keyword">new</span> String[0]);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;287</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;278</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> aa.toArray(<span class="keyword">new</span> String[0]);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;279</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;288</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;280</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;289</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;281</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;290</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Returns the cipher list.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;291</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;292</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the cipher list</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;293</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;294</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">protected</span> String[] getCipherList() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;295</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String[] preferredCiphers = {</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;296</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// *_CHACHA20_POLY1305 are 3x to 4x faster than existing cipher suites.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;297</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// http://googleonlinesecurity.blogspot.com/2014/04/speeding-up-and-strengthening-https.html</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;298</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Use them if available. Normative names can be found at (TLS spec depends on IPSec spec):</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;299</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// http://tools.ietf.org/html/draft-nir-ipsecme-chacha20-poly1305-01</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;300</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// http://tools.ietf.org/html/draft-mavrogiannopoulos-chacha-tls-02</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;301</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;302</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;303</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_ECDSA_WITH_CHACHA20_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;304</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_RSA_WITH_CHACHA20_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;305</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_RSA_WITH_CHACHA20_POLY1305"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;306</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_CHACHA20_POLY1305"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;307</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_RSA_WITH_CHACHA20_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;308</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_CHACHA20_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;309</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Done with bleeding edge, back to TLS v1.2 and below</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;310</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;311</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;312</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;313</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;314</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;315</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;316</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;317</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;318</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// TLS v1.0 (with some SSLv3 interop)</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;319</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_RSA_WITH_AES_256_CBC_SHA384"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;320</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;321</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;322</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_DSS_WITH_AES_128_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;323</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;324</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;325</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;326</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;327</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// RSA key transport sucks, but they are needed as a fallback.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;328</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// For example, microsoft.com fails under all versions of TLS</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;329</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// if they are not included. If only TLS 1.0 is available at</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;330</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the client, then google.com will fail too. TLS v1.3 is</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;331</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// trying to deprecate them, so it will be interesteng to see</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;332</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// what happens.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;333</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_AES_256_CBC_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;334</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_AES_256_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;335</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_AES_128_CBC_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;336</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_AES_128_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;337</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; };</pre></td></tr>
<tr> <td class="numLine">&nbsp;338</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;339</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; String[] availableCiphers;</pre></td></tr>
<tr> <td class="numLine">&nbsp;340</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;341</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;342</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactory factory = sslCtxt.getSocketFactory();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;343</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; availableCiphers = factory.getSupportedCipherSuites();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;344</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Arrays.sort(availableCiphers);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;345</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (Exception e) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;346</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Error retrieving ciphers"</span>, e);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;347</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">new</span> String[]{</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;348</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_DSS_WITH_AES_128_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;349</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_DSS_WITH_AES_256_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;350</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;351</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_DHE_RSA_WITH_AES_256_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;352</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_AES_256_CBC_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;353</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_AES_256_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;354</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_AES_128_CBC_SHA256"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;355</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_RSA_WITH_AES_128_CBC_SHA"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;356</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"</span>,</pre></td></tr>
<tr> <td class="numLine">&nbsp;357</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; };</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;358</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;359</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;360</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> List&lt;String&gt; aa = <span class="keyword">new</span> ArrayList&lt;String&gt;();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;361</td> <td class="nbHitsUncovered"><a title="Line 361: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 361: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (String preferredCipher : preferredCiphers) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;362</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> idx = Arrays.binarySearch(availableCiphers, preferredCipher);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;363</td> <td class="nbHitsUncovered"><a title="Line 363: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 363: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (idx &gt;= 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;364</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; aa.add(preferredCipher);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;365</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;366</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;367</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;368</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; aa.add(<span class="string">"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;369</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;370</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> aa.toArray(<span class="keyword">new</span> String[0]);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;371</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;372</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;373</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;374</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;282</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The SSL context.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;375</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;283</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;376</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;284</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> SSLContext sslCtxt;</pre></td></tr>
<tr> <td class="numLine">&nbsp;377</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;285</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;378</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The cipher suites.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;379</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;380</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> String[] ciphers;</pre></td></tr>
<tr> <td class="numLine">&nbsp;381</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;382</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;286</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The protocols.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;383</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;287</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;384</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;288</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> String[] protocols;</pre></td></tr>
<tr> <td class="numLine">&nbsp;385</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;289</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:45 AM.</div>
</body>
</html>

View File

@@ -79,282 +79,284 @@
<tr> <td class="numLine">&nbsp;30</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.net.URL;</pre></td></tr>
<tr> <td class="numLine">&nbsp;31</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.security.KeyManagementException;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.net.URLConnection;</pre></td></tr>
<tr> <td class="numLine">&nbsp;32</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.security.NoSuchAlgorithmException;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.security.KeyManagementException;</pre></td></tr>
<tr> <td class="numLine">&nbsp;33</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> javax.net.ssl.HttpsURLConnection;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.security.NoSuchAlgorithmException;</pre></td></tr>
<tr> <td class="numLine">&nbsp;34</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.slf4j.Logger;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> javax.net.ssl.HttpsURLConnection;</pre></td></tr>
<tr> <td class="numLine">&nbsp;35</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.slf4j.LoggerFactory;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.slf4j.Logger;</pre></td></tr>
<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.slf4j.LoggerFactory;</pre></td></tr>
<tr> <td class="numLine">&nbsp;37</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;38</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * A URLConnection Factory to create new connections. This encapsulates several</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;39</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * configuration checks to ensure that the connection uses the correct proxy</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * A URLConnection Factory to create new connections. This encapsulates several</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;40</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * settings.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * configuration checks to ensure that the connection uses the correct proxy</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;41</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * settings.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;42</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Jeremy Long</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;43</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Jeremy Long</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;44</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">class</span> URLConnectionFactory {</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;45</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">class</span> URLConnectionFactory {</pre></td></tr>
<tr> <td class="numLine">&nbsp;46</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;47</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The logger.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;48</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The logger.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;49</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;49</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = LoggerFactory.getLogger(URLConnectionFactory.<span class="keyword">class</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;50</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;50</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = LoggerFactory.getLogger(URLConnectionFactory.<span class="keyword">class</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;51</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;52</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Private constructor for this factory.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;53</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Private constructor for this factory.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;54</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;54</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">private</span> URLConnectionFactory() {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;56</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">private</span> URLConnectionFactory() {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;57</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Utility method to create an HttpURLConnection. If the application is</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;59</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * configured to use a proxy this method will retrieve the proxy settings</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Utility method to create an HttpURLConnection. If the application is</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;60</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * and use them when setting up the connection.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * configured to use a proxy this method will retrieve the proxy settings</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;61</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * and use them when setting up the connection.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;62</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param url the url to connect to</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;63</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return an HttpURLConnection</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws URLConnectionFailureException thrown if there is an exception</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;65</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;66</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @SuppressFBWarnings(value = <span class="string">"RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"</span>, justification = <span class="string">"Just being extra safe"</span>)</pre></td></tr>
<tr> <td class="numLine">&nbsp;67</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> HttpURLConnection createHttpURLConnection(URL url) <span class="keyword">throws</span> URLConnectionFailureException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;68</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; HttpURLConnection conn = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String proxyUrl = Settings.getString(Settings.KEYS.PROXY_SERVER);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;70</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;71</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;72</td> <td class="nbHitsUncovered"><a title="Line 72: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 72: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (proxyUrl != <span class="keyword">null</span> &amp;&amp; !matchNonProxy(url)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;73</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SocketAddress address = <span class="keyword">new</span> InetSocketAddress(proxyUrl, proxyPort);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;75</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String username = Settings.getString(Settings.KEYS.PROXY_USERNAME);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String password = Settings.getString(Settings.KEYS.PROXY_PASSWORD);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;78</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;79</td> <td class="nbHitsUncovered"><a title="Line 79: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 79: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (username != <span class="keyword">null</span> &amp;&amp; password != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;80</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> Authenticator auth = <span class="keyword">new</span> Authenticator() {</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;81</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> PasswordAuthentication getPasswordAuthentication() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;83</td> <td class="nbHitsUncovered"><a title="Line 83: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 83: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (getRequestorType().equals(Authenticator.RequestorType.PROXY)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;84</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">new</span> PasswordAuthentication(username, password.toCharArray());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;85</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;86</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">super</span>.getPasswordAuthentication();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;87</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;88</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; };</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;89</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Authenticator.setDefault(auth);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;90</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;91</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;92</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> Proxy proxy = <span class="keyword">new</span> Proxy(Proxy.Type.HTTP, address);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;93</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn = (HttpURLConnection) url.openConnection(proxy);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;95</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn = (HttpURLConnection) url.openConnection();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;96</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;97</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 10000);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;98</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.setConnectTimeout(timeout);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;99</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.setInstanceFollowRedirects(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;100</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (IOException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;101</td> <td class="nbHitsUncovered"><a title="Line 101: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 101: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (conn != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;102</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;103</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.disconnect();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;104</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">finally</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;105</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;107</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;108</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> URLConnectionFailureException(<span class="string">"Error getting connection."</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;109</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;110</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; configureTLS(url, conn);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;111</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> conn;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;112</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;113</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;114</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;115</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Check if hostname matches nonProxy settings</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;116</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;117</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param url the url to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;118</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return matching result. true: match nonProxy</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;119</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;120</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">boolean</span> matchNonProxy(<span class="keyword">final</span> URL url) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;121</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String host = url.getHost();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;122</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;123</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// code partially from org.apache.maven.plugins.site.AbstractDeployMojo#getProxyInfo</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;124</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String nonProxyHosts = Settings.getString(Settings.KEYS.PROXY_NON_PROXY_HOSTS);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;125</td> <td class="nbHitsUncovered"><a title="Line 125: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 125: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (<span class="keyword">null</span> != nonProxyHosts) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;126</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String[] nonProxies = nonProxyHosts.split(<span class="string">"(,)|(;)|(\\|)"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;127</td> <td class="nbHitsUncovered"><a title="Line 127: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 127: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> String nonProxyHost : nonProxies) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;128</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">//if ( StringUtils.contains( nonProxyHost, "*" ) )</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;129</td> <td class="nbHitsUncovered"><a title="Line 129: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 129: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (<span class="keyword">null</span> != nonProxyHost &amp;&amp; nonProxyHost.contains(<span class="string">"*"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;130</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Handle wildcard at the end, beginning or middle of the nonProxyHost</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;131</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> pos = nonProxyHost.indexOf(<span class="string">'*'</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;132</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String nonProxyHostPrefix = nonProxyHost.substring(0, pos);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;133</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String nonProxyHostSuffix = nonProxyHost.substring(pos + 1);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;134</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// prefix*</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;135</td> <td class="nbHitsUncovered"><a title="Line 135: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 135: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%]."> <span class="keyword">if</span> (!StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; host.startsWith(nonProxyHostPrefix) &amp;&amp; StringUtils.isEmpty(nonProxyHostSuffix)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;136</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;137</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;138</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// *suffix</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;139</td> <td class="nbHitsUncovered"><a title="Line 139: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 139: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%]."> <span class="keyword">if</span> (StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; !StringUtils.isEmpty(nonProxyHostSuffix) &amp;&amp; host.endsWith(nonProxyHostSuffix)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;140</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;141</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;142</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// prefix*suffix</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;143</td> <td class="nbHitsUncovered"><a title="Line 143: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 143: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%]."> <span class="keyword">if</span> (!StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; host.startsWith(nonProxyHostPrefix) &amp;&amp; !StringUtils.isEmpty(nonProxyHostSuffix)</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsUncovered"><a title="Line 144: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 144: Conditional coverage 0% (0/2)."> &amp;&amp; host.endsWith(nonProxyHostSuffix)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;145</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;146</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;147</td> <td class="nbHitsUncovered"><a title="Line 147: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 147: Conditional coverage 0% (0/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (host.equals(nonProxyHost)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;148</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;149</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;150</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;151</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;152</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;153</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;154</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;155</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;156</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Utility method to create an HttpURLConnection. The use of a proxy here is</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;157</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * optional as there may be cases where a proxy is configured but we don't</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;158</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * want to use it (for example, if there's an internal repository</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;159</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * configured)</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;160</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;161</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param url the URL to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;162</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param proxy whether to use the proxy (if configured)</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;163</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a newly constructed HttpURLConnection</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;164</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return an HttpURLConnection</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;65</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws URLConnectionFailureException thrown if there is an exception</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;165</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;66</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;166</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> HttpURLConnection createHttpURLConnection(URL url, <span class="keyword">boolean</span> proxy) <span class="keyword">throws</span> URLConnectionFailureException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;167</td> <td class="nbHitsUncovered"><a title="Line 167: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 167: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (proxy) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;168</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> createHttpURLConnection(url);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;169</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;170</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; HttpURLConnection conn = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;171</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;172</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn = (HttpURLConnection) url.openConnection();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;173</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 10000);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;174</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.setConnectTimeout(timeout);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;175</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.setInstanceFollowRedirects(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;176</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (IOException ioe) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;177</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> URLConnectionFailureException(<span class="string">"Error getting connection."</span>, ioe);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;178</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;179</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; configureTLS(url, conn);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;180</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> conn;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;181</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;182</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;67</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @SuppressFBWarnings(value = <span class="string">"RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"</span>, justification = <span class="string">"Just being extra safe"</span>)</pre></td></tr>
<tr> <td class="numLine">&nbsp;68</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> HttpURLConnection createHttpURLConnection(URL url) <span class="keyword">throws</span> URLConnectionFailureException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; HttpURLConnection conn = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;70</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String proxyUrl = Settings.getString(Settings.KEYS.PROXY_SERVER);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;71</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;183</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;72</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;73</td> <td class="nbHitsUncovered"><a title="Line 73: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 73: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (proxyUrl != <span class="keyword">null</span> &amp;&amp; !matchNonProxy(url)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SocketAddress address = <span class="keyword">new</span> InetSocketAddress(proxyUrl, proxyPort);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;76</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String username = Settings.getString(Settings.KEYS.PROXY_USERNAME);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;78</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String password = Settings.getString(Settings.KEYS.PROXY_PASSWORD);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;79</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;80</td> <td class="nbHitsUncovered"><a title="Line 80: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 80: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (username != <span class="keyword">null</span> &amp;&amp; password != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;81</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> Authenticator auth = <span class="keyword">new</span> Authenticator() {</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;83</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> PasswordAuthentication getPasswordAuthentication() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;84</td> <td class="nbHitsUncovered"><a title="Line 84: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 84: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (getRequestorType().equals(Authenticator.RequestorType.PROXY)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">new</span> PasswordAuthentication(username, password.toCharArray());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;86</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;87</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">super</span>.getPasswordAuthentication();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;88</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;89</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; };</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;90</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Authenticator.setDefault(auth);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;91</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;92</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;93</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> Proxy proxy = <span class="keyword">new</span> Proxy(Proxy.Type.HTTP, address);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn = (HttpURLConnection) url.openConnection(proxy);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;95</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;96</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn = (HttpURLConnection) url.openConnection();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;97</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;98</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 10000);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;99</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.setConnectTimeout(timeout);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;100</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.setInstanceFollowRedirects(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;101</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (IOException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;102</td> <td class="nbHitsUncovered"><a title="Line 102: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 102: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (conn != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;103</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.disconnect();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;105</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">finally</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;107</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;108</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;109</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> URLConnectionFailureException(<span class="string">"Error getting connection."</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;110</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;111</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; configureTLS(url, conn);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;112</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> conn;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;113</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;114</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;115</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;184</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * If the protocol is HTTPS, this will configure the cipher suites so that</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;185</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * connections can be made to the NVD, and others, using older versions of</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;186</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Java.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;187</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;116</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Check if hostname matches nonProxy settings</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;117</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;188</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param url the URL</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;189</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param conn the connection</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;190</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;118</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param url the url to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;119</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return matching result. true: match nonProxy</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;120</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;191</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">void</span> configureTLS(URL url, HttpURLConnection conn) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;192</td> <td class="nbHitsUncovered"><a title="Line 192: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 192: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (<span class="string">"https"</span>.equals(url.getProtocol())) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;193</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;194</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> HttpsURLConnection secCon = (HttpsURLConnection) conn;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;195</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactoryEx factory = <span class="keyword">new</span> SSLSocketFactoryEx();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;196</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; secCon.setSSLSocketFactory(factory);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;197</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (NoSuchAlgorithmException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;198</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Unsupported algorithm in SSLSocketFactoryEx"</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;199</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (KeyManagementException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Key mnagement eception in SSLSocketFactoryEx"</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;201</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;202</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;121</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">boolean</span> matchNonProxy(<span class="keyword">final</span> URL url) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;122</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String host = url.getHost();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;123</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;124</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// code partially from org.apache.maven.plugins.site.AbstractDeployMojo#getProxyInfo</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;125</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String nonProxyHosts = Settings.getString(Settings.KEYS.PROXY_NON_PROXY_HOSTS);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;126</td> <td class="nbHitsUncovered"><a title="Line 126: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 126: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (<span class="keyword">null</span> != nonProxyHosts) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;127</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String[] nonProxies = nonProxyHosts.split(<span class="string">"(,)|(;)|(\\|)"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;128</td> <td class="nbHitsUncovered"><a title="Line 128: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 128: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> String nonProxyHost : nonProxies) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;129</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">//if ( StringUtils.contains( nonProxyHost, "*" ) )</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;130</td> <td class="nbHitsUncovered"><a title="Line 130: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 130: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (<span class="keyword">null</span> != nonProxyHost &amp;&amp; nonProxyHost.contains(<span class="string">"*"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;131</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Handle wildcard at the end, beginning or middle of the nonProxyHost</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;132</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> pos = nonProxyHost.indexOf(<span class="string">'*'</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;133</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String nonProxyHostPrefix = nonProxyHost.substring(0, pos);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;134</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String nonProxyHostSuffix = nonProxyHost.substring(pos + 1);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;135</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// prefix*</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;136</td> <td class="nbHitsUncovered"><a title="Line 136: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 136: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%]."> <span class="keyword">if</span> (!StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; host.startsWith(nonProxyHostPrefix) &amp;&amp; StringUtils.isEmpty(nonProxyHostSuffix)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;137</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;138</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;139</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// *suffix</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;140</td> <td class="nbHitsUncovered"><a title="Line 140: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 140: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%]."> <span class="keyword">if</span> (StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; !StringUtils.isEmpty(nonProxyHostSuffix) &amp;&amp; host.endsWith(nonProxyHostSuffix)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;141</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;142</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;143</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// prefix*suffix</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsUncovered"><a title="Line 144: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 144: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%]."> <span class="keyword">if</span> (!StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; host.startsWith(nonProxyHostPrefix) &amp;&amp; !StringUtils.isEmpty(nonProxyHostSuffix)</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;145</td> <td class="nbHitsUncovered"><a title="Line 145: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 145: Conditional coverage 0% (0/2)."> &amp;&amp; host.endsWith(nonProxyHostSuffix)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;146</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;147</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;148</td> <td class="nbHitsUncovered"><a title="Line 148: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 148: Conditional coverage 0% (0/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (host.equals(nonProxyHost)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;149</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;150</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;151</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;152</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;203</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;204</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;153</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;154</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;155</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;156</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;157</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Utility method to create an HttpURLConnection. The use of a proxy here is</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;158</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * optional as there may be cases where a proxy is configured but we don't</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;159</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * want to use it (for example, if there's an internal repository</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;160</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * configured)</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;161</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;162</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param url the URL to connect to</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;163</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param proxy whether to use the proxy (if configured)</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;164</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a newly constructed HttpURLConnection</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;165</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws URLConnectionFailureException thrown if there is an exception</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;166</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;167</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> HttpURLConnection createHttpURLConnection(URL url, <span class="keyword">boolean</span> proxy) <span class="keyword">throws</span> URLConnectionFailureException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;168</td> <td class="nbHitsUncovered"><a title="Line 168: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 168: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (proxy) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;169</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> createHttpURLConnection(url);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;170</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;171</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; HttpURLConnection conn = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;172</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;173</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn = (HttpURLConnection) url.openConnection();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;174</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 10000);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;175</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.setConnectTimeout(timeout);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;176</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; conn.setInstanceFollowRedirects(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;177</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (IOException ioe) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;178</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> URLConnectionFailureException(<span class="string">"Error getting connection."</span>, ioe);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;179</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;180</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; configureTLS(url, conn);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;181</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> conn;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;182</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;183</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;184</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;185</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * If the protocol is HTTPS, this will configure the cipher suites so that</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;186</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * connections can be made to the NVD, and others, using older versions of</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;187</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Java.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;188</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;189</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param url the URL</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;190</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param conn the connection</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;191</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;192</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">void</span> configureTLS(URL url, URLConnection conn) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;193</td> <td class="nbHitsUncovered"><a title="Line 193: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 193: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (<span class="string">"https"</span>.equals(url.getProtocol())) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;194</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;195</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> HttpsURLConnection secCon = (HttpsURLConnection) conn;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;196</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> SSLSocketFactoryEx factory = <span class="keyword">new</span> SSLSocketFactoryEx();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;197</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; secCon.setSSLSocketFactory(factory);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;198</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (NoSuchAlgorithmException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;199</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Unsupported algorithm in SSLSocketFactoryEx"</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (KeyManagementException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;201</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.debug(<span class="string">"Key mnagement eception in SSLSocketFactoryEx"</span>, ex);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;202</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;203</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;204</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;205</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:45 AM.</div>
</body>
</html>

View File

@@ -147,6 +147,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 7/31/16 7:37 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/6/16 6:45 AM.</div>
</body>
</html>

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Dependencies Report</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Dependencies Report</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li>
<a href="project-reports.html" title="Project Reports">
@@ -168,13 +168,6 @@
<span class="none"></span>
Checkstyle</a>
</li>
<li>
<a href="pmd.html" title="PMD">
<span class="none"></span>
PMD</a>
</li>
</ul>
</li>
</ul>

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Dependency Updates Report</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Dependency Updates Report</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li>
<a href="project-reports.html" title="Project Reports">
@@ -168,13 +168,6 @@
<span class="none"></span>
Checkstyle</a>
</li>
<li>
<a href="pmd.html" title="PMD">
<span class="none"></span>
PMD</a>
</li>
</ul>
</li>
</ul>
@@ -222,7 +215,7 @@
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td># of dependencies using the latest version available</td>
<td>23</td></tr>
<td>21</td></tr>
<tr class="b">
<td><img src="images/icon_warning_sml.gif" alt="" /></td>
<td># of dependencies where the next version available is smaller than an incremental version update</td>
@@ -230,15 +223,15 @@
<tr class="a">
<td><img src="images/icon_warning_sml.gif" alt="" /></td>
<td># of dependencies where the next version available is an incremental version update</td>
<td>0</td></tr>
<td>1</td></tr>
<tr class="b">
<td><img src="images/icon_warning_sml.gif" alt="" /></td>
<td># of dependencies where the next version available is a minor version update</td>
<td>7</td></tr>
<td>8</td></tr>
<tr class="a">
<td><img src="images/icon_warning_sml.gif" alt="" /></td>
<td># of dependencies where the next version available is a major version update</td>
<td>1</td></tr></table>
<td>2</td></tr></table>
<div class="section">
<h3><a name="Dependency_Management"></a>Dependency Management</h3>
<table border="0" class="table table-striped">
@@ -303,7 +296,7 @@
<td><b>1.4.177</b></td>
<td></td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><img src="images/icon_warning_sml.gif" alt="" /></td>
<td>com.sun.mail</td>
<td>mailapi</td>
<td>1.5.5</td>
@@ -311,7 +304,7 @@
<td></td>
<td>jar</td>
<td></td>
<td></td>
<td><b>1.5.6</b></td>
<td></td>
<td></td></tr>
<tr class="b">
@@ -507,7 +500,7 @@
<td></td>
<td></td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><img src="images/icon_warning_sml.gif" alt="" /></td>
<td>org.apache.maven.plugin-tools</td>
<td>maven-plugin-annotations</td>
<td>3.4</td>
@@ -516,7 +509,7 @@
<td>jar</td>
<td></td>
<td></td>
<td></td>
<td><b>3.5</b></td>
<td></td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
@@ -531,6 +524,18 @@
<td></td>
<td></td></tr>
<tr class="b">
<td><img src="images/icon_warning_sml.gif" alt="" /></td>
<td>org.apache.maven.shared</td>
<td>maven-dependency-tree</td>
<td>2.2</td>
<td></td>
<td></td>
<td>jar</td>
<td></td>
<td></td>
<td></td>
<td><b>3.0</b></td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>org.apache.velocity</td>
<td>velocity</td>
@@ -542,7 +547,7 @@
<td></td>
<td></td>
<td></td></tr>
<tr class="a">
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>org.glassfish</td>
<td>javax.json</td>
@@ -554,7 +559,7 @@
<td></td>
<td></td>
<td></td></tr>
<tr class="b">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>org.hamcrest</td>
<td>hamcrest-core</td>
@@ -566,7 +571,7 @@
<td></td>
<td></td>
<td></td></tr>
<tr class="a">
<tr class="b">
<td><img src="images/icon_warning_sml.gif" alt="" /></td>
<td>org.jmockit</td>
<td>jmockit</td>
@@ -578,7 +583,7 @@
<td></td>
<td><b>1.25</b></td>
<td></td></tr>
<tr class="b">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>org.jsoup</td>
<td>jsoup</td>
@@ -590,7 +595,7 @@
<td></td>
<td></td>
<td></td></tr>
<tr class="a">
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>org.slf4j</td>
<td>slf4j-api</td>
@@ -602,7 +607,7 @@
<td></td>
<td></td>
<td></td></tr>
<tr class="b">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>org.slf4j</td>
<td>slf4j-simple</td>
@@ -614,7 +619,7 @@
<td></td>
<td></td>
<td></td></tr>
<tr class="a">
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>org.sonatype.plexus</td>
<td>plexus-sec-dispatcher</td>
@@ -626,7 +631,7 @@
<td></td>
<td></td>
<td></td></tr>
<tr class="b">
<tr class="a">
<th>Status</th>
<th>Group Id</th>
<th>Artifact Id</th>
@@ -647,25 +652,25 @@
<div class="section">
<h3><a name="ch.qos.logback:logback-classic"></a>ch.qos.logback:logback-classic</h3>
<table border="0" class="table table-striped">
<tr class="a">
<tr class="b">
<th width="80%">Status</th>
<td><img src="images/icon_success_sml.gif" alt="" />&#160;No newer versions available.</td></tr>
<tr class="b">
<tr class="a">
<th width="80%">Group Id</th>
<td>ch.qos.logback</td></tr>
<tr class="a">
<tr class="b">
<th width="80%">Artifact Id</th>
<td>logback-classic</td></tr>
<tr class="b">
<tr class="a">
<th width="80%">Current Version</th>
<td>1.1.7</td></tr>
<tr class="a">
<tr class="b">
<th width="80%">Scope</th>
<td></td></tr>
<tr class="b">
<tr class="a">
<th width="80%">Classifier</th>
<td></td></tr>
<tr class="a">
<tr class="b">
<th width="80%">Type</th>
<td>jar</td></tr></table></div>
<div class="section">
@@ -748,7 +753,7 @@
<table border="0" class="table table-striped">
<tr class="a">
<th width="80%">Status</th>
<td><img src="images/icon_success_sml.gif" alt="" />&#160;No newer versions available.</td></tr>
<td><img src="images/icon_warning_sml.gif" alt="" />&#160;There is at least one newer incremental version available. Incremental updates are typically passive.</td></tr>
<tr class="b">
<th width="80%">Group Id</th>
<td>com.sun.mail</td></tr>
@@ -766,7 +771,10 @@
<td></td></tr>
<tr class="a">
<th width="80%">Type</th>
<td>jar</td></tr></table></div>
<td>jar</td></tr>
<tr class="b">
<th width="80%">Newer versions</th>
<td><b>1.5.6</b>&#160;<i>Next Incremental</i></td></tr></table></div>
<div class="section">
<h3><a name="commons-cli:commons-cli"></a>commons-cli:commons-cli</h3>
<table border="0" class="table table-striped">
@@ -991,7 +999,7 @@
<td>jar</td></tr>
<tr class="b">
<th width="80%">Newer versions</th>
<td><b>4.8.0</b>&#160;<i>Next Minor</i><br />4.8.1<br />4.9.0<br />4.9.1<br />4.10.0<br />4.10.1<br />4.10.2<br />4.10.3<br /><b>4.10.4</b>&#160;<i>Latest Minor</i><br /><b>5.0.0</b>&#160;<i>Next Major</i><br />5.1.0<br />5.2.0<br />5.2.1<br />5.3.0<br />5.3.1<br />5.3.2<br />5.4.0<br />5.4.1<br />5.5.0<br />5.5.1<br />5.5.2<br />6.0.0<br />6.0.1<br /><b>6.1.0</b>&#160;<i>Latest Major</i></td></tr></table></div>
<td><b>4.8.0</b>&#160;<i>Next Minor</i><br />4.8.1<br />4.9.0<br />4.9.1<br />4.10.0<br />4.10.1<br />4.10.2<br />4.10.3<br /><b>4.10.4</b>&#160;<i>Latest Minor</i><br /><b>5.0.0</b>&#160;<i>Next Major</i><br />5.1.0<br />5.2.0<br />5.2.1<br />5.3.0<br />5.3.1<br />5.3.2<br />5.4.0<br />5.4.1<br />5.5.0<br />5.5.1<br />5.5.2<br />6.0.0<br />6.0.1<br />6.1.0<br /><b>6.2.0</b>&#160;<i>Latest Major</i></td></tr></table></div>
<div class="section">
<h3><a name="org.apache.lucene:lucene-core"></a>org.apache.lucene:lucene-core</h3>
<table border="0" class="table table-striped">
@@ -1018,7 +1026,7 @@
<td>jar</td></tr>
<tr class="b">
<th width="80%">Newer versions</th>
<td><b>4.8.0</b>&#160;<i>Next Minor</i><br />4.8.1<br />4.9.0<br />4.9.1<br />4.10.0<br />4.10.1<br />4.10.2<br />4.10.3<br /><b>4.10.4</b>&#160;<i>Latest Minor</i><br /><b>5.0.0</b>&#160;<i>Next Major</i><br />5.1.0<br />5.2.0<br />5.2.1<br />5.3.0<br />5.3.1<br />5.3.2<br />5.4.0<br />5.4.1<br />5.5.0<br />5.5.1<br />5.5.2<br />6.0.0<br />6.0.1<br /><b>6.1.0</b>&#160;<i>Latest Major</i></td></tr></table></div>
<td><b>4.8.0</b>&#160;<i>Next Minor</i><br />4.8.1<br />4.9.0<br />4.9.1<br />4.10.0<br />4.10.1<br />4.10.2<br />4.10.3<br /><b>4.10.4</b>&#160;<i>Latest Minor</i><br /><b>5.0.0</b>&#160;<i>Next Major</i><br />5.1.0<br />5.2.0<br />5.2.1<br />5.3.0<br />5.3.1<br />5.3.2<br />5.4.0<br />5.4.1<br />5.5.0<br />5.5.1<br />5.5.2<br />6.0.0<br />6.0.1<br />6.1.0<br /><b>6.2.0</b>&#160;<i>Latest Major</i></td></tr></table></div>
<div class="section">
<h3><a name="org.apache.lucene:lucene-queryparser"></a>org.apache.lucene:lucene-queryparser</h3>
<table border="0" class="table table-striped">
@@ -1045,7 +1053,7 @@
<td>jar</td></tr>
<tr class="b">
<th width="80%">Newer versions</th>
<td><b>4.8.0</b>&#160;<i>Next Minor</i><br />4.8.1<br />4.9.0<br />4.9.1<br />4.10.0<br />4.10.1<br />4.10.2<br />4.10.3<br /><b>4.10.4</b>&#160;<i>Latest Minor</i><br /><b>5.0.0</b>&#160;<i>Next Major</i><br />5.1.0<br />5.2.0<br />5.2.1<br />5.3.0<br />5.3.1<br />5.3.2<br />5.4.0<br />5.4.1<br />5.5.0<br />5.5.1<br />5.5.2<br />6.0.0<br />6.0.1<br /><b>6.1.0</b>&#160;<i>Latest Major</i></td></tr></table></div>
<td><b>4.8.0</b>&#160;<i>Next Minor</i><br />4.8.1<br />4.9.0<br />4.9.1<br />4.10.0<br />4.10.1<br />4.10.2<br />4.10.3<br /><b>4.10.4</b>&#160;<i>Latest Minor</i><br /><b>5.0.0</b>&#160;<i>Next Major</i><br />5.1.0<br />5.2.0<br />5.2.1<br />5.3.0<br />5.3.1<br />5.3.2<br />5.4.0<br />5.4.1<br />5.5.0<br />5.5.1<br />5.5.2<br />6.0.0<br />6.0.1<br />6.1.0<br /><b>6.2.0</b>&#160;<i>Latest Major</i></td></tr></table></div>
<div class="section">
<h3><a name="org.apache.lucene:lucene-test-framework"></a>org.apache.lucene:lucene-test-framework</h3>
<table border="0" class="table table-striped">
@@ -1072,7 +1080,7 @@
<td>jar</td></tr>
<tr class="b">
<th width="80%">Newer versions</th>
<td><b>4.8.0</b>&#160;<i>Next Minor</i><br />4.8.1<br />4.9.0<br />4.9.1<br />4.10.0<br />4.10.1<br />4.10.2<br />4.10.3<br /><b>4.10.4</b>&#160;<i>Latest Minor</i><br /><b>5.0.0</b>&#160;<i>Next Major</i><br />5.1.0<br />5.2.0<br />5.2.1<br />5.3.0<br />5.3.1<br />5.3.2<br />5.4.0<br />5.4.1<br />5.5.0<br />5.5.1<br />5.5.2<br />6.0.0<br />6.0.1<br /><b>6.1.0</b>&#160;<i>Latest Major</i></td></tr></table></div>
<td><b>4.8.0</b>&#160;<i>Next Minor</i><br />4.8.1<br />4.9.0<br />4.9.1<br />4.10.0<br />4.10.1<br />4.10.2<br />4.10.3<br /><b>4.10.4</b>&#160;<i>Latest Minor</i><br /><b>5.0.0</b>&#160;<i>Next Major</i><br />5.1.0<br />5.2.0<br />5.2.1<br />5.3.0<br />5.3.1<br />5.3.2<br />5.4.0<br />5.4.1<br />5.5.0<br />5.5.1<br />5.5.2<br />6.0.0<br />6.0.1<br />6.1.0<br /><b>6.2.0</b>&#160;<i>Latest Major</i></td></tr></table></div>
<div class="section">
<h3><a name="org.apache.maven:maven-core"></a>org.apache.maven:maven-core</h3>
<table border="0" class="table table-striped">
@@ -1174,7 +1182,7 @@
<table border="0" class="table table-striped">
<tr class="a">
<th width="80%">Status</th>
<td><img src="images/icon_success_sml.gif" alt="" />&#160;No newer versions available.</td></tr>
<td><img src="images/icon_warning_sml.gif" alt="" />&#160;There is at least one newer minor version available. Minor updates are sometimes passive.</td></tr>
<tr class="b">
<th width="80%">Group Id</th>
<td>org.apache.maven.plugin-tools</td></tr>
@@ -1192,7 +1200,10 @@
<td></td></tr>
<tr class="a">
<th width="80%">Type</th>
<td>jar</td></tr></table></div>
<td>jar</td></tr>
<tr class="b">
<th width="80%">Newer versions</th>
<td><b>3.5</b>&#160;<i>Next Minor</i></td></tr></table></div>
<div class="section">
<h3><a name="org.apache.maven.reporting:maven-reporting-api"></a>org.apache.maven.reporting:maven-reporting-api</h3>
<table border="0" class="table table-striped">
@@ -1218,6 +1229,33 @@
<th width="80%">Type</th>
<td>jar</td></tr></table></div>
<div class="section">
<h3><a name="org.apache.maven.shared:maven-dependency-tree"></a>org.apache.maven.shared:maven-dependency-tree</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th width="80%">Status</th>
<td><img src="images/icon_warning_sml.gif" alt="" />&#160;There is at least one newer major version available. Major updates are rarely passive.</td></tr>
<tr class="b">
<th width="80%">Group Id</th>
<td>org.apache.maven.shared</td></tr>
<tr class="a">
<th width="80%">Artifact Id</th>
<td>maven-dependency-tree</td></tr>
<tr class="b">
<th width="80%">Current Version</th>
<td>2.2</td></tr>
<tr class="a">
<th width="80%">Scope</th>
<td></td></tr>
<tr class="b">
<th width="80%">Classifier</th>
<td></td></tr>
<tr class="a">
<th width="80%">Type</th>
<td>jar</td></tr>
<tr class="b">
<th width="80%">Newer versions</th>
<td><b>3.0</b>&#160;<i>Next Major</i></td></tr></table></div>
<div class="section">
<h3><a name="org.apache.velocity:velocity"></a>org.apache.velocity:velocity</h3>
<table border="0" class="table table-striped">
<tr class="a">
@@ -1315,7 +1353,7 @@
<td>jar</td></tr>
<tr class="b">
<th width="80%">Newer versions</th>
<td><b>1.25</b>&#160;<i>Next Minor</i></td></tr></table></div>
<td><b>1.25</b>&#160;<i>Next Minor</i><br />1.26<br /><b>1.27</b>&#160;<i>Latest Minor</i></td></tr></table></div>
<div class="section">
<h3><a name="org.jsoup:jsoup"></a>org.jsoup:jsoup</h3>
<table border="0" class="table table-striped">

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; FindBugs Bug Detector Report</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">FindBugs Bug Detector Report</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li>
<a href="project-reports.html" title="Project Reports">
@@ -168,13 +168,6 @@
<span class="none"></span>
Checkstyle</a>
</li>
<li>
<a href="pmd.html" title="PMD">
<span class="none"></span>
PMD</a>
</li>
</ul>
</li>
</ul>

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; About</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">About</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li>
<a href="project-reports.html" title="Project Reports">

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; CI Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">CI Management</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -135,7 +135,7 @@
</li>
</ul>
</li>
<li>
<a href="project-reports.html" title="Project Reports">

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Issue Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Issue Management</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -135,7 +135,7 @@
</li>
</ul>
</li>
<li>
<a href="project-reports.html" title="Project Reports">

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Project Licenses</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Project Licenses</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -135,7 +135,7 @@
</li>
</ul>
</li>
<li>
<a href="project-reports.html" title="Project Reports">

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Project Mailing Lists</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Project Mailing Lists</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -135,7 +135,7 @@
</li>
</ul>
</li>
<li>
<a href="project-reports.html" title="Project Reports">

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Plugin Updates Report</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Plugin Updates Report</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li>
<a href="project-reports.html" title="Project Reports">
@@ -168,13 +168,6 @@
<span class="none"></span>
Checkstyle</a>
</li>
<li>
<a href="pmd.html" title="PMD">
<span class="none"></span>
PMD</a>
</li>
</ul>
</li>
</ul>

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Project Information</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Project Information</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -135,7 +135,7 @@
</li>
</ul>
</li>
<li>
<a href="project-reports.html" title="Project Reports">

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Generated Reports</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Generated Reports</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li class="active">
<a href="#"><span class="icon-chevron-down"></span>Project Reports</a>
@@ -168,13 +168,6 @@
<span class="none"></span>
Checkstyle</a>
</li>
<li>
<a href="pmd.html" title="PMD">
<span class="none"></span>
PMD</a>
</li>
</ul>
</li>
</ul>
@@ -256,10 +249,7 @@
<td>Provides details of the plugins used by this project which have newer versions available.</td></tr>
<tr class="b">
<td><a href="checkstyle.html">Checkstyle</a></td>
<td>Report on coding style conventions.</td></tr>
<tr class="a">
<td><a href="pmd.html">PMD</a></td>
<td>Verification of coding rules.</td></tr></table></div></div>
<td>Report on coding style conventions.</td></tr></table></div></div>
</div>
</div>
</div>

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Project Summary</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Project Summary</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -135,7 +135,7 @@
</li>
</ul>
</li>
<li>
<a href="project-reports.html" title="Project Reports">
@@ -223,7 +223,7 @@
<td>dependency-check-utils</td></tr>
<tr class="b">
<td>Version</td>
<td>1.4.2</td></tr>
<td>1.4.3</td></tr>
<tr class="a">
<td>Type</td>
<td>jar</td></tr>

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Source Code Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Source Code Management</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -135,7 +135,7 @@
</li>
</ul>
</li>
<li>
<a href="project-reports.html" title="Project Reports">

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Surefire Report</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Surefire Report</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li>
<a href="project-reports.html" title="Project Reports">
@@ -168,13 +168,6 @@
<span class="none"></span>
Checkstyle</a>
</li>
<li>
<a href="pmd.html" title="PMD">
<span class="none"></span>
PMD</a>
</li>
</ul>
</li>
</ul>
@@ -251,7 +244,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.602</td></tr></table><br />
<td>0.689</td></tr></table><br />
<p>Note: failures are anticipated and checked for with assertions while errors are unanticipated.</p><br /></div>
<div class="section">
<h2><a name="Package_List"></a>Package List</h2><a name="Package_List"></a>
@@ -272,7 +265,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.602</td></tr></table><br />
<td>0.689</td></tr></table><br />
<p>Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.</p>
<div class="section">
<h3><a name="org.owasp.dependencycheck.utils"></a>org.owasp.dependencycheck.utils</h3><a name="org.owasp.dependencycheck.utils"></a>
@@ -294,7 +287,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.401</td></tr>
<td>0.492</td></tr>
<tr class="a">
<td><a href="#org.owasp.dependencycheck.utilsDownloaderTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.owasp.dependencycheck.utilsDownloaderTest">DownloaderTest</a></td>
@@ -303,7 +296,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.016</td></tr>
<td>0</td></tr>
<tr class="b">
<td><a href="#org.owasp.dependencycheck.utilsExpectedOjectInputStreamTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.owasp.dependencycheck.utilsExpectedOjectInputStreamTest">ExpectedOjectInputStreamTest</a></td>
@@ -312,7 +305,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.069</td></tr>
<td>0.079</td></tr>
<tr class="a">
<td><a href="#org.owasp.dependencycheck.utilsFileUtilsTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.owasp.dependencycheck.utilsFileUtilsTest">FileUtilsTest</a></td>
@@ -321,7 +314,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.116</td></tr>
<td>0.115</td></tr>
<tr class="b">
<td><a href="#org.owasp.dependencycheck.utilsSettingsTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.owasp.dependencycheck.utilsSettingsTest">SettingsTest</a></td>
@@ -330,7 +323,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0</td></tr></table></div><br /></div>
<td>0.003</td></tr></table></div><br /></div>
<div class="section">
<h2><a name="Test_Cases"></a>Test Cases</h2><a name="Test_Cases"></a>
<p>[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</p>
@@ -340,19 +333,19 @@ function toggleDisplay(elementId) {
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.ChecksumTest.testGetChecksum_NoSuchAlgorithm"></a>testGetChecksum_NoSuchAlgorithm</td>
<td>0.332</td></tr>
<td>0.399</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.ChecksumTest.testGetChecksum"></a>testGetChecksum</td>
<td>0</td></tr>
<td>0.005</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.ChecksumTest.testGetMD5Checksum"></a>testGetMD5Checksum</td>
<td>0</td></tr>
<td>0.001</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.ChecksumTest.testGetChecksum_FileNotFound"></a>testGetChecksum_FileNotFound</td>
<td>0</td></tr>
<td>0.001</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.ChecksumTest.testGetHex"></a>testGetHex</td>
@@ -360,7 +353,7 @@ function toggleDisplay(elementId) {
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.ChecksumTest.testGetSHA1Checksum"></a>testGetSHA1Checksum</td>
<td>0</td></tr></table></div>
<td>0.001</td></tr></table></div>
<div class="section">
<h3><a name="DownloaderTest"></a>DownloaderTest</h3><a name="org.owasp.dependencycheck.utilsDownloaderTest"></a>
<table border="1" class="table table-striped">
@@ -374,11 +367,11 @@ function toggleDisplay(elementId) {
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.ExpectedOjectInputStreamTest.testResolveClassException"></a>testResolveClassException</td>
<td>0.052</td></tr>
<td>0.078</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.ExpectedOjectInputStreamTest.testResolveClass"></a>testResolveClass</td>
<td>0</td></tr></table></div>
<td>0.001</td></tr></table></div>
<div class="section">
<h3><a name="FileUtilsTest"></a>FileUtilsTest</h3><a name="org.owasp.dependencycheck.utilsFileUtilsTest"></a>
<table border="1" class="table table-striped">
@@ -389,7 +382,7 @@ function toggleDisplay(elementId) {
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.FileUtilsTest.testDelete"></a>testDelete</td>
<td>0.116</td></tr></table></div>
<td>0.114</td></tr></table></div>
<div class="section">
<h3><a name="SettingsTest"></a>SettingsTest</h3><a name="org.owasp.dependencycheck.utilsSettingsTest"></a>
<table border="1" class="table table-striped">
@@ -404,7 +397,7 @@ function toggleDisplay(elementId) {
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.SettingsTest.testMergeProperties_String"></a>testMergeProperties_String</td>
<td>0</td></tr>
<td>0.001</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.owasp.dependencycheck.utils.SettingsTest.testGetDataFile"></a>testGetDataFile</td>

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Tag List report</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Tag List report</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -86,7 +86,7 @@
<span class="icon-chevron-right"></span>
Project Information</a>
</li>
<li>
<a href="project-reports.html" title="Project Reports">
@@ -168,13 +168,6 @@
<span class="none"></span>
Checkstyle</a>
</li>
<li>
<a href="pmd.html" title="PMD">
<span class="none"></span>
PMD</a>
</li>
</ul>
</li>
</ul>

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-07-31
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-06
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20160731" />
<meta name="Date-Revision-yyyymmdd" content="20160906" />
<meta http-equiv="Content-Language" content="en" />
<title>dependency-check-ant &#x2013; Project Team</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
@@ -52,7 +52,7 @@
<ul class="breadcrumb">
<li class="">
<a href="../../../../../../target/site/1.4.2/#" title="">
<a href="../../../../../../target/site/1.4.3/#" title="">
</a>
<span class="divider">/</span>
</li>
@@ -64,9 +64,9 @@
<li class="active ">Project Team</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-07-31</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-09-06</li>
<li id="projectVersion" class="pull-right">
Version: 1.4.2
Version: 1.4.3
</li>
</ul>
@@ -135,7 +135,7 @@
</li>
</ul>
</li>
<li>
<a href="project-reports.html" title="Project Reports">

View File

@@ -4,7 +4,7 @@
<!-- this is a JXR report set -->
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference</title>
<title>Dependency-Check Utils 1.4.3 Reference</title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">

View File

@@ -3,7 +3,7 @@
<html xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference Package org.owasp.dependencycheck.utils</title>
<title>Dependency-Check Utils 1.4.3 Reference Package org.owasp.dependencycheck.utils</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
</head>
<body>

View File

@@ -3,7 +3,7 @@
<html xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference Package org.owasp.dependencycheck.utils</title>
<title>Dependency-Check Utils 1.4.3 Reference Package org.owasp.dependencycheck.utils</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
</head>
<body>

View File

@@ -3,7 +3,7 @@
<html xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference</title>
<title>Dependency-Check Utils 1.4.3 Reference</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
</head>
<body>

View File

@@ -3,7 +3,7 @@
<html xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference</title>
<title>Dependency-Check Utils 1.4.3 Reference</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
</head>
<body>
@@ -24,7 +24,7 @@
</ul>
</div>
<h2>Dependency-Check Utils 1.4.2 Reference</h2>
<h2>Dependency-Check Utils 1.4.3 Reference</h2>
<table class="summary">
<thead>

View File

@@ -4,7 +4,7 @@
<!-- this is a JXR report set -->
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference</title>
<title>Dependency-Check Utils 1.4.3 Reference</title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">

View File

@@ -66,11 +66,11 @@
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> * @throws NoSuchAlgorithmException when an algorithm is specified that does not exist</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> byte[] getChecksum(String algorithm, File file) <strong class="jxr_keyword">throws</strong> NoSuchAlgorithmException, IOException {
<a class="jxr_linenumber" name="L61" href="#L61">61</a> MessageDigest digest = MessageDigest.getInstance(algorithm);
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">final</strong> MessageDigest digest = MessageDigest.getInstance(algorithm);
<a class="jxr_linenumber" name="L62" href="#L62">62</a> FileInputStream fis = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L64" href="#L64">64</a> fis = <strong class="jxr_keyword">new</strong> FileInputStream(file);
<a class="jxr_linenumber" name="L65" href="#L65">65</a> FileChannel ch = fis.getChannel();
<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">final</strong> FileChannel ch = fis.getChannel();
<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">long</strong> remainingToRead = file.length();
<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">long</strong> start = 0;
<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">while</strong> (remainingToRead &gt; 0) {
@@ -82,7 +82,7 @@
<a class="jxr_linenumber" name="L74" href="#L74">74</a> amountToRead = remainingToRead;
<a class="jxr_linenumber" name="L75" href="#L75">75</a> remainingToRead = 0;
<a class="jxr_linenumber" name="L76" href="#L76">76</a> }
<a class="jxr_linenumber" name="L77" href="#L77">77</a> MappedByteBuffer byteBuffer = ch.map(FileChannel.MapMode.READ_ONLY, start, amountToRead);
<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">final</strong> MappedByteBuffer byteBuffer = ch.map(FileChannel.MapMode.READ_ONLY, start, amountToRead);
<a class="jxr_linenumber" name="L78" href="#L78">78</a> digest.update(byteBuffer);
<a class="jxr_linenumber" name="L79" href="#L79">79</a> start += amountToRead;
<a class="jxr_linenumber" name="L80" href="#L80">80</a> }
@@ -107,7 +107,7 @@
<a class="jxr_linenumber" name="L99" href="#L99">99</a> <em class="jxr_javadoccomment"> * @throws NoSuchAlgorithmException when the MD5 algorithm is not available</em>
<a class="jxr_linenumber" name="L100" href="#L100">100</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String getMD5Checksum(File file) <strong class="jxr_keyword">throws</strong> IOException, NoSuchAlgorithmException {
<a class="jxr_linenumber" name="L102" href="#L102">102</a> byte[] b = getChecksum(<span class="jxr_string">"MD5"</span>, file);
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">final</strong> byte[] b = getChecksum(<span class="jxr_string">"MD5"</span>, file);
<a class="jxr_linenumber" name="L103" href="#L103">103</a> <strong class="jxr_keyword">return</strong> getHex(b);
<a class="jxr_linenumber" name="L104" href="#L104">104</a> }
<a class="jxr_linenumber" name="L105" href="#L105">105</a>
@@ -120,7 +120,7 @@
<a class="jxr_linenumber" name="L112" href="#L112">112</a> <em class="jxr_javadoccomment"> * @throws NoSuchAlgorithmException when the SHA1 algorithm is not available</em>
<a class="jxr_linenumber" name="L113" href="#L113">113</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L114" href="#L114">114</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String getSHA1Checksum(File file) <strong class="jxr_keyword">throws</strong> IOException, NoSuchAlgorithmException {
<a class="jxr_linenumber" name="L115" href="#L115">115</a> byte[] b = getChecksum(<span class="jxr_string">"SHA1"</span>, file);
<a class="jxr_linenumber" name="L115" href="#L115">115</a> <strong class="jxr_keyword">final</strong> byte[] b = getChecksum(<span class="jxr_string">"SHA1"</span>, file);
<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">return</strong> getHex(b);
<a class="jxr_linenumber" name="L117" href="#L117">117</a> }
<a class="jxr_linenumber" name="L118" href="#L118">118</a> <em class="jxr_javadoccomment">/**</em>

View File

@@ -308,11 +308,11 @@
<a class="jxr_linenumber" name="L300" href="#L300">300</a> <em class="jxr_javadoccomment"> * @throws DownloadFailedException a wrapper exception that contains the</em>
<a class="jxr_linenumber" name="L301" href="#L301">301</a> <em class="jxr_javadoccomment"> * original exception as the cause</em>
<a class="jxr_linenumber" name="L302" href="#L302">302</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L303" href="#L303">303</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> checkForCommonExceptionTypes(IOException ex) <strong class="jxr_keyword">throws</strong> DownloadFailedException {
<a class="jxr_linenumber" name="L303" href="#L303">303</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> checkForCommonExceptionTypes(IOException ex) <strong class="jxr_keyword">throws</strong> DownloadFailedException {
<a class="jxr_linenumber" name="L304" href="#L304">304</a> Throwable cause = ex;
<a class="jxr_linenumber" name="L305" href="#L305">305</a> <strong class="jxr_keyword">while</strong> (cause != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L306" href="#L306">306</a> <strong class="jxr_keyword">if</strong> (cause instanceof java.net.UnknownHostException) {
<a class="jxr_linenumber" name="L307" href="#L307">307</a> <strong class="jxr_keyword">final</strong> String msg = String.format(<span class="jxr_string">"Unable to resolve domain '%s'"</span>, cause.getMessage());
<a class="jxr_linenumber" name="L307" href="#L307">307</a> <strong class="jxr_keyword">final</strong> String msg = format(<span class="jxr_string">"Unable to resolve domain '%s'"</span>, cause.getMessage());
<a class="jxr_linenumber" name="L308" href="#L308">308</a> LOGGER.error(msg);
<a class="jxr_linenumber" name="L309" href="#L309">309</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/DownloadFailedException.html">DownloadFailedException</a>(msg);
<a class="jxr_linenumber" name="L310" href="#L310">310</a> }

View File

@@ -32,91 +32,92 @@
<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> java.util.UUID;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> * A collection of utilities for processing information about files.</em>
<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * @author Jeremy Long</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/FileUtils.html">FileUtils</a> {
<a class="jxr_linenumber" name="L34" href="#L34">34</a>
<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment"> * The logger.</em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOGGER = LoggerFactory.getLogger(FileUtils.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * Bit bucket for non-Windows systems</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String BIT_BUCKET_UNIX = <span class="jxr_string">"/dev/null"</span>;
<a class="jxr_linenumber" name="L43" href="#L43">43</a>
<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> * Bit bucket for Windows systems (yes, only one 'L')</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String BIT_BUCKET_WIN = <span class="jxr_string">"NUL"</span>;
<a class="jxr_linenumber" name="L48" href="#L48">48</a>
<a class="jxr_linenumber" name="L49" href="#L49">49</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <em class="jxr_javadoccomment"> * Private constructor for a utility class.</em>
<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/owasp/dependencycheck/utils/FileUtils.html">FileUtils</a>() {
<a class="jxr_linenumber" name="L53" href="#L53">53</a> }
<a class="jxr_linenumber" name="L54" href="#L54">54</a>
<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> * Returns the (lowercase) file extension for a specified file.</em>
<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> * @param fileName the file name to retrieve the file extension from.</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * @return the file extension.</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String getFileExtension(String fileName) {
<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">final</strong> String fileExt = FilenameUtils.getExtension(fileName);
<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong> == fileExt || fileExt.isEmpty() ? <strong class="jxr_keyword">null</strong> : fileExt.toLowerCase();
<a class="jxr_linenumber" name="L64" href="#L64">64</a> }
<a class="jxr_linenumber" name="L65" href="#L65">65</a>
<a class="jxr_linenumber" name="L66" href="#L66">66</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L67" href="#L67">67</a> <em class="jxr_javadoccomment"> * Deletes a file. If the File is a directory it will recursively delete the contents.</em>
<a class="jxr_linenumber" name="L68" href="#L68">68</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L69" href="#L69">69</a> <em class="jxr_javadoccomment"> * @param file the File to delete</em>
<a class="jxr_linenumber" name="L70" href="#L70">70</a> <em class="jxr_javadoccomment"> * @return true if the file was deleted successfully, otherwise false</em>
<a class="jxr_linenumber" name="L71" href="#L71">71</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> delete(File file) {
<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> success = org.apache.commons.io.FileUtils.deleteQuietly(file);
<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">if</strong> (!success) {
<a class="jxr_linenumber" name="L75" href="#L75">75</a> LOGGER.debug(<span class="jxr_string">"Failed to delete file: {}; attempting to delete on exit."</span>, file.getPath());
<a class="jxr_linenumber" name="L76" href="#L76">76</a> file.deleteOnExit();
<a class="jxr_linenumber" name="L77" href="#L77">77</a> }
<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">return</strong> success;
<a class="jxr_linenumber" name="L79" href="#L79">79</a> }
<a class="jxr_linenumber" name="L80" href="#L80">80</a>
<a class="jxr_linenumber" name="L81" href="#L81">81</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L82" href="#L82">82</a> <em class="jxr_javadoccomment"> * Generates a new temporary file name that is guaranteed to be unique.</em>
<a class="jxr_linenumber" name="L83" href="#L83">83</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L84" href="#L84">84</a> <em class="jxr_javadoccomment"> * @param prefix the prefix for the file name to generate</em>
<a class="jxr_linenumber" name="L85" href="#L85">85</a> <em class="jxr_javadoccomment"> * @param extension the extension of the generated file name</em>
<a class="jxr_linenumber" name="L86" href="#L86">86</a> <em class="jxr_javadoccomment"> * @return a temporary File</em>
<a class="jxr_linenumber" name="L87" href="#L87">87</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException thrown if the temporary folder could not be created</em>
<a class="jxr_linenumber" name="L88" href="#L88">88</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> File getTempFile(String prefix, String extension) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">final</strong> File dir = Settings.getTempDirectory();
<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">final</strong> String tempFileName = String.format(<span class="jxr_string">"%s%s.%s"</span>, prefix, UUID.randomUUID().toString(), extension);
<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">final</strong> File tempFile = <strong class="jxr_keyword">new</strong> File(dir, tempFileName);
<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">if</strong> (tempFile.exists()) {
<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">return</strong> getTempFile(prefix, extension);
<a class="jxr_linenumber" name="L95" href="#L95">95</a> }
<a class="jxr_linenumber" name="L96" href="#L96">96</a> <strong class="jxr_keyword">return</strong> tempFile;
<a class="jxr_linenumber" name="L97" href="#L97">97</a> }
<a class="jxr_linenumber" name="L98" href="#L98">98</a>
<a class="jxr_linenumber" name="L99" href="#L99">99</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L100" href="#L100">100</a> <em class="jxr_javadoccomment"> * Return the bit bucket for the OS. '/dev/null' for Unix and 'NUL' for Windows</em>
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <em class="jxr_javadoccomment"> * @return a String containing the bit bucket</em>
<a class="jxr_linenumber" name="L103" href="#L103">103</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L104" href="#L104">104</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String getBitBucket() {
<a class="jxr_linenumber" name="L105" href="#L105">105</a> <strong class="jxr_keyword">if</strong> (System.getProperty(<span class="jxr_string">"os.name"</span>).startsWith(<span class="jxr_string">"Windows"</span>)) {
<a class="jxr_linenumber" name="L106" href="#L106">106</a> <strong class="jxr_keyword">return</strong> BIT_BUCKET_WIN;
<a class="jxr_linenumber" name="L107" href="#L107">107</a> } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L108" href="#L108">108</a> <strong class="jxr_keyword">return</strong> BIT_BUCKET_UNIX;
<a class="jxr_linenumber" name="L109" href="#L109">109</a> }
<a class="jxr_linenumber" name="L110" href="#L110">110</a> }
<a class="jxr_linenumber" name="L111" href="#L111">111</a> }
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> org.apache.commons.lang3.SystemUtils;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * A collection of utilities for processing information about files.</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * @author Jeremy Long</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/FileUtils.html">FileUtils</a> {
<a class="jxr_linenumber" name="L35" href="#L35">35</a>
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> * The logger.</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOGGER = LoggerFactory.getLogger(FileUtils.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> * Bit bucket for non-Windows systems</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String BIT_BUCKET_UNIX = <span class="jxr_string">"/dev/null"</span>;
<a class="jxr_linenumber" name="L44" href="#L44">44</a>
<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> * Bit bucket for Windows systems (yes, only one 'L')</em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String BIT_BUCKET_WIN = <span class="jxr_string">"NUL"</span>;
<a class="jxr_linenumber" name="L49" href="#L49">49</a>
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment"> * Private constructor for a utility class.</em>
<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/owasp/dependencycheck/utils/FileUtils.html">FileUtils</a>() {
<a class="jxr_linenumber" name="L54" href="#L54">54</a> }
<a class="jxr_linenumber" name="L55" href="#L55">55</a>
<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment"> * Returns the (lowercase) file extension for a specified file.</em>
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * @param fileName the file name to retrieve the file extension from.</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * @return the file extension.</em>
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String getFileExtension(String fileName) {
<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">final</strong> String fileExt = FilenameUtils.getExtension(fileName);
<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong> == fileExt || fileExt.isEmpty() ? <strong class="jxr_keyword">null</strong> : fileExt.toLowerCase();
<a class="jxr_linenumber" name="L65" href="#L65">65</a> }
<a class="jxr_linenumber" name="L66" href="#L66">66</a>
<a class="jxr_linenumber" name="L67" href="#L67">67</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L68" href="#L68">68</a> <em class="jxr_javadoccomment"> * Deletes a file. If the File is a directory it will recursively delete the contents.</em>
<a class="jxr_linenumber" name="L69" href="#L69">69</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L70" href="#L70">70</a> <em class="jxr_javadoccomment"> * @param file the File to delete</em>
<a class="jxr_linenumber" name="L71" href="#L71">71</a> <em class="jxr_javadoccomment"> * @return true if the file was deleted successfully, otherwise false</em>
<a class="jxr_linenumber" name="L72" href="#L72">72</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> delete(File file) {
<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> success = org.apache.commons.io.FileUtils.deleteQuietly(file);
<a class="jxr_linenumber" name="L75" href="#L75">75</a> <strong class="jxr_keyword">if</strong> (!success) {
<a class="jxr_linenumber" name="L76" href="#L76">76</a> LOGGER.debug(<span class="jxr_string">"Failed to delete file: {}; attempting to delete on exit."</span>, file.getPath());
<a class="jxr_linenumber" name="L77" href="#L77">77</a> file.deleteOnExit();
<a class="jxr_linenumber" name="L78" href="#L78">78</a> }
<a class="jxr_linenumber" name="L79" href="#L79">79</a> <strong class="jxr_keyword">return</strong> success;
<a class="jxr_linenumber" name="L80" href="#L80">80</a> }
<a class="jxr_linenumber" name="L81" href="#L81">81</a>
<a class="jxr_linenumber" name="L82" href="#L82">82</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L83" href="#L83">83</a> <em class="jxr_javadoccomment"> * Generates a new temporary file name that is guaranteed to be unique.</em>
<a class="jxr_linenumber" name="L84" href="#L84">84</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L85" href="#L85">85</a> <em class="jxr_javadoccomment"> * @param prefix the prefix for the file name to generate</em>
<a class="jxr_linenumber" name="L86" href="#L86">86</a> <em class="jxr_javadoccomment"> * @param extension the extension of the generated file name</em>
<a class="jxr_linenumber" name="L87" href="#L87">87</a> <em class="jxr_javadoccomment"> * @return a temporary File</em>
<a class="jxr_linenumber" name="L88" href="#L88">88</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException thrown if the temporary folder could not be created</em>
<a class="jxr_linenumber" name="L89" href="#L89">89</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> File getTempFile(String prefix, String extension) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">final</strong> File dir = Settings.getTempDirectory();
<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">final</strong> String tempFileName = String.format(<span class="jxr_string">"%s%s.%s"</span>, prefix, UUID.randomUUID().toString(), extension);
<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">final</strong> File tempFile = <strong class="jxr_keyword">new</strong> File(dir, tempFileName);
<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">if</strong> (tempFile.exists()) {
<a class="jxr_linenumber" name="L95" href="#L95">95</a> <strong class="jxr_keyword">return</strong> getTempFile(prefix, extension);
<a class="jxr_linenumber" name="L96" href="#L96">96</a> }
<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">return</strong> tempFile;
<a class="jxr_linenumber" name="L98" href="#L98">98</a> }
<a class="jxr_linenumber" name="L99" href="#L99">99</a>
<a class="jxr_linenumber" name="L100" href="#L100">100</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_javadoccomment"> * Return the bit bucket for the OS. '/dev/null' for Unix and 'NUL' for Windows</em>
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L103" href="#L103">103</a> <em class="jxr_javadoccomment"> * @return a String containing the bit bucket</em>
<a class="jxr_linenumber" name="L104" href="#L104">104</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L105" href="#L105">105</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String getBitBucket() {
<a class="jxr_linenumber" name="L106" href="#L106">106</a> <strong class="jxr_keyword">if</strong> (SystemUtils.IS_OS_WINDOWS) {
<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">return</strong> BIT_BUCKET_WIN;
<a class="jxr_linenumber" name="L108" href="#L108">108</a> } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L109" href="#L109">109</a> <strong class="jxr_keyword">return</strong> BIT_BUCKET_UNIX;
<a class="jxr_linenumber" name="L110" href="#L110">110</a> }
<a class="jxr_linenumber" name="L111" href="#L111">111</a> }
<a class="jxr_linenumber" name="L112" href="#L112">112</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>

View File

@@ -86,7 +86,7 @@
<a class="jxr_linenumber" name="L78" href="#L78">78</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L79" href="#L79">79</a> @Override
<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">public</strong> String[] getDefaultCipherSuites() {
<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">return</strong> Arrays.copyOf(ciphers, ciphers.length);
<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">return</strong> sslCtxt.getSocketFactory().getDefaultCipherSuites();
<a class="jxr_linenumber" name="L82" href="#L82">82</a> }
<a class="jxr_linenumber" name="L83" href="#L83">83</a>
<a class="jxr_linenumber" name="L84" href="#L84">84</a> <em class="jxr_javadoccomment">/**</em>
@@ -96,7 +96,7 @@
<a class="jxr_linenumber" name="L88" href="#L88">88</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L89" href="#L89">89</a> @Override
<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">public</strong> String[] getSupportedCipherSuites() {
<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">return</strong> Arrays.copyOf(ciphers, ciphers.length);
<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">return</strong> sslCtxt.getSocketFactory().getSupportedCipherSuites();
<a class="jxr_linenumber" name="L92" href="#L92">92</a> }
<a class="jxr_linenumber" name="L93" href="#L93">93</a>
<a class="jxr_linenumber" name="L94" href="#L94">94</a> <em class="jxr_javadoccomment">/**</em>
@@ -133,264 +133,168 @@
<a class="jxr_linenumber" name="L125" href="#L125">125</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(s, host, port, autoClose);
<a class="jxr_linenumber" name="L126" href="#L126">126</a>
<a class="jxr_linenumber" name="L127" href="#L127">127</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L128" href="#L128">128</a> ss.setEnabledCipherSuites(ciphers);
<a class="jxr_linenumber" name="L129" href="#L129">129</a>
<a class="jxr_linenumber" name="L130" href="#L130">130</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L131" href="#L131">131</a> }
<a class="jxr_linenumber" name="L132" href="#L132">132</a>
<a class="jxr_linenumber" name="L133" href="#L133">133</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L134" href="#L134">134</a> <em class="jxr_javadoccomment"> * Creates a new SSL Socket.</em>
<a class="jxr_linenumber" name="L135" href="#L135">135</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L136" href="#L136">136</a> <em class="jxr_javadoccomment"> * @param address the address to connect to</em>
<a class="jxr_linenumber" name="L137" href="#L137">137</a> <em class="jxr_javadoccomment"> * @param port the port number</em>
<a class="jxr_linenumber" name="L138" href="#L138">138</a> <em class="jxr_javadoccomment"> * @param localAddress the local address</em>
<a class="jxr_linenumber" name="L139" href="#L139">139</a> <em class="jxr_javadoccomment"> * @param localPort the local port</em>
<a class="jxr_linenumber" name="L140" href="#L140">140</a> <em class="jxr_javadoccomment"> * @return the SSL Socket</em>
<a class="jxr_linenumber" name="L141" href="#L141">141</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if the creation fails</em>
<a class="jxr_linenumber" name="L142" href="#L142">142</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L143" href="#L143">143</a> @Override
<a class="jxr_linenumber" name="L144" href="#L144">144</a> <strong class="jxr_keyword">public</strong> Socket createSocket(InetAddress address, <strong class="jxr_keyword">int</strong> port, InetAddress localAddress, <strong class="jxr_keyword">int</strong> localPort) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L145" href="#L145">145</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L146" href="#L146">146</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(address, port, localAddress, localPort);
<a class="jxr_linenumber" name="L147" href="#L147">147</a>
<a class="jxr_linenumber" name="L148" href="#L148">148</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L149" href="#L149">149</a> ss.setEnabledCipherSuites(ciphers);
<a class="jxr_linenumber" name="L150" href="#L150">150</a>
<a class="jxr_linenumber" name="L151" href="#L151">151</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L152" href="#L152">152</a> }
<a class="jxr_linenumber" name="L153" href="#L153">153</a>
<a class="jxr_linenumber" name="L154" href="#L154">154</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L155" href="#L155">155</a> <em class="jxr_javadoccomment"> * Creates a new SSL Socket.</em>
<a class="jxr_linenumber" name="L156" href="#L156">156</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L157" href="#L157">157</a> <em class="jxr_javadoccomment"> * @param host the host to connect to</em>
<a class="jxr_linenumber" name="L158" href="#L158">158</a> <em class="jxr_javadoccomment"> * @param port the port to connect to</em>
<a class="jxr_linenumber" name="L159" href="#L159">159</a> <em class="jxr_javadoccomment"> * @param localHost the local host</em>
<a class="jxr_linenumber" name="L160" href="#L160">160</a> <em class="jxr_javadoccomment"> * @param localPort the local port</em>
<a class="jxr_linenumber" name="L161" href="#L161">161</a> <em class="jxr_javadoccomment"> * @return the SSL Socket</em>
<a class="jxr_linenumber" name="L162" href="#L162">162</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if the creation fails</em>
<a class="jxr_linenumber" name="L163" href="#L163">163</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L164" href="#L164">164</a> @Override
<a class="jxr_linenumber" name="L165" href="#L165">165</a> <strong class="jxr_keyword">public</strong> Socket createSocket(String host, <strong class="jxr_keyword">int</strong> port, InetAddress localHost, <strong class="jxr_keyword">int</strong> localPort) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L166" href="#L166">166</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L167" href="#L167">167</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(host, port, localHost, localPort);
<a class="jxr_linenumber" name="L128" href="#L128">128</a>
<a class="jxr_linenumber" name="L129" href="#L129">129</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L130" href="#L130">130</a> }
<a class="jxr_linenumber" name="L131" href="#L131">131</a>
<a class="jxr_linenumber" name="L132" href="#L132">132</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L133" href="#L133">133</a> <em class="jxr_javadoccomment"> * Creates a new SSL Socket.</em>
<a class="jxr_linenumber" name="L134" href="#L134">134</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L135" href="#L135">135</a> <em class="jxr_javadoccomment"> * @param address the address to connect to</em>
<a class="jxr_linenumber" name="L136" href="#L136">136</a> <em class="jxr_javadoccomment"> * @param port the port number</em>
<a class="jxr_linenumber" name="L137" href="#L137">137</a> <em class="jxr_javadoccomment"> * @param localAddress the local address</em>
<a class="jxr_linenumber" name="L138" href="#L138">138</a> <em class="jxr_javadoccomment"> * @param localPort the local port</em>
<a class="jxr_linenumber" name="L139" href="#L139">139</a> <em class="jxr_javadoccomment"> * @return the SSL Socket</em>
<a class="jxr_linenumber" name="L140" href="#L140">140</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if the creation fails</em>
<a class="jxr_linenumber" name="L141" href="#L141">141</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L142" href="#L142">142</a> @Override
<a class="jxr_linenumber" name="L143" href="#L143">143</a> <strong class="jxr_keyword">public</strong> Socket createSocket(InetAddress address, <strong class="jxr_keyword">int</strong> port, InetAddress localAddress, <strong class="jxr_keyword">int</strong> localPort) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L144" href="#L144">144</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L145" href="#L145">145</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(address, port, localAddress, localPort);
<a class="jxr_linenumber" name="L146" href="#L146">146</a>
<a class="jxr_linenumber" name="L147" href="#L147">147</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L148" href="#L148">148</a>
<a class="jxr_linenumber" name="L149" href="#L149">149</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L150" href="#L150">150</a> }
<a class="jxr_linenumber" name="L151" href="#L151">151</a>
<a class="jxr_linenumber" name="L152" href="#L152">152</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L153" href="#L153">153</a> <em class="jxr_javadoccomment"> * Creates a new SSL Socket.</em>
<a class="jxr_linenumber" name="L154" href="#L154">154</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L155" href="#L155">155</a> <em class="jxr_javadoccomment"> * @param host the host to connect to</em>
<a class="jxr_linenumber" name="L156" href="#L156">156</a> <em class="jxr_javadoccomment"> * @param port the port to connect to</em>
<a class="jxr_linenumber" name="L157" href="#L157">157</a> <em class="jxr_javadoccomment"> * @param localHost the local host</em>
<a class="jxr_linenumber" name="L158" href="#L158">158</a> <em class="jxr_javadoccomment"> * @param localPort the local port</em>
<a class="jxr_linenumber" name="L159" href="#L159">159</a> <em class="jxr_javadoccomment"> * @return the SSL Socket</em>
<a class="jxr_linenumber" name="L160" href="#L160">160</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if the creation fails</em>
<a class="jxr_linenumber" name="L161" href="#L161">161</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L162" href="#L162">162</a> @Override
<a class="jxr_linenumber" name="L163" href="#L163">163</a> <strong class="jxr_keyword">public</strong> Socket createSocket(String host, <strong class="jxr_keyword">int</strong> port, InetAddress localHost, <strong class="jxr_keyword">int</strong> localPort) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L164" href="#L164">164</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L165" href="#L165">165</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(host, port, localHost, localPort);
<a class="jxr_linenumber" name="L166" href="#L166">166</a>
<a class="jxr_linenumber" name="L167" href="#L167">167</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L168" href="#L168">168</a>
<a class="jxr_linenumber" name="L169" href="#L169">169</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L170" href="#L170">170</a> ss.setEnabledCipherSuites(ciphers);
<a class="jxr_linenumber" name="L169" href="#L169">169</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L170" href="#L170">170</a> }
<a class="jxr_linenumber" name="L171" href="#L171">171</a>
<a class="jxr_linenumber" name="L172" href="#L172">172</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L173" href="#L173">173</a> }
<a class="jxr_linenumber" name="L174" href="#L174">174</a>
<a class="jxr_linenumber" name="L175" href="#L175">175</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L176" href="#L176">176</a> <em class="jxr_javadoccomment"> * Creates a new SSL Socket.</em>
<a class="jxr_linenumber" name="L177" href="#L177">177</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L178" href="#L178">178</a> <em class="jxr_javadoccomment"> * @param host the host to connect to</em>
<a class="jxr_linenumber" name="L179" href="#L179">179</a> <em class="jxr_javadoccomment"> * @param port the port to connect to</em>
<a class="jxr_linenumber" name="L180" href="#L180">180</a> <em class="jxr_javadoccomment"> * @return the SSL Socket</em>
<a class="jxr_linenumber" name="L181" href="#L181">181</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if the creation fails</em>
<a class="jxr_linenumber" name="L182" href="#L182">182</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L183" href="#L183">183</a> @Override
<a class="jxr_linenumber" name="L184" href="#L184">184</a> <strong class="jxr_keyword">public</strong> Socket createSocket(InetAddress host, <strong class="jxr_keyword">int</strong> port) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L185" href="#L185">185</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L186" href="#L186">186</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(host, port);
<a class="jxr_linenumber" name="L187" href="#L187">187</a>
<a class="jxr_linenumber" name="L188" href="#L188">188</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L189" href="#L189">189</a> ss.setEnabledCipherSuites(ciphers);
<a class="jxr_linenumber" name="L190" href="#L190">190</a>
<a class="jxr_linenumber" name="L191" href="#L191">191</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L192" href="#L192">192</a> }
<a class="jxr_linenumber" name="L193" href="#L193">193</a>
<a class="jxr_linenumber" name="L194" href="#L194">194</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L195" href="#L195">195</a> <em class="jxr_javadoccomment"> * Creates a new SSL Socket.</em>
<a class="jxr_linenumber" name="L196" href="#L196">196</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L197" href="#L197">197</a> <em class="jxr_javadoccomment"> * @param host the host to connect to</em>
<a class="jxr_linenumber" name="L198" href="#L198">198</a> <em class="jxr_javadoccomment"> * @param port the port to connect to</em>
<a class="jxr_linenumber" name="L199" href="#L199">199</a> <em class="jxr_javadoccomment"> * @return the SSL Socket</em>
<a class="jxr_linenumber" name="L200" href="#L200">200</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if the creation fails</em>
<a class="jxr_linenumber" name="L201" href="#L201">201</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L202" href="#L202">202</a> @Override
<a class="jxr_linenumber" name="L203" href="#L203">203</a> <strong class="jxr_keyword">public</strong> Socket createSocket(String host, <strong class="jxr_keyword">int</strong> port) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L204" href="#L204">204</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L205" href="#L205">205</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(host, port);
<a class="jxr_linenumber" name="L206" href="#L206">206</a>
<a class="jxr_linenumber" name="L207" href="#L207">207</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L208" href="#L208">208</a> ss.setEnabledCipherSuites(ciphers);
<a class="jxr_linenumber" name="L209" href="#L209">209</a>
<a class="jxr_linenumber" name="L210" href="#L210">210</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L211" href="#L211">211</a> }
<a class="jxr_linenumber" name="L212" href="#L212">212</a>
<a class="jxr_linenumber" name="L213" href="#L213">213</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L214" href="#L214">214</a> <em class="jxr_javadoccomment"> * Initializes the SSL Socket Factory Extension.</em>
<a class="jxr_linenumber" name="L215" href="#L215">215</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L216" href="#L216">216</a> <em class="jxr_javadoccomment"> * @param km the key managers</em>
<a class="jxr_linenumber" name="L217" href="#L217">217</a> <em class="jxr_javadoccomment"> * @param tm the trust managers</em>
<a class="jxr_linenumber" name="L218" href="#L218">218</a> <em class="jxr_javadoccomment"> * @param random the secure random number generator</em>
<a class="jxr_linenumber" name="L219" href="#L219">219</a> <em class="jxr_javadoccomment"> * @throws NoSuchAlgorithmException thrown when an algorithm is not</em>
<a class="jxr_linenumber" name="L220" href="#L220">220</a> <em class="jxr_javadoccomment"> * supported</em>
<a class="jxr_linenumber" name="L221" href="#L221">221</a> <em class="jxr_javadoccomment"> * @throws KeyManagementException thrown if initialization fails</em>
<a class="jxr_linenumber" name="L222" href="#L222">222</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L223" href="#L223">223</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> initSSLSocketFactoryEx(KeyManager[] km, TrustManager[] tm, SecureRandom random)
<a class="jxr_linenumber" name="L224" href="#L224">224</a> <strong class="jxr_keyword">throws</strong> NoSuchAlgorithmException, KeyManagementException {
<a class="jxr_linenumber" name="L225" href="#L225">225</a> sslCtxt = SSLContext.getInstance(<span class="jxr_string">"TLS"</span>);
<a class="jxr_linenumber" name="L226" href="#L226">226</a> sslCtxt.init(km, tm, random);
<a class="jxr_linenumber" name="L227" href="#L227">227</a>
<a class="jxr_linenumber" name="L228" href="#L228">228</a> protocols = getProtocolList();
<a class="jxr_linenumber" name="L229" href="#L229">229</a> ciphers = getCipherList();
<a class="jxr_linenumber" name="L230" href="#L230">230</a> }
<a class="jxr_linenumber" name="L231" href="#L231">231</a>
<a class="jxr_linenumber" name="L232" href="#L232">232</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L233" href="#L233">233</a> <em class="jxr_javadoccomment"> * Initializes the SSL Socket Factory Extension.</em>
<a class="jxr_linenumber" name="L234" href="#L234">234</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L235" href="#L235">235</a> <em class="jxr_javadoccomment"> * @param ctx the SSL context</em>
<a class="jxr_linenumber" name="L236" href="#L236">236</a> <em class="jxr_javadoccomment"> * @throws NoSuchAlgorithmException thrown when an algorithm is not</em>
<a class="jxr_linenumber" name="L237" href="#L237">237</a> <em class="jxr_javadoccomment"> * supported</em>
<a class="jxr_linenumber" name="L238" href="#L238">238</a> <em class="jxr_javadoccomment"> * @throws KeyManagementException thrown if initialization fails</em>
<a class="jxr_linenumber" name="L239" href="#L239">239</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L240" href="#L240">240</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> initSSLSocketFactoryEx(SSLContext ctx)
<a class="jxr_linenumber" name="L241" href="#L241">241</a> <strong class="jxr_keyword">throws</strong> NoSuchAlgorithmException, KeyManagementException {
<a class="jxr_linenumber" name="L242" href="#L242">242</a> sslCtxt = ctx;
<a class="jxr_linenumber" name="L243" href="#L243">243</a>
<a class="jxr_linenumber" name="L244" href="#L244">244</a> protocols = getProtocolList();
<a class="jxr_linenumber" name="L245" href="#L245">245</a> ciphers = getCipherList();
<a class="jxr_linenumber" name="L246" href="#L246">246</a> }
<a class="jxr_linenumber" name="L247" href="#L247">247</a>
<a class="jxr_linenumber" name="L248" href="#L248">248</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L249" href="#L249">249</a> <em class="jxr_javadoccomment"> * Returns the protocol list.</em>
<a class="jxr_linenumber" name="L250" href="#L250">250</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L251" href="#L251">251</a> <em class="jxr_javadoccomment"> * @return the protocol list</em>
<a class="jxr_linenumber" name="L252" href="#L252">252</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L253" href="#L253">253</a> <strong class="jxr_keyword">protected</strong> String[] getProtocolList() {
<a class="jxr_linenumber" name="L254" href="#L254">254</a> <strong class="jxr_keyword">final</strong> String[] preferredProtocols = {<span class="jxr_string">"TLSv1"</span>, <span class="jxr_string">"TLSv1.1"</span>, <span class="jxr_string">"TLSv1.2"</span>, <span class="jxr_string">"TLSv1.3"</span>};
<a class="jxr_linenumber" name="L255" href="#L255">255</a> String[] availableProtocols = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L256" href="#L256">256</a>
<a class="jxr_linenumber" name="L257" href="#L257">257</a> SSLSocket socket = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L258" href="#L258">258</a>
<a class="jxr_linenumber" name="L259" href="#L259">259</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L260" href="#L260">260</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L261" href="#L261">261</a> socket = (SSLSocket) factory.createSocket();
<a class="jxr_linenumber" name="L262" href="#L262">262</a>
<a class="jxr_linenumber" name="L263" href="#L263">263</a> availableProtocols = socket.getSupportedProtocols();
<a class="jxr_linenumber" name="L264" href="#L264">264</a> Arrays.sort(availableProtocols);
<a class="jxr_linenumber" name="L265" href="#L265">265</a> } <strong class="jxr_keyword">catch</strong> (Exception ex) {
<a class="jxr_linenumber" name="L266" href="#L266">266</a> LOGGER.debug(<span class="jxr_string">"Error getting protocol list, using TLSv1"</span>, ex);
<a class="jxr_linenumber" name="L267" href="#L267">267</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String[]{<span class="jxr_string">"TLSv1"</span>};
<a class="jxr_linenumber" name="L268" href="#L268">268</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L269" href="#L269">269</a> <strong class="jxr_keyword">if</strong> (socket != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L270" href="#L270">270</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L271" href="#L271">271</a> socket.close();
<a class="jxr_linenumber" name="L272" href="#L272">272</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L273" href="#L273">273</a> LOGGER.trace(<span class="jxr_string">"Error closing socket"</span>, ex);
<a class="jxr_linenumber" name="L274" href="#L274">274</a> }
<a class="jxr_linenumber" name="L172" href="#L172">172</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L173" href="#L173">173</a> <em class="jxr_javadoccomment"> * Creates a new SSL Socket.</em>
<a class="jxr_linenumber" name="L174" href="#L174">174</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L175" href="#L175">175</a> <em class="jxr_javadoccomment"> * @param host the host to connect to</em>
<a class="jxr_linenumber" name="L176" href="#L176">176</a> <em class="jxr_javadoccomment"> * @param port the port to connect to</em>
<a class="jxr_linenumber" name="L177" href="#L177">177</a> <em class="jxr_javadoccomment"> * @return the SSL Socket</em>
<a class="jxr_linenumber" name="L178" href="#L178">178</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if the creation fails</em>
<a class="jxr_linenumber" name="L179" href="#L179">179</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L180" href="#L180">180</a> @Override
<a class="jxr_linenumber" name="L181" href="#L181">181</a> <strong class="jxr_keyword">public</strong> Socket createSocket(InetAddress host, <strong class="jxr_keyword">int</strong> port) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L182" href="#L182">182</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L183" href="#L183">183</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(host, port);
<a class="jxr_linenumber" name="L184" href="#L184">184</a>
<a class="jxr_linenumber" name="L185" href="#L185">185</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L186" href="#L186">186</a>
<a class="jxr_linenumber" name="L187" href="#L187">187</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L188" href="#L188">188</a> }
<a class="jxr_linenumber" name="L189" href="#L189">189</a>
<a class="jxr_linenumber" name="L190" href="#L190">190</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L191" href="#L191">191</a> <em class="jxr_javadoccomment"> * Creates a new SSL Socket.</em>
<a class="jxr_linenumber" name="L192" href="#L192">192</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L193" href="#L193">193</a> <em class="jxr_javadoccomment"> * @param host the host to connect to</em>
<a class="jxr_linenumber" name="L194" href="#L194">194</a> <em class="jxr_javadoccomment"> * @param port the port to connect to</em>
<a class="jxr_linenumber" name="L195" href="#L195">195</a> <em class="jxr_javadoccomment"> * @return the SSL Socket</em>
<a class="jxr_linenumber" name="L196" href="#L196">196</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if the creation fails</em>
<a class="jxr_linenumber" name="L197" href="#L197">197</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L198" href="#L198">198</a> @Override
<a class="jxr_linenumber" name="L199" href="#L199">199</a> <strong class="jxr_keyword">public</strong> Socket createSocket(String host, <strong class="jxr_keyword">int</strong> port) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L200" href="#L200">200</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L201" href="#L201">201</a> <strong class="jxr_keyword">final</strong> SSLSocket ss = (SSLSocket) factory.createSocket(host, port);
<a class="jxr_linenumber" name="L202" href="#L202">202</a>
<a class="jxr_linenumber" name="L203" href="#L203">203</a> ss.setEnabledProtocols(protocols);
<a class="jxr_linenumber" name="L204" href="#L204">204</a>
<a class="jxr_linenumber" name="L205" href="#L205">205</a> <strong class="jxr_keyword">return</strong> ss;
<a class="jxr_linenumber" name="L206" href="#L206">206</a> }
<a class="jxr_linenumber" name="L207" href="#L207">207</a>
<a class="jxr_linenumber" name="L208" href="#L208">208</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L209" href="#L209">209</a> <em class="jxr_javadoccomment"> * Initializes the SSL Socket Factory Extension.</em>
<a class="jxr_linenumber" name="L210" href="#L210">210</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L211" href="#L211">211</a> <em class="jxr_javadoccomment"> * @param km the key managers</em>
<a class="jxr_linenumber" name="L212" href="#L212">212</a> <em class="jxr_javadoccomment"> * @param tm the trust managers</em>
<a class="jxr_linenumber" name="L213" href="#L213">213</a> <em class="jxr_javadoccomment"> * @param random the secure random number generator</em>
<a class="jxr_linenumber" name="L214" href="#L214">214</a> <em class="jxr_javadoccomment"> * @throws NoSuchAlgorithmException thrown when an algorithm is not</em>
<a class="jxr_linenumber" name="L215" href="#L215">215</a> <em class="jxr_javadoccomment"> * supported</em>
<a class="jxr_linenumber" name="L216" href="#L216">216</a> <em class="jxr_javadoccomment"> * @throws KeyManagementException thrown if initialization fails</em>
<a class="jxr_linenumber" name="L217" href="#L217">217</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L218" href="#L218">218</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> initSSLSocketFactoryEx(KeyManager[] km, TrustManager[] tm, SecureRandom random)
<a class="jxr_linenumber" name="L219" href="#L219">219</a> <strong class="jxr_keyword">throws</strong> NoSuchAlgorithmException, KeyManagementException {
<a class="jxr_linenumber" name="L220" href="#L220">220</a> sslCtxt = SSLContext.getInstance(<span class="jxr_string">"TLS"</span>);
<a class="jxr_linenumber" name="L221" href="#L221">221</a> sslCtxt.init(km, tm, random);
<a class="jxr_linenumber" name="L222" href="#L222">222</a>
<a class="jxr_linenumber" name="L223" href="#L223">223</a> protocols = getProtocolList();
<a class="jxr_linenumber" name="L224" href="#L224">224</a> }
<a class="jxr_linenumber" name="L225" href="#L225">225</a>
<a class="jxr_linenumber" name="L226" href="#L226">226</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L227" href="#L227">227</a> <em class="jxr_javadoccomment"> * Initializes the SSL Socket Factory Extension.</em>
<a class="jxr_linenumber" name="L228" href="#L228">228</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L229" href="#L229">229</a> <em class="jxr_javadoccomment"> * @param ctx the SSL context</em>
<a class="jxr_linenumber" name="L230" href="#L230">230</a> <em class="jxr_javadoccomment"> * @throws NoSuchAlgorithmException thrown when an algorithm is not</em>
<a class="jxr_linenumber" name="L231" href="#L231">231</a> <em class="jxr_javadoccomment"> * supported</em>
<a class="jxr_linenumber" name="L232" href="#L232">232</a> <em class="jxr_javadoccomment"> * @throws KeyManagementException thrown if initialization fails</em>
<a class="jxr_linenumber" name="L233" href="#L233">233</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L234" href="#L234">234</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> initSSLSocketFactoryEx(SSLContext ctx)
<a class="jxr_linenumber" name="L235" href="#L235">235</a> <strong class="jxr_keyword">throws</strong> NoSuchAlgorithmException, KeyManagementException {
<a class="jxr_linenumber" name="L236" href="#L236">236</a> sslCtxt = ctx;
<a class="jxr_linenumber" name="L237" href="#L237">237</a> protocols = getProtocolList();
<a class="jxr_linenumber" name="L238" href="#L238">238</a> }
<a class="jxr_linenumber" name="L239" href="#L239">239</a>
<a class="jxr_linenumber" name="L240" href="#L240">240</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L241" href="#L241">241</a> <em class="jxr_javadoccomment"> * Returns the protocol list.</em>
<a class="jxr_linenumber" name="L242" href="#L242">242</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L243" href="#L243">243</a> <em class="jxr_javadoccomment"> * @return the protocol list</em>
<a class="jxr_linenumber" name="L244" href="#L244">244</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L245" href="#L245">245</a> <strong class="jxr_keyword">protected</strong> String[] getProtocolList() {
<a class="jxr_linenumber" name="L246" href="#L246">246</a> <strong class="jxr_keyword">final</strong> String[] preferredProtocols = {<span class="jxr_string">"TLSv1"</span>, <span class="jxr_string">"TLSv1.1"</span>, <span class="jxr_string">"TLSv1.2"</span>, <span class="jxr_string">"TLSv1.3"</span>};
<a class="jxr_linenumber" name="L247" href="#L247">247</a> String[] availableProtocols = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L248" href="#L248">248</a>
<a class="jxr_linenumber" name="L249" href="#L249">249</a> SSLSocket socket = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L250" href="#L250">250</a>
<a class="jxr_linenumber" name="L251" href="#L251">251</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L252" href="#L252">252</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L253" href="#L253">253</a> socket = (SSLSocket) factory.createSocket();
<a class="jxr_linenumber" name="L254" href="#L254">254</a>
<a class="jxr_linenumber" name="L255" href="#L255">255</a> availableProtocols = socket.getSupportedProtocols();
<a class="jxr_linenumber" name="L256" href="#L256">256</a> Arrays.sort(availableProtocols);
<a class="jxr_linenumber" name="L257" href="#L257">257</a> } <strong class="jxr_keyword">catch</strong> (Exception ex) {
<a class="jxr_linenumber" name="L258" href="#L258">258</a> LOGGER.debug(<span class="jxr_string">"Error getting protocol list, using TLSv1"</span>, ex);
<a class="jxr_linenumber" name="L259" href="#L259">259</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String[]{<span class="jxr_string">"TLSv1"</span>};
<a class="jxr_linenumber" name="L260" href="#L260">260</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L261" href="#L261">261</a> <strong class="jxr_keyword">if</strong> (socket != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L262" href="#L262">262</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L263" href="#L263">263</a> socket.close();
<a class="jxr_linenumber" name="L264" href="#L264">264</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L265" href="#L265">265</a> LOGGER.trace(<span class="jxr_string">"Error closing socket"</span>, ex);
<a class="jxr_linenumber" name="L266" href="#L266">266</a> }
<a class="jxr_linenumber" name="L267" href="#L267">267</a> }
<a class="jxr_linenumber" name="L268" href="#L268">268</a> }
<a class="jxr_linenumber" name="L269" href="#L269">269</a>
<a class="jxr_linenumber" name="L270" href="#L270">270</a> <strong class="jxr_keyword">final</strong> List&lt;String&gt; aa = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;();
<a class="jxr_linenumber" name="L271" href="#L271">271</a> <strong class="jxr_keyword">for</strong> (String preferredProtocol : preferredProtocols) {
<a class="jxr_linenumber" name="L272" href="#L272">272</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> idx = Arrays.binarySearch(availableProtocols, preferredProtocol);
<a class="jxr_linenumber" name="L273" href="#L273">273</a> <strong class="jxr_keyword">if</strong> (idx &gt;= 0) {
<a class="jxr_linenumber" name="L274" href="#L274">274</a> aa.add(preferredProtocol);
<a class="jxr_linenumber" name="L275" href="#L275">275</a> }
<a class="jxr_linenumber" name="L276" href="#L276">276</a> }
<a class="jxr_linenumber" name="L277" href="#L277">277</a>
<a class="jxr_linenumber" name="L278" href="#L278">278</a> <strong class="jxr_keyword">final</strong> List&lt;String&gt; aa = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;();
<a class="jxr_linenumber" name="L279" href="#L279">279</a> <strong class="jxr_keyword">for</strong> (String preferredProtocol : preferredProtocols) {
<a class="jxr_linenumber" name="L280" href="#L280">280</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> idx = Arrays.binarySearch(availableProtocols, preferredProtocol);
<a class="jxr_linenumber" name="L281" href="#L281">281</a> <strong class="jxr_keyword">if</strong> (idx &gt;= 0) {
<a class="jxr_linenumber" name="L282" href="#L282">282</a> aa.add(preferredProtocol);
<a class="jxr_linenumber" name="L283" href="#L283">283</a> }
<a class="jxr_linenumber" name="L284" href="#L284">284</a> }
<a class="jxr_linenumber" name="L285" href="#L285">285</a>
<a class="jxr_linenumber" name="L286" href="#L286">286</a> <strong class="jxr_keyword">return</strong> aa.toArray(<strong class="jxr_keyword">new</strong> String[0]);
<a class="jxr_linenumber" name="L287" href="#L287">287</a> }
<a class="jxr_linenumber" name="L288" href="#L288">288</a>
<a class="jxr_linenumber" name="L289" href="#L289">289</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L290" href="#L290">290</a> <em class="jxr_javadoccomment"> * Returns the cipher list.</em>
<a class="jxr_linenumber" name="L291" href="#L291">291</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L292" href="#L292">292</a> <em class="jxr_javadoccomment"> * @return the cipher list</em>
<a class="jxr_linenumber" name="L293" href="#L293">293</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L294" href="#L294">294</a> <strong class="jxr_keyword">protected</strong> String[] getCipherList() {
<a class="jxr_linenumber" name="L295" href="#L295">295</a> <strong class="jxr_keyword">final</strong> String[] preferredCiphers = {
<a class="jxr_linenumber" name="L296" href="#L296">296</a> <em class="jxr_comment">// *_CHACHA20_POLY1305 are 3x to 4x faster than existing cipher suites.</em>
<a class="jxr_linenumber" name="L297" href="#L297">297</a> <em class="jxr_comment">// http://googleonlinesecurity.blogspot.com/2014/04/speeding-up-and-strengthening-https.html</em>
<a class="jxr_linenumber" name="L298" href="#L298">298</a> <em class="jxr_comment">// Use them if available. Normative names can be found at (TLS spec depends on IPSec spec):</em>
<a class="jxr_linenumber" name="L299" href="#L299">299</a> <em class="jxr_comment">// http://tools.ietf.org/html/draft-nir-ipsecme-chacha20-poly1305-01</em>
<a class="jxr_linenumber" name="L300" href="#L300">300</a> <em class="jxr_comment">// http://tools.ietf.org/html/draft-mavrogiannopoulos-chacha-tls-02</em>
<a class="jxr_linenumber" name="L301" href="#L301">301</a> <span class="jxr_string">"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305"</span>,
<a class="jxr_linenumber" name="L302" href="#L302">302</a> <span class="jxr_string">"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305"</span>,
<a class="jxr_linenumber" name="L303" href="#L303">303</a> <span class="jxr_string">"TLS_ECDHE_ECDSA_WITH_CHACHA20_SHA"</span>,
<a class="jxr_linenumber" name="L304" href="#L304">304</a> <span class="jxr_string">"TLS_ECDHE_RSA_WITH_CHACHA20_SHA"</span>,
<a class="jxr_linenumber" name="L305" href="#L305">305</a> <span class="jxr_string">"TLS_DHE_RSA_WITH_CHACHA20_POLY1305"</span>,
<a class="jxr_linenumber" name="L306" href="#L306">306</a> <span class="jxr_string">"TLS_RSA_WITH_CHACHA20_POLY1305"</span>,
<a class="jxr_linenumber" name="L307" href="#L307">307</a> <span class="jxr_string">"TLS_DHE_RSA_WITH_CHACHA20_SHA"</span>,
<a class="jxr_linenumber" name="L308" href="#L308">308</a> <span class="jxr_string">"TLS_RSA_WITH_CHACHA20_SHA"</span>,
<a class="jxr_linenumber" name="L309" href="#L309">309</a> <em class="jxr_comment">// Done with bleeding edge, back to TLS v1.2 and below</em>
<a class="jxr_linenumber" name="L310" href="#L310">310</a> <span class="jxr_string">"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"</span>,
<a class="jxr_linenumber" name="L311" href="#L311">311</a> <span class="jxr_string">"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"</span>,
<a class="jxr_linenumber" name="L312" href="#L312">312</a> <span class="jxr_string">"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"</span>,
<a class="jxr_linenumber" name="L313" href="#L313">313</a> <span class="jxr_string">"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"</span>,
<a class="jxr_linenumber" name="L314" href="#L314">314</a> <span class="jxr_string">"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"</span>,
<a class="jxr_linenumber" name="L315" href="#L315">315</a> <span class="jxr_string">"TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"</span>,
<a class="jxr_linenumber" name="L316" href="#L316">316</a> <span class="jxr_string">"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"</span>,
<a class="jxr_linenumber" name="L317" href="#L317">317</a> <span class="jxr_string">"TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"</span>,
<a class="jxr_linenumber" name="L318" href="#L318">318</a> <em class="jxr_comment">// TLS v1.0 (with some SSLv3 interop)</em>
<a class="jxr_linenumber" name="L319" href="#L319">319</a> <span class="jxr_string">"TLS_DHE_RSA_WITH_AES_256_CBC_SHA384"</span>,
<a class="jxr_linenumber" name="L320" href="#L320">320</a> <span class="jxr_string">"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"</span>,
<a class="jxr_linenumber" name="L321" href="#L321">321</a> <span class="jxr_string">"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L322" href="#L322">322</a> <span class="jxr_string">"TLS_DHE_DSS_WITH_AES_128_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L323" href="#L323">323</a> <span class="jxr_string">"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L324" href="#L324">324</a> <span class="jxr_string">"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L325" href="#L325">325</a> <span class="jxr_string">"SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L326" href="#L326">326</a> <span class="jxr_string">"SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L327" href="#L327">327</a> <em class="jxr_comment">// RSA key transport sucks, but they are needed as a fallback.</em>
<a class="jxr_linenumber" name="L328" href="#L328">328</a> <em class="jxr_comment">// For example, microsoft.com fails under all versions of TLS</em>
<a class="jxr_linenumber" name="L329" href="#L329">329</a> <em class="jxr_comment">// if they are not included. If only TLS 1.0 is available at</em>
<a class="jxr_linenumber" name="L330" href="#L330">330</a> <em class="jxr_comment">// the client, then google.com will fail too. TLS v1.3 is</em>
<a class="jxr_linenumber" name="L331" href="#L331">331</a> <em class="jxr_comment">// trying to deprecate them, so it will be interesteng to see</em>
<a class="jxr_linenumber" name="L332" href="#L332">332</a> <em class="jxr_comment">// what happens.</em>
<a class="jxr_linenumber" name="L333" href="#L333">333</a> <span class="jxr_string">"TLS_RSA_WITH_AES_256_CBC_SHA256"</span>,
<a class="jxr_linenumber" name="L334" href="#L334">334</a> <span class="jxr_string">"TLS_RSA_WITH_AES_256_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L335" href="#L335">335</a> <span class="jxr_string">"TLS_RSA_WITH_AES_128_CBC_SHA256"</span>,
<a class="jxr_linenumber" name="L336" href="#L336">336</a> <span class="jxr_string">"TLS_RSA_WITH_AES_128_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L337" href="#L337">337</a> };
<a class="jxr_linenumber" name="L338" href="#L338">338</a>
<a class="jxr_linenumber" name="L339" href="#L339">339</a> String[] availableCiphers;
<a class="jxr_linenumber" name="L340" href="#L340">340</a>
<a class="jxr_linenumber" name="L341" href="#L341">341</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L342" href="#L342">342</a> <strong class="jxr_keyword">final</strong> SSLSocketFactory factory = sslCtxt.getSocketFactory();
<a class="jxr_linenumber" name="L343" href="#L343">343</a> availableCiphers = factory.getSupportedCipherSuites();
<a class="jxr_linenumber" name="L344" href="#L344">344</a> Arrays.sort(availableCiphers);
<a class="jxr_linenumber" name="L345" href="#L345">345</a> } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="L346" href="#L346">346</a> LOGGER.debug(<span class="jxr_string">"Error retrieving ciphers"</span>, e);
<a class="jxr_linenumber" name="L347" href="#L347">347</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String[]{
<a class="jxr_linenumber" name="L348" href="#L348">348</a> <span class="jxr_string">"TLS_DHE_DSS_WITH_AES_128_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L349" href="#L349">349</a> <span class="jxr_string">"TLS_DHE_DSS_WITH_AES_256_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L350" href="#L350">350</a> <span class="jxr_string">"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L351" href="#L351">351</a> <span class="jxr_string">"TLS_DHE_RSA_WITH_AES_256_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L352" href="#L352">352</a> <span class="jxr_string">"TLS_RSA_WITH_AES_256_CBC_SHA256"</span>,
<a class="jxr_linenumber" name="L353" href="#L353">353</a> <span class="jxr_string">"TLS_RSA_WITH_AES_256_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L354" href="#L354">354</a> <span class="jxr_string">"TLS_RSA_WITH_AES_128_CBC_SHA256"</span>,
<a class="jxr_linenumber" name="L355" href="#L355">355</a> <span class="jxr_string">"TLS_RSA_WITH_AES_128_CBC_SHA"</span>,
<a class="jxr_linenumber" name="L356" href="#L356">356</a> <span class="jxr_string">"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"</span>,
<a class="jxr_linenumber" name="L357" href="#L357">357</a> };
<a class="jxr_linenumber" name="L358" href="#L358">358</a> }
<a class="jxr_linenumber" name="L359" href="#L359">359</a>
<a class="jxr_linenumber" name="L360" href="#L360">360</a> <strong class="jxr_keyword">final</strong> List&lt;String&gt; aa = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;();
<a class="jxr_linenumber" name="L361" href="#L361">361</a> <strong class="jxr_keyword">for</strong> (String preferredCipher : preferredCiphers) {
<a class="jxr_linenumber" name="L362" href="#L362">362</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> idx = Arrays.binarySearch(availableCiphers, preferredCipher);
<a class="jxr_linenumber" name="L363" href="#L363">363</a> <strong class="jxr_keyword">if</strong> (idx &gt;= 0) {
<a class="jxr_linenumber" name="L364" href="#L364">364</a> aa.add(preferredCipher);
<a class="jxr_linenumber" name="L365" href="#L365">365</a> }
<a class="jxr_linenumber" name="L366" href="#L366">366</a> }
<a class="jxr_linenumber" name="L367" href="#L367">367</a>
<a class="jxr_linenumber" name="L368" href="#L368">368</a> aa.add(<span class="jxr_string">"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"</span>);
<a class="jxr_linenumber" name="L369" href="#L369">369</a>
<a class="jxr_linenumber" name="L370" href="#L370">370</a> <strong class="jxr_keyword">return</strong> aa.toArray(<strong class="jxr_keyword">new</strong> String[0]);
<a class="jxr_linenumber" name="L371" href="#L371">371</a> }
<a class="jxr_linenumber" name="L372" href="#L372">372</a>
<a class="jxr_linenumber" name="L373" href="#L373">373</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L374" href="#L374">374</a> <em class="jxr_javadoccomment"> * The SSL context.</em>
<a class="jxr_linenumber" name="L375" href="#L375">375</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L376" href="#L376">376</a> <strong class="jxr_keyword">private</strong> SSLContext sslCtxt;
<a class="jxr_linenumber" name="L377" href="#L377">377</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L378" href="#L378">378</a> <em class="jxr_javadoccomment"> * The cipher suites.</em>
<a class="jxr_linenumber" name="L379" href="#L379">379</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L380" href="#L380">380</a> <strong class="jxr_keyword">private</strong> String[] ciphers;
<a class="jxr_linenumber" name="L381" href="#L381">381</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L382" href="#L382">382</a> <em class="jxr_javadoccomment"> * The protocols.</em>
<a class="jxr_linenumber" name="L383" href="#L383">383</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L384" href="#L384">384</a> <strong class="jxr_keyword">private</strong> String[] protocols;
<a class="jxr_linenumber" name="L385" href="#L385">385</a> }
<a class="jxr_linenumber" name="L278" href="#L278">278</a> <strong class="jxr_keyword">return</strong> aa.toArray(<strong class="jxr_keyword">new</strong> String[0]);
<a class="jxr_linenumber" name="L279" href="#L279">279</a> }
<a class="jxr_linenumber" name="L280" href="#L280">280</a>
<a class="jxr_linenumber" name="L281" href="#L281">281</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L282" href="#L282">282</a> <em class="jxr_javadoccomment"> * The SSL context.</em>
<a class="jxr_linenumber" name="L283" href="#L283">283</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L284" href="#L284">284</a> <strong class="jxr_keyword">private</strong> SSLContext sslCtxt;
<a class="jxr_linenumber" name="L285" href="#L285">285</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L286" href="#L286">286</a> <em class="jxr_javadoccomment"> * The protocols.</em>
<a class="jxr_linenumber" name="L287" href="#L287">287</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L288" href="#L288">288</a> <strong class="jxr_keyword">private</strong> String[] protocols;
<a class="jxr_linenumber" name="L289" href="#L289">289</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>

View File

@@ -36,180 +36,181 @@
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">import</strong> java.net.Proxy;
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> java.net.SocketAddress;
<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> java.net.URL;
<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">import</strong> java.security.KeyManagementException;
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">import</strong> java.security.NoSuchAlgorithmException;
<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">import</strong> javax.net.ssl.HttpsURLConnection;
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>
<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> * A URLConnection Factory to create new connections. This encapsulates several</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> * configuration checks to ensure that the connection uses the correct proxy</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * settings.</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> * @author Jeremy Long</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/URLConnectionFactory.html">URLConnectionFactory</a> {
<a class="jxr_linenumber" name="L45" href="#L45">45</a>
<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment"> * The logger.</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOGGER = LoggerFactory.getLogger(URLConnectionFactory.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L50" href="#L50">50</a>
<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> * Private constructor for this factory.</em>
<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/owasp/dependencycheck/utils/URLConnectionFactory.html">URLConnectionFactory</a>() {
<a class="jxr_linenumber" name="L55" href="#L55">55</a> }
<a class="jxr_linenumber" name="L56" href="#L56">56</a>
<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> * Utility method to create an HttpURLConnection. If the application is</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * configured to use a proxy this method will retrieve the proxy settings</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * and use them when setting up the connection.</em>
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> * @param url the url to connect to</em>
<a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment"> * @return an HttpURLConnection</em>
<a class="jxr_linenumber" name="L64" href="#L64">64</a> <em class="jxr_javadoccomment"> * @throws URLConnectionFailureException thrown if there is an exception</em>
<a class="jxr_linenumber" name="L65" href="#L65">65</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L66" href="#L66">66</a> @SuppressFBWarnings(value = <span class="jxr_string">"RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"</span>, justification = <span class="jxr_string">"Just being extra safe"</span>)
<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> HttpURLConnection createHttpURLConnection(URL url) <strong class="jxr_keyword">throws</strong> URLConnectionFailureException {
<a class="jxr_linenumber" name="L68" href="#L68">68</a> HttpURLConnection conn = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">final</strong> String proxyUrl = Settings.getString(Settings.KEYS.PROXY_SERVER);
<a class="jxr_linenumber" name="L70" href="#L70">70</a>
<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">if</strong> (proxyUrl != <strong class="jxr_keyword">null</strong> &amp;&amp; !matchNonProxy(url)) {
<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);
<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">final</strong> SocketAddress address = <strong class="jxr_keyword">new</strong> InetSocketAddress(proxyUrl, proxyPort);
<a class="jxr_linenumber" name="L75" href="#L75">75</a>
<a class="jxr_linenumber" name="L76" href="#L76">76</a> <strong class="jxr_keyword">final</strong> String username = Settings.getString(Settings.KEYS.PROXY_USERNAME);
<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">final</strong> String password = Settings.getString(Settings.KEYS.PROXY_PASSWORD);
<a class="jxr_linenumber" name="L78" href="#L78">78</a>
<a class="jxr_linenumber" name="L79" href="#L79">79</a> <strong class="jxr_keyword">if</strong> (username != <strong class="jxr_keyword">null</strong> &amp;&amp; password != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">final</strong> Authenticator auth = <strong class="jxr_keyword">new</strong> Authenticator() {
<a class="jxr_linenumber" name="L81" href="#L81">81</a> @Override
<a class="jxr_linenumber" name="L82" href="#L82">82</a> <strong class="jxr_keyword">public</strong> PasswordAuthentication getPasswordAuthentication() {
<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">if</strong> (getRequestorType().equals(Authenticator.RequestorType.PROXY)) {
<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> PasswordAuthentication(username, password.toCharArray());
<a class="jxr_linenumber" name="L85" href="#L85">85</a> }
<a class="jxr_linenumber" name="L86" href="#L86">86</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.getPasswordAuthentication();
<a class="jxr_linenumber" name="L87" href="#L87">87</a> }
<a class="jxr_linenumber" name="L88" href="#L88">88</a> };
<a class="jxr_linenumber" name="L89" href="#L89">89</a> Authenticator.setDefault(auth);
<a class="jxr_linenumber" name="L90" href="#L90">90</a> }
<a class="jxr_linenumber" name="L91" href="#L91">91</a>
<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">final</strong> Proxy proxy = <strong class="jxr_keyword">new</strong> Proxy(Proxy.Type.HTTP, address);
<a class="jxr_linenumber" name="L93" href="#L93">93</a> conn = (HttpURLConnection) url.openConnection(proxy);
<a class="jxr_linenumber" name="L94" href="#L94">94</a> } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L95" href="#L95">95</a> conn = (HttpURLConnection) url.openConnection();
<a class="jxr_linenumber" name="L96" href="#L96">96</a> }
<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 10000);
<a class="jxr_linenumber" name="L98" href="#L98">98</a> conn.setConnectTimeout(timeout);
<a class="jxr_linenumber" name="L99" href="#L99">99</a> conn.setInstanceFollowRedirects(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L100" href="#L100">100</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">if</strong> (conn != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L103" href="#L103">103</a> conn.disconnect();
<a class="jxr_linenumber" name="L104" href="#L104">104</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L105" href="#L105">105</a> conn = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L106" href="#L106">106</a> }
<a class="jxr_linenumber" name="L107" href="#L107">107</a> }
<a class="jxr_linenumber" name="L108" href="#L108">108</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/URLConnectionFailureException.html">URLConnectionFailureException</a>(<span class="jxr_string">"Error getting connection."</span>, ex);
<a class="jxr_linenumber" name="L109" href="#L109">109</a> }
<a class="jxr_linenumber" name="L110" href="#L110">110</a> configureTLS(url, conn);
<a class="jxr_linenumber" name="L111" href="#L111">111</a> <strong class="jxr_keyword">return</strong> conn;
<a class="jxr_linenumber" name="L112" href="#L112">112</a> }
<a class="jxr_linenumber" name="L113" href="#L113">113</a>
<a class="jxr_linenumber" name="L114" href="#L114">114</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L115" href="#L115">115</a> <em class="jxr_javadoccomment"> * Check if hostname matches nonProxy settings</em>
<a class="jxr_linenumber" name="L116" href="#L116">116</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L117" href="#L117">117</a> <em class="jxr_javadoccomment"> * @param url the url to connect to</em>
<a class="jxr_linenumber" name="L118" href="#L118">118</a> <em class="jxr_javadoccomment"> * @return matching result. true: match nonProxy</em>
<a class="jxr_linenumber" name="L119" href="#L119">119</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L120" href="#L120">120</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> matchNonProxy(<strong class="jxr_keyword">final</strong> URL url) {
<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">final</strong> String host = url.getHost();
<a class="jxr_linenumber" name="L122" href="#L122">122</a>
<a class="jxr_linenumber" name="L123" href="#L123">123</a> <em class="jxr_comment">// code partially from org.apache.maven.plugins.site.AbstractDeployMojo#getProxyInfo</em>
<a class="jxr_linenumber" name="L124" href="#L124">124</a> <strong class="jxr_keyword">final</strong> String nonProxyHosts = Settings.getString(Settings.KEYS.PROXY_NON_PROXY_HOSTS);
<a class="jxr_linenumber" name="L125" href="#L125">125</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">null</strong> != nonProxyHosts) {
<a class="jxr_linenumber" name="L126" href="#L126">126</a> <strong class="jxr_keyword">final</strong> String[] nonProxies = nonProxyHosts.split(<span class="jxr_string">"(,)|(;)|(&#92;&#92;|)"</span>);
<a class="jxr_linenumber" name="L127" href="#L127">127</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> String nonProxyHost : nonProxies) {
<a class="jxr_linenumber" name="L128" href="#L128">128</a> <em class="jxr_comment">//if ( StringUtils.contains( nonProxyHost, "*" ) )</em>
<a class="jxr_linenumber" name="L129" href="#L129">129</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">null</strong> != nonProxyHost &amp;&amp; nonProxyHost.contains(<span class="jxr_string">"*"</span>)) {
<a class="jxr_linenumber" name="L130" href="#L130">130</a> <em class="jxr_comment">// Handle wildcard at the end, beginning or middle of the nonProxyHost</em>
<a class="jxr_linenumber" name="L131" href="#L131">131</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> pos = nonProxyHost.indexOf('*');
<a class="jxr_linenumber" name="L132" href="#L132">132</a> <strong class="jxr_keyword">final</strong> String nonProxyHostPrefix = nonProxyHost.substring(0, pos);
<a class="jxr_linenumber" name="L133" href="#L133">133</a> <strong class="jxr_keyword">final</strong> String nonProxyHostSuffix = nonProxyHost.substring(pos + 1);
<a class="jxr_linenumber" name="L134" href="#L134">134</a> <em class="jxr_comment">// prefix*</em>
<a class="jxr_linenumber" name="L135" href="#L135">135</a> <strong class="jxr_keyword">if</strong> (!StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; host.startsWith(nonProxyHostPrefix) &amp;&amp; StringUtils.isEmpty(nonProxyHostSuffix)) {
<a class="jxr_linenumber" name="L136" href="#L136">136</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L137" href="#L137">137</a> }
<a class="jxr_linenumber" name="L138" href="#L138">138</a> <em class="jxr_comment">// *suffix</em>
<a class="jxr_linenumber" name="L139" href="#L139">139</a> <strong class="jxr_keyword">if</strong> (StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; !StringUtils.isEmpty(nonProxyHostSuffix) &amp;&amp; host.endsWith(nonProxyHostSuffix)) {
<a class="jxr_linenumber" name="L140" href="#L140">140</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L141" href="#L141">141</a> }
<a class="jxr_linenumber" name="L142" href="#L142">142</a> <em class="jxr_comment">// prefix*suffix</em>
<a class="jxr_linenumber" name="L143" href="#L143">143</a> <strong class="jxr_keyword">if</strong> (!StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; host.startsWith(nonProxyHostPrefix) &amp;&amp; !StringUtils.isEmpty(nonProxyHostSuffix)
<a class="jxr_linenumber" name="L144" href="#L144">144</a> &amp;&amp; host.endsWith(nonProxyHostSuffix)) {
<a class="jxr_linenumber" name="L145" href="#L145">145</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L146" href="#L146">146</a> }
<a class="jxr_linenumber" name="L147" href="#L147">147</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (host.equals(nonProxyHost)) {
<a class="jxr_linenumber" name="L148" href="#L148">148</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L149" href="#L149">149</a> }
<a class="jxr_linenumber" name="L150" href="#L150">150</a> }
<a class="jxr_linenumber" name="L151" href="#L151">151</a> }
<a class="jxr_linenumber" name="L152" href="#L152">152</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L153" href="#L153">153</a> }
<a class="jxr_linenumber" name="L154" href="#L154">154</a>
<a class="jxr_linenumber" name="L155" href="#L155">155</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L156" href="#L156">156</a> <em class="jxr_javadoccomment"> * Utility method to create an HttpURLConnection. The use of a proxy here is</em>
<a class="jxr_linenumber" name="L157" href="#L157">157</a> <em class="jxr_javadoccomment"> * optional as there may be cases where a proxy is configured but we don't</em>
<a class="jxr_linenumber" name="L158" href="#L158">158</a> <em class="jxr_javadoccomment"> * want to use it (for example, if there's an internal repository</em>
<a class="jxr_linenumber" name="L159" href="#L159">159</a> <em class="jxr_javadoccomment"> * configured)</em>
<a class="jxr_linenumber" name="L160" href="#L160">160</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L161" href="#L161">161</a> <em class="jxr_javadoccomment"> * @param url the URL to connect to</em>
<a class="jxr_linenumber" name="L162" href="#L162">162</a> <em class="jxr_javadoccomment"> * @param proxy whether to use the proxy (if configured)</em>
<a class="jxr_linenumber" name="L163" href="#L163">163</a> <em class="jxr_javadoccomment"> * @return a newly constructed HttpURLConnection</em>
<a class="jxr_linenumber" name="L164" href="#L164">164</a> <em class="jxr_javadoccomment"> * @throws URLConnectionFailureException thrown if there is an exception</em>
<a class="jxr_linenumber" name="L165" href="#L165">165</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L166" href="#L166">166</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> HttpURLConnection createHttpURLConnection(URL url, <strong class="jxr_keyword">boolean</strong> proxy) <strong class="jxr_keyword">throws</strong> URLConnectionFailureException {
<a class="jxr_linenumber" name="L167" href="#L167">167</a> <strong class="jxr_keyword">if</strong> (proxy) {
<a class="jxr_linenumber" name="L168" href="#L168">168</a> <strong class="jxr_keyword">return</strong> createHttpURLConnection(url);
<a class="jxr_linenumber" name="L169" href="#L169">169</a> }
<a class="jxr_linenumber" name="L170" href="#L170">170</a> HttpURLConnection conn = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L171" href="#L171">171</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L172" href="#L172">172</a> conn = (HttpURLConnection) url.openConnection();
<a class="jxr_linenumber" name="L173" href="#L173">173</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 10000);
<a class="jxr_linenumber" name="L174" href="#L174">174</a> conn.setConnectTimeout(timeout);
<a class="jxr_linenumber" name="L175" href="#L175">175</a> conn.setInstanceFollowRedirects(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L176" href="#L176">176</a> } <strong class="jxr_keyword">catch</strong> (IOException ioe) {
<a class="jxr_linenumber" name="L177" href="#L177">177</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/URLConnectionFailureException.html">URLConnectionFailureException</a>(<span class="jxr_string">"Error getting connection."</span>, ioe);
<a class="jxr_linenumber" name="L178" href="#L178">178</a> }
<a class="jxr_linenumber" name="L179" href="#L179">179</a> configureTLS(url, conn);
<a class="jxr_linenumber" name="L180" href="#L180">180</a> <strong class="jxr_keyword">return</strong> conn;
<a class="jxr_linenumber" name="L181" href="#L181">181</a> }
<a class="jxr_linenumber" name="L182" href="#L182">182</a>
<a class="jxr_linenumber" name="L183" href="#L183">183</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L184" href="#L184">184</a> <em class="jxr_javadoccomment"> * If the protocol is HTTPS, this will configure the cipher suites so that</em>
<a class="jxr_linenumber" name="L185" href="#L185">185</a> <em class="jxr_javadoccomment"> * connections can be made to the NVD, and others, using older versions of</em>
<a class="jxr_linenumber" name="L186" href="#L186">186</a> <em class="jxr_javadoccomment"> * Java.</em>
<a class="jxr_linenumber" name="L187" href="#L187">187</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L188" href="#L188">188</a> <em class="jxr_javadoccomment"> * @param url the URL</em>
<a class="jxr_linenumber" name="L189" href="#L189">189</a> <em class="jxr_javadoccomment"> * @param conn the connection</em>
<a class="jxr_linenumber" name="L190" href="#L190">190</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L191" href="#L191">191</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> configureTLS(URL url, HttpURLConnection conn) {
<a class="jxr_linenumber" name="L192" href="#L192">192</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"https"</span>.equals(url.getProtocol())) {
<a class="jxr_linenumber" name="L193" href="#L193">193</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L194" href="#L194">194</a> <strong class="jxr_keyword">final</strong> HttpsURLConnection secCon = (HttpsURLConnection) conn;
<a class="jxr_linenumber" name="L195" href="#L195">195</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html">SSLSocketFactoryEx</a> factory = <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html">SSLSocketFactoryEx</a>();
<a class="jxr_linenumber" name="L196" href="#L196">196</a> secCon.setSSLSocketFactory(factory);
<a class="jxr_linenumber" name="L197" href="#L197">197</a> } <strong class="jxr_keyword">catch</strong> (NoSuchAlgorithmException ex) {
<a class="jxr_linenumber" name="L198" href="#L198">198</a> LOGGER.debug(<span class="jxr_string">"Unsupported algorithm in SSLSocketFactoryEx"</span>, ex);
<a class="jxr_linenumber" name="L199" href="#L199">199</a> } <strong class="jxr_keyword">catch</strong> (KeyManagementException ex) {
<a class="jxr_linenumber" name="L200" href="#L200">200</a> LOGGER.debug(<span class="jxr_string">"Key mnagement eception in SSLSocketFactoryEx"</span>, ex);
<a class="jxr_linenumber" name="L201" href="#L201">201</a> }
<a class="jxr_linenumber" name="L202" href="#L202">202</a> }
<a class="jxr_linenumber" name="L203" href="#L203">203</a> }
<a class="jxr_linenumber" name="L204" href="#L204">204</a> }
<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">import</strong> java.net.URLConnection;
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">import</strong> java.security.KeyManagementException;
<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">import</strong> java.security.NoSuchAlgorithmException;
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">import</strong> javax.net.ssl.HttpsURLConnection;
<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>
<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> * A URLConnection Factory to create new connections. This encapsulates several</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * configuration checks to ensure that the connection uses the correct proxy</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> * settings.</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * @author Jeremy Long</em>
<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/URLConnectionFactory.html">URLConnectionFactory</a> {
<a class="jxr_linenumber" name="L46" href="#L46">46</a>
<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a> <em class="jxr_javadoccomment"> * The logger.</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOGGER = LoggerFactory.getLogger(URLConnectionFactory.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L51" href="#L51">51</a>
<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> * Private constructor for this factory.</em>
<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/owasp/dependencycheck/utils/URLConnectionFactory.html">URLConnectionFactory</a>() {
<a class="jxr_linenumber" name="L56" href="#L56">56</a> }
<a class="jxr_linenumber" name="L57" href="#L57">57</a>
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * Utility method to create an HttpURLConnection. If the application is</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * configured to use a proxy this method will retrieve the proxy settings</em>
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> * and use them when setting up the connection.</em>
<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment"> * @param url the url to connect to</em>
<a class="jxr_linenumber" name="L64" href="#L64">64</a> <em class="jxr_javadoccomment"> * @return an HttpURLConnection</em>
<a class="jxr_linenumber" name="L65" href="#L65">65</a> <em class="jxr_javadoccomment"> * @throws URLConnectionFailureException thrown if there is an exception</em>
<a class="jxr_linenumber" name="L66" href="#L66">66</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L67" href="#L67">67</a> @SuppressFBWarnings(value = <span class="jxr_string">"RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"</span>, justification = <span class="jxr_string">"Just being extra safe"</span>)
<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> HttpURLConnection createHttpURLConnection(URL url) <strong class="jxr_keyword">throws</strong> URLConnectionFailureException {
<a class="jxr_linenumber" name="L69" href="#L69">69</a> HttpURLConnection conn = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">final</strong> String proxyUrl = Settings.getString(Settings.KEYS.PROXY_SERVER);
<a class="jxr_linenumber" name="L71" href="#L71">71</a>
<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">if</strong> (proxyUrl != <strong class="jxr_keyword">null</strong> &amp;&amp; !matchNonProxy(url)) {
<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);
<a class="jxr_linenumber" name="L75" href="#L75">75</a> <strong class="jxr_keyword">final</strong> SocketAddress address = <strong class="jxr_keyword">new</strong> InetSocketAddress(proxyUrl, proxyPort);
<a class="jxr_linenumber" name="L76" href="#L76">76</a>
<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">final</strong> String username = Settings.getString(Settings.KEYS.PROXY_USERNAME);
<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">final</strong> String password = Settings.getString(Settings.KEYS.PROXY_PASSWORD);
<a class="jxr_linenumber" name="L79" href="#L79">79</a>
<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">if</strong> (username != <strong class="jxr_keyword">null</strong> &amp;&amp; password != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">final</strong> Authenticator auth = <strong class="jxr_keyword">new</strong> Authenticator() {
<a class="jxr_linenumber" name="L82" href="#L82">82</a> @Override
<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">public</strong> PasswordAuthentication getPasswordAuthentication() {
<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">if</strong> (getRequestorType().equals(Authenticator.RequestorType.PROXY)) {
<a class="jxr_linenumber" name="L85" href="#L85">85</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> PasswordAuthentication(username, password.toCharArray());
<a class="jxr_linenumber" name="L86" href="#L86">86</a> }
<a class="jxr_linenumber" name="L87" href="#L87">87</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.getPasswordAuthentication();
<a class="jxr_linenumber" name="L88" href="#L88">88</a> }
<a class="jxr_linenumber" name="L89" href="#L89">89</a> };
<a class="jxr_linenumber" name="L90" href="#L90">90</a> Authenticator.setDefault(auth);
<a class="jxr_linenumber" name="L91" href="#L91">91</a> }
<a class="jxr_linenumber" name="L92" href="#L92">92</a>
<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">final</strong> Proxy proxy = <strong class="jxr_keyword">new</strong> Proxy(Proxy.Type.HTTP, address);
<a class="jxr_linenumber" name="L94" href="#L94">94</a> conn = (HttpURLConnection) url.openConnection(proxy);
<a class="jxr_linenumber" name="L95" href="#L95">95</a> } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L96" href="#L96">96</a> conn = (HttpURLConnection) url.openConnection();
<a class="jxr_linenumber" name="L97" href="#L97">97</a> }
<a class="jxr_linenumber" name="L98" href="#L98">98</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 10000);
<a class="jxr_linenumber" name="L99" href="#L99">99</a> conn.setConnectTimeout(timeout);
<a class="jxr_linenumber" name="L100" href="#L100">100</a> conn.setInstanceFollowRedirects(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L101" href="#L101">101</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">if</strong> (conn != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L103" href="#L103">103</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L104" href="#L104">104</a> conn.disconnect();
<a class="jxr_linenumber" name="L105" href="#L105">105</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L106" href="#L106">106</a> conn = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L107" href="#L107">107</a> }
<a class="jxr_linenumber" name="L108" href="#L108">108</a> }
<a class="jxr_linenumber" name="L109" href="#L109">109</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/URLConnectionFailureException.html">URLConnectionFailureException</a>(<span class="jxr_string">"Error getting connection."</span>, ex);
<a class="jxr_linenumber" name="L110" href="#L110">110</a> }
<a class="jxr_linenumber" name="L111" href="#L111">111</a> configureTLS(url, conn);
<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">return</strong> conn;
<a class="jxr_linenumber" name="L113" href="#L113">113</a> }
<a class="jxr_linenumber" name="L114" href="#L114">114</a>
<a class="jxr_linenumber" name="L115" href="#L115">115</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L116" href="#L116">116</a> <em class="jxr_javadoccomment"> * Check if hostname matches nonProxy settings</em>
<a class="jxr_linenumber" name="L117" href="#L117">117</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L118" href="#L118">118</a> <em class="jxr_javadoccomment"> * @param url the url to connect to</em>
<a class="jxr_linenumber" name="L119" href="#L119">119</a> <em class="jxr_javadoccomment"> * @return matching result. true: match nonProxy</em>
<a class="jxr_linenumber" name="L120" href="#L120">120</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> matchNonProxy(<strong class="jxr_keyword">final</strong> URL url) {
<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">final</strong> String host = url.getHost();
<a class="jxr_linenumber" name="L123" href="#L123">123</a>
<a class="jxr_linenumber" name="L124" href="#L124">124</a> <em class="jxr_comment">// code partially from org.apache.maven.plugins.site.AbstractDeployMojo#getProxyInfo</em>
<a class="jxr_linenumber" name="L125" href="#L125">125</a> <strong class="jxr_keyword">final</strong> String nonProxyHosts = Settings.getString(Settings.KEYS.PROXY_NON_PROXY_HOSTS);
<a class="jxr_linenumber" name="L126" href="#L126">126</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">null</strong> != nonProxyHosts) {
<a class="jxr_linenumber" name="L127" href="#L127">127</a> <strong class="jxr_keyword">final</strong> String[] nonProxies = nonProxyHosts.split(<span class="jxr_string">"(,)|(;)|(&#92;&#92;|)"</span>);
<a class="jxr_linenumber" name="L128" href="#L128">128</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> String nonProxyHost : nonProxies) {
<a class="jxr_linenumber" name="L129" href="#L129">129</a> <em class="jxr_comment">//if ( StringUtils.contains( nonProxyHost, "*" ) )</em>
<a class="jxr_linenumber" name="L130" href="#L130">130</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">null</strong> != nonProxyHost &amp;&amp; nonProxyHost.contains(<span class="jxr_string">"*"</span>)) {
<a class="jxr_linenumber" name="L131" href="#L131">131</a> <em class="jxr_comment">// Handle wildcard at the end, beginning or middle of the nonProxyHost</em>
<a class="jxr_linenumber" name="L132" href="#L132">132</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> pos = nonProxyHost.indexOf('*');
<a class="jxr_linenumber" name="L133" href="#L133">133</a> <strong class="jxr_keyword">final</strong> String nonProxyHostPrefix = nonProxyHost.substring(0, pos);
<a class="jxr_linenumber" name="L134" href="#L134">134</a> <strong class="jxr_keyword">final</strong> String nonProxyHostSuffix = nonProxyHost.substring(pos + 1);
<a class="jxr_linenumber" name="L135" href="#L135">135</a> <em class="jxr_comment">// prefix*</em>
<a class="jxr_linenumber" name="L136" href="#L136">136</a> <strong class="jxr_keyword">if</strong> (!StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; host.startsWith(nonProxyHostPrefix) &amp;&amp; StringUtils.isEmpty(nonProxyHostSuffix)) {
<a class="jxr_linenumber" name="L137" href="#L137">137</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L138" href="#L138">138</a> }
<a class="jxr_linenumber" name="L139" href="#L139">139</a> <em class="jxr_comment">// *suffix</em>
<a class="jxr_linenumber" name="L140" href="#L140">140</a> <strong class="jxr_keyword">if</strong> (StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; !StringUtils.isEmpty(nonProxyHostSuffix) &amp;&amp; host.endsWith(nonProxyHostSuffix)) {
<a class="jxr_linenumber" name="L141" href="#L141">141</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L142" href="#L142">142</a> }
<a class="jxr_linenumber" name="L143" href="#L143">143</a> <em class="jxr_comment">// prefix*suffix</em>
<a class="jxr_linenumber" name="L144" href="#L144">144</a> <strong class="jxr_keyword">if</strong> (!StringUtils.isEmpty(nonProxyHostPrefix) &amp;&amp; host.startsWith(nonProxyHostPrefix) &amp;&amp; !StringUtils.isEmpty(nonProxyHostSuffix)
<a class="jxr_linenumber" name="L145" href="#L145">145</a> &amp;&amp; host.endsWith(nonProxyHostSuffix)) {
<a class="jxr_linenumber" name="L146" href="#L146">146</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L147" href="#L147">147</a> }
<a class="jxr_linenumber" name="L148" href="#L148">148</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (host.equals(nonProxyHost)) {
<a class="jxr_linenumber" name="L149" href="#L149">149</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L150" href="#L150">150</a> }
<a class="jxr_linenumber" name="L151" href="#L151">151</a> }
<a class="jxr_linenumber" name="L152" href="#L152">152</a> }
<a class="jxr_linenumber" name="L153" href="#L153">153</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L154" href="#L154">154</a> }
<a class="jxr_linenumber" name="L155" href="#L155">155</a>
<a class="jxr_linenumber" name="L156" href="#L156">156</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L157" href="#L157">157</a> <em class="jxr_javadoccomment"> * Utility method to create an HttpURLConnection. The use of a proxy here is</em>
<a class="jxr_linenumber" name="L158" href="#L158">158</a> <em class="jxr_javadoccomment"> * optional as there may be cases where a proxy is configured but we don't</em>
<a class="jxr_linenumber" name="L159" href="#L159">159</a> <em class="jxr_javadoccomment"> * want to use it (for example, if there's an internal repository</em>
<a class="jxr_linenumber" name="L160" href="#L160">160</a> <em class="jxr_javadoccomment"> * configured)</em>
<a class="jxr_linenumber" name="L161" href="#L161">161</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L162" href="#L162">162</a> <em class="jxr_javadoccomment"> * @param url the URL to connect to</em>
<a class="jxr_linenumber" name="L163" href="#L163">163</a> <em class="jxr_javadoccomment"> * @param proxy whether to use the proxy (if configured)</em>
<a class="jxr_linenumber" name="L164" href="#L164">164</a> <em class="jxr_javadoccomment"> * @return a newly constructed HttpURLConnection</em>
<a class="jxr_linenumber" name="L165" href="#L165">165</a> <em class="jxr_javadoccomment"> * @throws URLConnectionFailureException thrown if there is an exception</em>
<a class="jxr_linenumber" name="L166" href="#L166">166</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L167" href="#L167">167</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> HttpURLConnection createHttpURLConnection(URL url, <strong class="jxr_keyword">boolean</strong> proxy) <strong class="jxr_keyword">throws</strong> URLConnectionFailureException {
<a class="jxr_linenumber" name="L168" href="#L168">168</a> <strong class="jxr_keyword">if</strong> (proxy) {
<a class="jxr_linenumber" name="L169" href="#L169">169</a> <strong class="jxr_keyword">return</strong> createHttpURLConnection(url);
<a class="jxr_linenumber" name="L170" href="#L170">170</a> }
<a class="jxr_linenumber" name="L171" href="#L171">171</a> HttpURLConnection conn = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L172" href="#L172">172</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L173" href="#L173">173</a> conn = (HttpURLConnection) url.openConnection();
<a class="jxr_linenumber" name="L174" href="#L174">174</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 10000);
<a class="jxr_linenumber" name="L175" href="#L175">175</a> conn.setConnectTimeout(timeout);
<a class="jxr_linenumber" name="L176" href="#L176">176</a> conn.setInstanceFollowRedirects(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L177" href="#L177">177</a> } <strong class="jxr_keyword">catch</strong> (IOException ioe) {
<a class="jxr_linenumber" name="L178" href="#L178">178</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/URLConnectionFailureException.html">URLConnectionFailureException</a>(<span class="jxr_string">"Error getting connection."</span>, ioe);
<a class="jxr_linenumber" name="L179" href="#L179">179</a> }
<a class="jxr_linenumber" name="L180" href="#L180">180</a> configureTLS(url, conn);
<a class="jxr_linenumber" name="L181" href="#L181">181</a> <strong class="jxr_keyword">return</strong> conn;
<a class="jxr_linenumber" name="L182" href="#L182">182</a> }
<a class="jxr_linenumber" name="L183" href="#L183">183</a>
<a class="jxr_linenumber" name="L184" href="#L184">184</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L185" href="#L185">185</a> <em class="jxr_javadoccomment"> * If the protocol is HTTPS, this will configure the cipher suites so that</em>
<a class="jxr_linenumber" name="L186" href="#L186">186</a> <em class="jxr_javadoccomment"> * connections can be made to the NVD, and others, using older versions of</em>
<a class="jxr_linenumber" name="L187" href="#L187">187</a> <em class="jxr_javadoccomment"> * Java.</em>
<a class="jxr_linenumber" name="L188" href="#L188">188</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L189" href="#L189">189</a> <em class="jxr_javadoccomment"> * @param url the URL</em>
<a class="jxr_linenumber" name="L190" href="#L190">190</a> <em class="jxr_javadoccomment"> * @param conn the connection</em>
<a class="jxr_linenumber" name="L191" href="#L191">191</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L192" href="#L192">192</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> configureTLS(URL url, URLConnection conn) {
<a class="jxr_linenumber" name="L193" href="#L193">193</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"https"</span>.equals(url.getProtocol())) {
<a class="jxr_linenumber" name="L194" href="#L194">194</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L195" href="#L195">195</a> <strong class="jxr_keyword">final</strong> HttpsURLConnection secCon = (HttpsURLConnection) conn;
<a class="jxr_linenumber" name="L196" href="#L196">196</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html">SSLSocketFactoryEx</a> factory = <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/SSLSocketFactoryEx.html">SSLSocketFactoryEx</a>();
<a class="jxr_linenumber" name="L197" href="#L197">197</a> secCon.setSSLSocketFactory(factory);
<a class="jxr_linenumber" name="L198" href="#L198">198</a> } <strong class="jxr_keyword">catch</strong> (NoSuchAlgorithmException ex) {
<a class="jxr_linenumber" name="L199" href="#L199">199</a> LOGGER.debug(<span class="jxr_string">"Unsupported algorithm in SSLSocketFactoryEx"</span>, ex);
<a class="jxr_linenumber" name="L200" href="#L200">200</a> } <strong class="jxr_keyword">catch</strong> (KeyManagementException ex) {
<a class="jxr_linenumber" name="L201" href="#L201">201</a> LOGGER.debug(<span class="jxr_string">"Key mnagement eception in SSLSocketFactoryEx"</span>, ex);
<a class="jxr_linenumber" name="L202" href="#L202">202</a> }
<a class="jxr_linenumber" name="L203" href="#L203">203</a> }
<a class="jxr_linenumber" name="L204" href="#L204">204</a> }
<a class="jxr_linenumber" name="L205" href="#L205">205</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>

View File

@@ -3,7 +3,7 @@
<html xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference Package org.owasp.dependencycheck.utils</title>
<title>Dependency-Check Utils 1.4.3 Reference Package org.owasp.dependencycheck.utils</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
</head>
<body>

View File

@@ -3,7 +3,7 @@
<html xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference Package org.owasp.dependencycheck.utils</title>
<title>Dependency-Check Utils 1.4.3 Reference Package org.owasp.dependencycheck.utils</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
</head>
<body>

View File

@@ -3,7 +3,7 @@
<html xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference</title>
<title>Dependency-Check Utils 1.4.3 Reference</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
</head>
<body>

View File

@@ -3,7 +3,7 @@
<html xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Dependency-Check Utils 1.4.2 Reference</title>
<title>Dependency-Check Utils 1.4.3 Reference</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
</head>
<body>
@@ -24,7 +24,7 @@
</ul>
</div>
<h2>Dependency-Check Utils 1.4.2 Reference</h2>
<h2>Dependency-Check Utils 1.4.3 Reference</h2>
<table class="summary">
<thead>